4.現在アクティブなコントロール及び直前アクティブだったコントロールを取得 |
1.現在アクティブなコントロール及び直前アクティブだったコントロールを取得 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:追加なし 使用 API:なし その他 : : |
1.現在アクティブなコントロール及び直前アクティブだったコントロールを取得 |
Option Explicit 'SampleNo:003 2002.04.16 Private OldActive As String Private Sub Command2_Click() Timer1.Interval = 100 End Sub Private Sub Form_Click() Dim strComment As String If Screen.ActiveControl.Name = OldActive Then Exit Sub End If Label2.Caption = "直前アクティブなコントロールは[" & OldActive & "]です。" strComment = " コントロールがアクティブです" Select Case TypeOf Screen.ActiveControl Is Object 'テキストボックスがアクティブ Case TypeOf Screen.ActiveControl Is TextBox Label1.Caption = Screen.ActiveControl.Text & strComment 'リストボックスがアクティブ Case TypeOf Screen.ActiveControl Is ListBox Label1.Caption = Screen.ActiveControl.Name & strComment 'コマンドボタンがアクティブ Case TypeOf Screen.ActiveControl Is CommandButton Label1.Caption = Screen.ActiveControl.Caption & strComment 'その他のコントロールがアクティブ Case Else Label1.Caption = Screen.ActiveControl.Name & "がアクティブです" End Select OldActive = Screen.ActiveControl.Name End Sub Private Sub Timer1_Timer() Dim strComment As String If Screen.ActiveControl.Name = OldActive Then Exit Sub End If Label2.Caption = "直前アクティブなコントロールは[" & OldActive & "]です。" strComment = " コントロールがアクティブです" Select Case TypeOf Screen.ActiveControl Is Object 'テキストボックスがアクティブ Case TypeOf Screen.ActiveControl Is TextBox Label1.Caption = Screen.ActiveControl.Text & strComment 'リストボックスがアクティブ Case TypeOf Screen.ActiveControl Is ListBox Label1.Caption = Screen.ActiveControl.Name & strComment 'コマンドボタンがアクティブ Case TypeOf Screen.ActiveControl Is CommandButton Label1.Caption = Screen.ActiveControl.Caption & strComment 'その他のコントロールがアクティブ Case Else Label1.Caption = Screen.ActiveControl.Name & "がアクティブです" End Select OldActive = Screen.ActiveControl.Name End Sub コントロールの配置図及び実行図 タブ移動だけでなく、マウスのクリックによるフォーカス移動にも対応しております。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
現在アクティブなコントロールを取得 直前アクティブだったコントロールを取得する |