Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
1-9782
Arsenik
2002-06-23 19:34
2002.07.04
Как извлечь иконки из файла (exe, dll)


1-9828
HitMan
2002-06-20 18:58
2002.07.04
Встроить в ячейку StringGrid другой объект


3-9722
vlv
2002-06-11 12:43
2002.07.04
Непонятная ошибка


14-9980
VID
2002-06-02 12:59
2002.07.04
Настройка параметров виртуальной памяти


14-10013
Феликс
2002-06-03 14:21
2002.07.04
Почему в форуме нет раздела




   Наверх