Вниз
Скачать: 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.008 c
1-9833
AMQ
2002-06-14 17:26
2002.07.04
JPEG in EXE


1-9780
greenrul
2002-06-23 17:28
2002.07.04
Как массив (строки) быстро заполнить элементами?


14-9990
Dark
2002-06-03 19:00
2002.07.04
Декомпиляция программы.


3-9702
serg_ss
2002-06-10 16:13
2002.07.04
Почему в IB SQL-запросе 10 - null = null


1-9878
BlackSun
2002-06-21 20:51
2002.07.04
Доступ к данным из dll




   Наверх