Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

Как узнать какой кнопкой вызвана 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-39531
Ruf
2003-02-24 11:49
2003.03.13
установка TCP/IP


1-39257
_igorok
2003-03-03 16:15
2003.03.13
TStringGrid


14-39518
Gydrop
2003-02-25 23:07
2003.03.13
Значение ключа по умолчанию в реестре


1-39284
nester
2003-03-03 22:23
2003.03.13
Как сделать так, чтобы форма не отображалась в TaskBar


1-39376
Inquisitor
2003-03-02 21:14
2003.03.13
Закрыть программу при пререзагрузке/выключении компа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский