Главная страница
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.012 c
6-9949
Doom
2002-04-22 00:28
2002.07.04
Добавить к имени файла адрес машины


1-9865
BlackSun
2002-06-21 18:01
2002.07.04
Как прибить процесс по имени запускаемого файла.


14-10014
Igorek
2002-06-05 01:45
2002.07.04
На странице ошибка


3-9710
PTE
2002-06-07 20:24
2002.07.04
Подскажите что надо сделать, что бы при коннекте к базе


6-9960
konrads
2002-04-22 13:35
2002.07.04
Сетевой трафик, в принципе возможно или нет контролировать его