Hi,
die Frage hat hiermit was zu tun :
http://www.delphipraxis.net/internal...955d5395de32b4
Es geht um ein Panel und ein Label darauf. Nun kommt hinzu, dass bei Drücken von Enter etwas gemacht werden muss. Und zwar, sofern das Label oder das entsprechende Panel den Focus hat. Leider hat das Label kein KeyPress usw. und das Panel hat kein MouseEnter usw. Ich habe deshalb (vorläufig) den Weg gewählt, im PanelEnter/Mouseenter die entsprechhenden Komponentennamen zu speichern und das FormKeyDown auszuwerten :
Delphi-Quellcode:
procedure Tfrm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var c : TComponent;
begin
if key = 13 then begin
c := FindComponent(AltKompName);
ShowMessage ('****** '+c.Name);
Label2Click (Sender);
//c.Name+'OnKeyDown';
end;
end;
Delphi-Quellcode:
procedure Tfrm.Label2Click(Sender: TObject);
begin
showmessage ('Label2Click');
end;
Das Label2Click geht auch soweit (momentan eben nur showmessage), aber der ganaue Name ist zum Zeitpunkt des auslösens ja gar nicht bekannt. Das könnte auch Label12345Click heißen. ShowMessage ('****** '+c.Name); liefert den Namen des Controls. Wie baue ich daraus jetzt einen Prozedurnamen zusammen oder führe die Procedure aus ?