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

Вниз

Как узнать какой кнопкой вызвана DropDownMenu?   Найти похожие ветки 

 
Zelius ©   (2003-02-28 14:21) [0]

Хочу сделать одно DropdownMenu для нескольких кнопок Toolbar"а! Но как узнать какой кнопкой меню показано?


 
han_malign ©   (2003-02-28 15:12) [1]

Какой-какой - вот такой [v]
З.Ы. Ну можно конечно поставить Web-камеру, написать программу которая будет отслеживать на какую кнопку ты смотришь... А еще можно разработать устройство читающее мысли...


 
Юрий Зотов ©   (2003-02-28 23:33) [2]

PopupComponent.


 
Zelius ©   (2003-03-01 13:58) [3]

В качестве PopupComponent выступает Toolbar, которому принадлежат кнопки! Я это пробовал...


 
Набережных С.   (2003-03-01 21:56) [4]


FOld:=ToolBar1.WindowProc;
ToolBar1.WindowProc:=MyWndPrc;

procedure TForm1.N11Click(Sender: TObject);
begin
ShowMessage("Click: "+ToolBar1.Buttons[PopupMenu1.Tag].Name);
end;

procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
ShowMessage("Popup: "+ToolBar1.Buttons[PopupMenu1.Tag].Name);
end;

procedure TForm1.MyWndPrc(var Message: TMessage);
begin
if Message.Msg = WM_NOTIFY then with PNMToolBar(Message.LParam)^ do
if hdr.code = TBN_DROPDOWN then PopupMenu1.Tag:=iItem;
if Assigned(FOld) then FOld(Message);
end;


А надо ли это?


 
Zelius ©   (2003-03-02 16:41) [5]

Не, в таком варианте не надо :) Спасибо за ответ!


 
Юрий Зотов ©   (2003-03-03 08:56) [6]

Попробуйте Toolbar.ControlAtPos в обработчике Menu.OnPopup.


 
Леван   (2003-03-03 10:17) [7]

можно так:

Можно установить для кнопок Tag:=1,2,3....
и в обработчике проверятть sender.tag





 
Zelius ©   (2003-03-03 11:21) [8]

Леван
Не прокатит, в качестве сендера будет TMenuItem.

Ладно, можно прожить и без этого :)


 
Набережных С.   (2003-03-03 15:11) [9]

Zelius © (03.03.03 11:21)

Не, ну можно подправить в ComCtrls строку
FTempMenu.PopupComponent := Self
на
FTempMenu.PopupComponent := Button.

При желании. Вообще это похоже на ошибку. Просмотрел исходники и никаких причин писать здесь Self не обнаружил. Хотя...
Можно просто скопировать этот модуль в папку проекта и в нем подправить. От греха...:)


 
Zelius ©   (2003-03-03 17:10) [10]

Это конечно можно, но потом можно натерпеться проблем! :)



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
14-39477
AlexandrRya
2003-02-06 22:24
2003.03.13
Упаковщики EXE


14-39488
DK
2003-02-24 20:40
2003.03.13
Компоненты


3-39237
{{{KOTOS}}}
2003-02-24 09:21
2003.03.13
МАСТЕРА ПОМОГИТЕ разобраться в ошибке


1-39333
Yozch_
2003-02-28 23:42
2003.03.13
текущая дира


1-39346
Ihtiandr
2003-02-28 10:36
2003.03.13
BooleanToStr