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

投稿日: 2007/07/04(Wed) 11:48
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe^3: フォーム非アクティブ時操作。

http://support.microsoft.com/kb/168795/ja

のサンプルにおいて、WindowProc プロシージャ内の
 Debug.Print "Message: "; hw, uMsg, wParam, lParam
という行を削除して、かわりに下記のコードに差し替えてみてください。


Const WM_ACTIVATE As Long = 6
Const WA_INACTIVE As Long = 0
Const WA_ACTIVE As Long = 1
Const WA_CLICKACTIVE As Long = 2

If uMsg = WM_ACTIVATE Then
  Debug.Print "WM_ACTIVATE:";
  Select Case wParam
   Case WA_INACTIVE
    Debug.Print "WA_INACTIVE"
   Case WA_ACTIVE
    Debug.Print "WA_ACTIVE"
   Case WA_CLICKACTIVE
    Debug.Print "WA_CLICKACTIVE"
   Case Else
    Debug.Print wParam
  End Select
End If


これにより、フォームのアクティブ状態/非アクティブ状態を監視できるので、
 ・非アクティブになったら、ボタンを使用不可(Enabled=False)にする。
 ・アクティブになったら、ボタンを使用可能(Enabled=True)にする。
のように実装する……というのは如何でしょう。


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

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

- VBレスキュー(花ちゃん) - - Web Forum -