Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.01;
Скачать: CL | DM;

Вниз

Инструментальная панель   Найти похожие ветки 

 
irq   (2003-06-27 11:26) [0]

Здравствуйте! Как нажать кнопку на инструментальной панели с помощью SendMessage? Известен дескриптор инструментальной панели, дескриптор владельца инструментальной панели и индекс кнопки. Спасибо


 
Ян   (2003-06-30 09:56) [1]

var Point:Tpoint;
( HTB,WM_LBUTTONDOWN,MK_LBUTTON,longint(@Point) var Point:Tpoint;
Rect:Trect;
begin
sendmessage(HTB,WM_LBUTTONDOWN,MK_LBUTTON,longint(@Point));
sendmessage(HTB,WM_LBUTTONup,0,longint(@Point));
//Point-координата в пределах нужной кнопки относительно тулбара
координаты кнопки можно вычислить через
sendmessage(HTB,TB_GETITEMRECT,Ibut,longint(@Rect));
HTB-хэндл тулбара, Ibut-индекс кнопки, но работает почему-то
только для своего окна. Для других Rect вычисляться упорно
не хочет.


 
irq   (2003-06-30 10:50) [2]

Спасибо за ответ. Проблема с ToolBar"ом на сегодняшний момент решена. Таким же способом, что Вы предложили. Думаю, что структура rect заполняется ерундой, по той причине, что данные запрашиваются из адресного пространства другого процесса. Я передаю координаты, напрямую указывая их (напрммер, (10, 10) - это 0 кнопка). Некрасиво, но что поделать.

Сейчас передо мной стоит еще одна непростая задача - выполнить
действия, связанные с пунктом всплывающего меню (TPopUp в Delphi) в чужой программе. Известные данные - ShortKey этого пункта и его индекс. Как решить задачу? Спасибо.


 
Ян   (2003-06-30 13:25) [3]

нужно получить идентификатор нужного пункта меню
//------------- N-номер пункта ---
MnuID:=GetMenuItemID(MnuHandle,N);
MnuHandle - хэндл того подменю в котором этот пункт
//-------------
sendmessage(WinHandle,WM_COMMAND,makewparam(MnuID,0),0);

для всплывающего меню не проверял,но отличий от обычного
быть не должно
Как сделать через ShortKey - самому интересно, пока не получилось. Теоретически надо получить таблицу акселераторов,
а потом TranslateAccelerator но как?



Страницы: 1 вся ветка

Текущий архив: 2003.09.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-1667
cjiohobaji
2003-08-12 13:24
2003.09.01
TTimer


6-1527
-=GRAMILLA=-
2003-06-26 07:52
2003.09.01
WebBrowser & Memo


14-1576
Andryk
2003-08-11 17:11
2003.09.01
Я плакалъ :о)))))))))


14-1635
ZeroDivide
2003-08-13 08:03
2003.09.01
Что с форумом?


14-1608
Marser
2003-08-13 00:15
2003.09.01
Именинники 13 августа