VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -