Hi,
ich habe eine recht umfangreiche Anwendung (ca. 35 Formulare) bei denen das KeyDown Events nicht angesprochen wird (KeyPreview der Form steht auf true).
Meine Anwendung ist so aufgebaut, dass auf der linken Seite (vergleichbar Outlook) die Menüleiste ist und ich auf der rechten Seite die eigentlichen Formen anzeigt werden.
Das Problem besteht darin zu bestehen, dass ich diese einzelnen Formulare mit der folgenden Funktion auf einem Panel anzeigen lasse:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TForm1.CreateFormFromName(const FormName : string); var fc : TFormClass; f : TForm; begin fc := TFormClass(FindClass('T'+FormName)); f := fc.Create(Application);
f.Parent := AnzPanel; f.Top:=0; f.Left:=0; f.Align:=alClient; f.Width := AnzPanel.Width; f.Height := AnzPanel.Height; f.BorderStyle := bsNone; f.WindowState:=wsMaximized; f.Show; end; |
Hat jemand eine Idee was getan werden muss, um in den angezeigten Formularen das KeyDown Event doch ansprechen zu können?
In diesem Zusammenhang habe ich noch eine weitere Frage:
Wie kann ich feststellen welches Formular aktuell in dem Panel angezeigt wird?
Gruß
Moderiert von
Gausi: Delphi-Tags hinzugefügt