Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c