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

Вниз

Помогите пожайлуста с проблемкой   Найти похожие ветки 

 
jen_bond   (2002-06-23 01:06) [0]

Как можно узнать номер компонента с которого был вызван PopupMenu(есть 10 кнопок и к ним прекреплен один PopupMenu)!!!!


 
VID ©   (2002-06-23 01:18) [1]

Что есть вызов PopUp ? Нажатие правой кнопки крысы на объекте.
Обработаем это дело:
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
IF Button = mbRight then ShowMessage(IntToStr(TButton(Sender).ComponentIndex));
end;

А теперь у всех остальных "баттонов", в object inspector в качестве обработчка onMouseDown укажи Button1MouseDown.

Всё.


 
jen_bond   (2002-06-23 01:26) [2]

Спасибо!
А возможно ли что бы не сразу при нажатии правой клавиши выдавалось сообщение, а при выборе в меню(PopupMenu) какого-нибудь понкта???


 
VID ©   (2002-06-23 01:31) [3]

Да.

Var: LastBtnInd:Integer=-1; //Глоб переменная

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
IF Button = mbRight then LastBtnInd:= TButton(Sender).ComponentIndex;
end;

а при выборе какого-нить пункта контексного меню пишешь :
ShowMessage(IntToStr(LastBtnInd));


 
Anatoly Podgoretsky ©   (2002-06-23 01:46) [4]

.PopupComponent


 
jen_bond   (2002-06-23 01:55) [5]

А немножко поподробнее!!!

Заранее спасибо!!!


 
VID ©   (2002-06-23 01:55) [6]

что существенно сэкономин оперативную память, и улучшит читаемость кода ! ;)


 
Юрий Зотов ©   (2002-06-23 07:22) [7]

> VID
Зачем такие страшные навороты? Cущественно гробящие оперативную память и ухудшающие читаемость кода.

> jen_bond
У TPopupMenu есть свойство - PopupComponent. Оно как раз и указывает на тот компонент, при клике по которому правой кнопкой было вызвано это меню (см. справку). Его и используйте. И не надо ничего другого.


 
VID ©   (2002-06-23 11:56) [8]

to Юрий Зотов: я не знал про popupcomponent. Теперь знаю.



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
1-9789
Sniffer
2002-06-15 17:24
2002.07.04
Как свернуть програмно окно зная его Handle?


1-9784
valerchik
2002-06-20 00:48
2002.07.04
Как скопировать файл...


1-9892
Blast
2002-06-22 09:18
2002.07.04
Создание меню в Run-Time


3-9764
onix
2002-06-13 11:13
2002.07.04
Translate error.Value out of bounds. What is this?


1-9791
Blacgrin
2002-06-23 22:55
2002.07.04
переменые+процедры