![]() |
Sender des PopupMenu ermitteln
Hallo,
ich habe auf einem Formular viele TLabel und lege sie deshalb zur Laufzeit dynamisch an. Deklariert sind sie als (festes) Array und den Labels wird ein gemeinsames Popup zugewiesen. Über das Popup sollen die Einträge geändert werden. Das ganze sieht etwa so aus:
Delphi-Quellcode:
Ich bekomme jetzt immer 'Mist' zu sehen. Ich klicke natürlich auf die ersten 10. Auch das hier bringt nichts:
Type
TForm1 = Class(TForm) PopupMenu1 : TPopupMenu; Aendern1 : TMenuItem; Procedure Aendern1Click(Sender: TObject); Private Namen : Array [00..99] Of TLabel; End; Var Form1 : TForm1; ... Procedure TForm1.FormCreate(Sender: TObject); Var I,Hoehe : Integer; Begin // Hauptfenster aufbauen For I:=00 To 99 Do Begin Hoehe:= I*24+8; Namen[I]:= TLabel.Create(self); Namen[I].Parent:= Form1; Namen[I].Left:= 8; Namen[I].Top:= Hoehe; Namen[I].Width:= 138; Namen[I].Height:= 16; Namen[I].AutoSize:= False; Namen[I].Caption:= NullName; Namen[I].PopupMenu:= PopUpMenu1; End; End; Procedure TForm1.Aendern1Click(Sender: TObject); Var I : Integer; Begin I:=-1; If Sender=Namen[00] Then I:=00; If Sender=Namen[01] Then I:=01; If Sender=Namen[02] Then I:=02; If Sender=Namen[03] Then I:=03; If Sender=Namen[04] Then I:=04; If Sender=Namen[05] Then I:=05; If Sender=Namen[06] Then I:=06; If Sender=Namen[07] Then I:=07; If Sender=Namen[08] Then I:=08; If Sender=Namen[09] Then I:=09; If I=-1 Then Begin Application.MessageBox('Mist','Mist',0); Exit; End; End; End.
Delphi-Quellcode:
Wie komme ich an den Sender ran?
Procedure TForm1.Aendern1Click(Sender: TObject);
Var I : Integer; Begin For I:=00 To 99 Do If Sender=Namen[I] Then Application.MessageBox(PAnsiChar('Nummer '+IntToStr(I)),'Gefunden',0); End; Gruß, Alex |
Re: Sender des PopupMenu ermitteln
Steht das was Du suchst nicht in PopupComponent?
|
Re: Sender des PopupMenu ermitteln
Zitat:
Gruß, Alex |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz