Достучаться до кнопок ToolBar по хэндлу
От: Дмитрий Баранов  
Дата: 09.12.02 12:59
Оценка:
Здравствуйте,

Итак (пишу по памяти, заранее простите).


Public Const WM_USER = &H400
Public const TB_DELETEBUTTON = WM_USER + 22
Public Const SW_HIDE = 0

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long




Дальше, в коде


' используется ToolBar из CommonControls 6.0

Call ShowWindow(ToolBar1.HWND, SW_HIDE) 
'это работает на ура, хэндл есть, все отлично

Dim res as long
res =  Sendmessage(ToolBar1.HWND, TB_DELETEBUTTON, 0, 0)

А вот это уже не работает, равно как и все прочие попытки (TB_GETBUTTON и т.п.) достучаться к КНОПКАМ тулбара через ВИнАпи — возвращают неудачу.


Как жить? Задача на самом деле примитивная — соорудить нечто вроде главного плавающего меню в CoolBar ala IE или Office, но вот что-то уж больно убогий интерфейс к этому ActiveX-контролу, без API никак.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.