投稿日 | : 2003/04/10(Thu) 23:12 |
投稿者 | : peta |
Eメール | : |
URL | : |
タイトル | : Re^8: コモンダイアログの表示 |
> WinXPでは構造が違うので[表示メニュー]をクリックしてから[詳細]を
> 選ぶようになっていますので[表示メニュー]のクラス名に変更すれば
> 詳細メニューのIDは取得できたのですが、今度は[表示メニュー]を開ける
> 事ができません。
コードからメニューを実行する場合、メニューを開く必要ありません。
メニュー項目のID(MenuID)が判れば可能と思います。
Call SendMessage(hwnd, WM_COMMAND, MenuID, ByVal 0&)
ただ、WM_COMMANDをどのウィンドウ(hwnd)に送るか調べる必要がありますが、
多分、hDlg でしょう。
以下で確認できると思います。
(1)前に載せたボタンID取得コードの一部を下記と差し替える。
' ------- ここから、追加 -------
Case WM_COMMAND
If (cwp.lParam = 0) Then
Debug.Print "MenuID = &H" & Hex(cwp.wParam And &HFFFF&)
Debug.Print "hwnd = " & cwp.hwnd, hDlg
End If
' ------- ここまで、追加 -------
(1)メニューを開いて、詳細項目を選択して、そのIDとhwndを確認。