投稿日 | : 2002/08/23(Fri) 16:59 |
投稿者 | : MS |
URL | : |
タイトル | : Re: (再質問)アクティブなテキストボックスを取得する方法 |
> Re7:のサンプルを試させてもらったらなぜか Labelコントロールを貼り付けると
> Labelコントロールだけしか表示しません。
> Labelは hWnd プロパティを持っていないからでしょうか?
だと思います。
なので If myControl.hWnd = wParam Then でエラーになりますが、
On Error Resume Next なので If...Then の次も実行し、追加した
LabelがControlsコレクションの最終Itemなら、最後にそれを拾って
表示されるのだと思われます。
回避策は、例えば以下の様にする方法もあります。
Dim hWnd As Long
If nCode = HCBT_SETFOCUS Then
For Each myControl In myHookForm.Controls
Err.Clear
hWnd = myControl.hWnd
If (Err = 0) And (hWnd = wParam) Then
myHookForm.Caption = myControl.Name
myHookForm.Caption = myHookForm.Caption _
& "(" & myControl.Index & ")"
End If
Next
End If