PopupMenu ? TObject *Sender
-
hallo
habe im Objektinspektor einer TTreeview ein PopupMenu zugewiesen.
Weiss einer wie ich an die Komponente "TreeView" komme dem das PopupMenu zugewiesen wurde ?
Das ganze muss aber dynamisch sein also der KomponentenName der TreeView darf nicht statisch in die Funktion geschrieben werden.void __fastcall TForm1::Popup_ladenClick(TObject *Sender) { TPopupMenu *M = (TPopupMenu*) Sender; //???????????????? TTreeView *TR = (TTreeView*) Sender; ?????????? }
-
Naja, schonmal mit der Eigenschaft Parent von TPopupmenu probiert?
-
gibt keine eigenschaft parent
-
hallo
leider nicht optimal (da das Formular durchsucht werden muss) aber was anderes konnte ich nicht erzeugen
wäre fein wenn jemand was effizienteres anbieten könnte.
void __fastcall TForm1::Popup_EintragAufClick(TObject *Sender) { TPopupMenu *PM = (TPopupMenu*) Sender; TComponent *T; T = Application->MainForm; int z = T->ComponentCount; for(int y=0; y < z; y++) { if(T->Components[y]->ClassNameIs("TTreeView")) { TTreeView *TT = (TTreeView*) T->Components[y]; if(TT->PopupMenu->Name == PM->GetParentComponent()->Name) { ShowMessage(TT->Name); break; } } } }
-
-
Danke akari.