Главная страница
    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.57 MB
Время: 0.039 c
14-39531
Ruf
2003-02-24 11:49
2003.03.13
установка TCP/IP


6-39440
kostik78ua
2003-01-24 09:47
2003.03.13
socket+ctBlocking


1-39298
DerMeister
2003-03-03 23:26
2003.03.13
Как узнать что комп собираеться перезагрузиться?


14-39554
Dunkan
2003-02-26 11:19
2003.03.13
нажатие нескольких клавиш...


3-39179
mib431
2003-02-20 23:31
2003.03.13
Что я не так делаю с ODBC?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский