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

Вниз

Sender   Найти похожие ветки 

 
bulanov   (2004-06-08 03:46) [0]

на форме несколько компонентов TShape.
у каждого из них в событии OnContextPopup прописано выпадение PopupMenu1:

procedure TFMain.Shape1ContextPopup(Sender: TObject; MousePos: TPoint;
 var Handled: Boolean);
begin
 PopupMenu1.Popup(Mouse.CursorPos.X,Mouse.CursorPos.Y);
end;

Вопрос: Как при выборе одного из выпадающих итемов PopupMenu1 узнать допустим имя компонента TShape над которым этот PopupMenu1 выпал.


 
KilkennyCat ©   (2004-06-08 03:48) [1]

У каждого TShape обозначить свойство Tag
Далее в обработчике
Case (Sender as TComponent).Tag of
 1 : //Шейп с тэгом 1
 2 : //Шейп с тэгом 2
 3 : //Шейп с тэгом 3
End;


 
KilkennyCat ©   (2004-06-08 03:51) [2]

Извините, не совсем въехал в вопрос, так вернее:

Var
 Nomer_Shape : byte;

....

procedure TFMain.Shape1ContextPopup(Sender: TObject; MousePos: Point; var Handled: Boolean);
begin
 Nomer_Shape := (Sender as TComponent).Tag;
 PopupMenu1.Popup(Mouse.CursorPos.X,Mouse.CursorPos.Y);
end;


 
bulanov   (2004-06-08 03:59) [3]

ну я понял, вы предлягаете объявить переменную, и в обработчике ContextPopup определять тэг.

мне нужно определять тэг в обработчике выбранного итема:

procedure TFMain.N1Click(Sender: TObject);
begin
 ???
end;

где N1:TMenuItem этого PopupMenu1


 
KilkennyCat ©   (2004-06-08 04:13) [4]

Это понятно, но Вы же хотели узнать, над каким Shapом было вызвано меню? Я это и ответил. Какая для Вас разница, когда определять тэг? Меню, однажды вскочившее, хозяина уже не поменяет. А вот для программы разница есть, ибо в обработчике кликов по итемам Sender уже небудет принадлежать Shape.

И вся обработка, в конечном итоге:
procedure TFMain.N1Click(Sender: TObject);
begin
if Nomer_Shape then...
end;


 
evvcom ©   (2004-06-08 08:26) [5]

Прописываешь в TFMain приватную переменную FShape: TShape; и в Shape1ContextPopup делаешь присвоение FShape := Sender;



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
4-1084476448
Druid
2004-05-13 23:27
2004.06.20
Работа с ресурсами файла


14-1086099699
YurikGL
2004-06-01 18:21
2004.06.20
Где бы про делфи почитать


1-1085933661
tamroF
2004-05-30 20:14
2004.06.20
Помажите: random в DLL


1-1086755177
Softal
2004-06-09 08:26
2004.06.20
Treeview


1-1086706407
red chief
2004-06-08 18:53
2004.06.20
Как поменять стиль шрифта?