Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1085430926
LORDMAXX
2004-05-25 00:35
2004.06.20
Плз нелп, реляционная алгебра нужна.


9-1077522979
Pinochet
2004-02-23 10:56
2004.06.20
Быстродействие игры


1-1086342787
Ruslan
2004-06-04 13:53
2004.06.20
Не могу очистить TreeView.


9-1076674664
jab~
2004-02-13 15:17
2004.06.20
DelphiX - Рождение и смерть спрайтов.


1-1086542896
lena19
2004-06-06 21:28
2004.06.20
как получить из полного пути, имя вайла и его расширение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский