Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   "Unterformular" und onKeyDown (https://www.delphipraxis.net/166790-unterformular-und-onkeydown.html)

tofse 29. Feb 2012 11:37

"Unterformular" und onKeyDown
 
Hallo,

ich habe mein MainForm, darin ein TTabControl, darin TPanel, darin TStringGrid. Wenn der Benutzer nun eine Zeile anklickt, erzeuge ich ein weiteres Formular, das über der Tabellenzeile liegt, da sollen dann Auswahlfelder rein.
Parent und Owner vom erzeugten Formular soll die Tabelle sein, und das Formular soll mit showmodal angezeigt werden. Mit ESC soll man das Formular u.a. verlassen können.

Mein Problem: onKeydown beim erzeugten Formular wird nicht aufgerufen, nur wenn ich das parent entferne. Gibt es da ein Möglichkeit, das durchzureichen ?

Grüße
Christof

Bummi 29. Feb 2012 12:00

AW: "Unterformular" und onKeyDown
 
Die ganzen Eingaben werden an den Parent hochgereicht >> TWinControl.DoKeyDown

Die Kombination mit Parent=Form und Showmodal sollte aber ohnehin nichts sinnvolles ergeben ...

himitsu 29. Feb 2012 12:08

AW: "Unterformular" und onKeyDown
 
Statt Parent mal PopupOwner versuchen?

Im Prinzip soll es ja anscheinen sowieso eine Art Popup werden.

tofse 29. Feb 2012 12:18

AW: "Unterformular" und onKeyDown
 
Meintest du TForm.PopupParent?

Eigentlich will ich die Tabelle als Parent nur, weil die Berechnung der Position einfacher und auch später nachvollziehbarer ist. Das Form soll halt genau über der Tabellenzeile liegen, ansonsten müsste ich alle übergeordneten Elemente für die Positionsberechnung aufaddieren...und wenn ich später an der Struktur was ändern sollte, dann stimmt es evtl nicht mehr....das nur zum Grund.

Was ich aber nicht verstehe: In der Hilfe heißt es bei KeyPreview "Hat KeyPreview den Wert true, erhält das Formular Tastaturereignisse vor dem aktiven Steuerelement " Öffne ich das Formular mit showModal ist es doch aktiv, warum wird dann onkeydown nicht aufgerufen, egal wer Parent ist?

jaenicke 29. Feb 2012 12:41

AW: "Unterformular" und onKeyDown
 
Zitat:

Zitat von tofse (Beitrag 1153643)
Eigentlich will ich die Tabelle als Parent nur, weil die Berechnung der Position einfacher und auch später nachvollziehbarer ist. Das Form soll halt genau über der Tabellenzeile liegen, ansonsten müsste ich alle übergeordneten Elemente für die Positionsberechnung aufaddieren...

ClientToScreen und ScreenToClient kennst du aber, oder? ;-)

tofse 29. Feb 2012 13:35

AW: "Unterformular" und onKeyDown
 
Zitat:

Zitat von jaenicke (Beitrag 1153647)
ClientToScreen und ScreenToClient kennst du aber, oder? ;-)

Nein, aber genau das löst "alle" meine Probleme ;-)

:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz