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

投稿日: 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を確認。


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

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

- Web Forum -