ToolbarのdropdownMenuをコードで表示させるには?


ドロップドロップー  2009-06-28 15:40:20  No: 101860  IP: [192.*.*.*]

ToolbarのdropdownMenuをクリックなしで
コードから表示させることは可能でしょうか?

可能な場合はその方法をお教え下さい。
宜しくお願い致します。

編集 削除
ドロップドロップー  2009-08-13 22:53:46  No: 101861  IP: [192.*.*.*]

やはり不可能なのでしょうか・・・

編集 削除
GOD  2009-08-16 02:00:02  No: 101862  IP: [192.*.*.*]

他の方法があるかも知れないけど一応。
※サンプルにはtoolbarとコマンドボタンが必要です。

Option Explicit

Private Declare Function GetDlgItem Lib "user32" _
    (ByVal hDlg As Long, _
     ByVal nIDDlgItem As Long _
    ) As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hWnd As Long, _
     ByVal wMsg As Long, _
     ByVal wParam As Long, _
     ByVal lParam As Long _
    ) As Long

Private Sub Command1_Click()
    Dim hWnd As Long

    hWnd = GetDlgItem(Toolbar1.hWnd, 0)
    'ボタンサイズ、数が変更になるとxpos, yposが変わるのでうまく計算式で求めること。
    Call SendMessage(hWnd, &H201, 1, &HF0021)
    Call SendMessage(hWnd, &H202, 0, &HF0020)
End Sub

Private Sub Form_Load()
    Toolbar1.Buttons.Add , , "Test"
    Toolbar1.Buttons(1).Style = tbrDropdown
    Toolbar1.Buttons(1).ButtonMenus.Add , , 1
    Toolbar1.Buttons(1).ButtonMenus.Add , , 2
    Toolbar1.Buttons(1).ButtonMenus.Add , , 3
    Toolbar1.Buttons(1).ButtonMenus.Add , , 4
End Sub

編集 削除