§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 |