Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
6. Mär 2007
Hallo,
nee, ist einfach, Du musst nur sicherstellen, das Deine Labels auch einen OnClick-Eventhandler besitzen.
Ist das nicht möglich, dann halt noch eine Abfrage hinzufügen:
if assigned(TLabel(aLabel).OnClick) then
TLabel(aLabel).OnClick(aLabel);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
6. Mär 2007
Hallo,
"eine Prozedur" bezieht sich auf dieses Thema "Ereignis-Name zur Laufzeit zuweisen". :angel2:
hmm, der Satz ist etwas falsch ausgedrückt:
Also kein LabelEnter-, LabelLeave-Eventhandler keine zusätzliche Variable, alles in einer Prozedur.
Also kein zusätzlicher Code im LabelEnter-, LabelLeave-Eventhandler, und keine zusätzliche Variable, die gesamte Ermittlung des Ereignis-Namens in...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
6. Mär 2007
Hallo,
Bei meinen Vorschlag ist es nicht erforderlich (siehe Beitrag #1) im PanelEnter/Mouseenter die entsprechenden Komponentennamen zu speichern und die Labels dann per FindComponent(AltKompName) jedesmal wieder neu zu suchen.
Warum erst das ActiveControl in PanelEnter merken, wenn man es direkt in FormKeyDown ermitteln kann?
Wobei es schon umständlich ist, das über den Namen zu...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
6. Mär 2007
Hallo,
Sender = Form, denn auslösendes Ereignis = FormKeyDown
ActiveControl = Panel, denn Pfeiltasten oder Tab setzen das jeweilige Panel activ
ActiveControl.Controls = Label, denn das Label ist einziges Control, also Index = 0
@Hansa: damit Dein Eichhörnchen nicht verhungert :Sciurus: :-D
//...
var aLabel : TControl;
//...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Lannes,
5. Mär 2007
Hallo Hansa,
immer noch mit den Panel-Labels beschäftigt? :wink:
ActiveControl könnte da helfen:
if Key = 13 then
if (assigned(ActiveControl)) and
(ActiveControl.ClassType = TPanel) then
showmessage('Label: '+ActiveControl.Controls.Name+#13#10+
' auf Panel: '+ActiveControl.Name);