§1 人に使ってもらうソフトウェア VB6
 (3) スムースな入力作業(フォーカスの移動) 前へ 目次へ 次へ 

 電流の値を入力し、抵抗の値を入力しようとしたとき、マウスで抵抗入力領域(テキストボックス)をクリックする必要がある。データをキーボードから連続して入力する作業では、キーボードから手を離し、マウスに持ち替えることは作業効率が悪くなる。
 そこで、電流の値を入力してEnterキーを押すと、次の抵抗入力領域へカーソルが移動するようにする。また、抵抗の値を入力してEnterキーを押すと計算開始のボタンへカーソルが移動するようにする(ボタン内に点線で四角が表示される)。
 このように、Enterキーを押すたびに次のようにカーソルが移動するようにする。(図1-3-1参照)

Enterキーによるカーソルの流れ(移動順序)
  Text1 → Text2 → Command1 → Command3 → Text1 → …

図1-3-1

・プログラムリスト

Private Sub Text1_KeyPress(KeyAscii As Integer)  'Text1内でキーを押したとき実行される
    If KeyAscii = 13 Then    '押されたキーの文字コードが13(Enter)のとき
        Text2.SetFocus        'Text2にカーソルを移動する。
    End If
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer) 'Text2内でキーを押したとき実行される
    If KeyAscii = 13 Then    'KeyAsciiには押されたキーの文字コードが入っている。
        Command1.SetFocus
    End If
End Sub

Private Sub Command1_Click()
    Dim denryu As Double, teikou As Double, denatu As Double
    <<略>>
    denatu = denryu * teikou       '計算
    Label3.Caption = "電圧の値は、" & Str(denatu) & "[V]"   '結果表示
    Command3.SetFocus    '←追加
End Sub

Private Sub Command3_Click()
    Text1.Text = ""
    Text2.Text = ""
    Text1.SetFocus    '←追加
End Sub
=== ポイント ===
 わかりやすく説明するため、「カーソルを移動する」と書いたが、Windowsではこれを「フォーカスを移動する」という。
 オブジェクトにフォーカスを設定するには、SetFocusメソッドを実行する。
 フォーカスを移動させるプログラムを書く方法以外に、WindowではTabキーでフォーカスを移動させることができる。VBでは、各オブジェクトのTabIndexプロパティの数字の順にフォーカスが移動する。これは、フォーム(Form)にオブジェクトを配置した順になるが、変更することもできる。また、TabStopプロパティをFalseにすると数字に関係なくTabキーでフォーカスが移動してこない。
 メソッドはオブジェクトに対する処理(命令)である。プロパティはオブジェクトに対するデータである。


 (3) スムースな入力作業(フォーカスの移動) 前へ 目次へ 次へ 
Copyright © 2001,2002 Hiroshi Masuda 

 

 

inserted by FC2 system