TPageControl, TTabSheet, Formular in DLL
-
Hallo,
folgendes Problem:
Ich habe ein Formular in einer dll, in dieser dll gibt es eine exportierte Funktion um das Formular anzuzeigen.
Jetzt die Besonderheit:
Der Dialog wird innerhalb einer TTabSheet (die wiederum Teil einer TPageControl ist) angezeigt. Das klappt auch noch. Jetzt kann ich zwar mit dem Formular interagieren, aber wenn ich auf die Pfeiltasten oder Tab drücke bezieht er die Eingabe auf das Hauptformular.
Was muß ich noch anders machen?
_________________
Gruß
void*
-
Hallo,
da es keine Lösung zu geben scheint, hat vielleicht jemand eine Idee wir man das anders lösen könnte oder einen Workaround?
-
Original erstellt von void*:
**
Jetzt kann ich zwar mit dem Formular interagieren, aber wenn ich auf die Pfeiltasten oder Tab drücke bezieht er die Eingabe auf das Hauptformular.
Was muß ich noch anders machen?
**ich weiss nicht, wo das Problem liegt. Vielleicht kannst du die Probleme etwas besser beschreiben und die Frage klarer formulieren.
-
hi,
du könntest im hauptform, die tastendrücke abfangen in der art:
switch (Key) { case alt+tab: TPageControl->ActivePageIndex = TPageControl->ActivePage++; break; } //Obermega-Pseudocode.
im hauptform evt. auf das property KeyPreview achten, daselbe im dialog. die umschaltung also im programmcode steuern. ich hatte dasselbe einmal, da hatte ich in eine form, mehrere andere forms geladen und dann war da auch noch ein frame im spiel. ich weiß aber nicht mehr ganz genau wie ich das gelöst habe. aber vom prinzip kommt das oben beschriebene recht nahe...
mfg
murph
-
@AndreasW:
Ok, ich versuch's nochmal:Ich habe in meiner App ein TPageControl mit mehreren TTabSheets. Auf allen Seiten sind diverse Controls um Einstellungen einzulesen usw.. Bis dahin alles wunderbar.
Jetzt gibt es zu dieser App eine Anzahl Dlls die jeweils ein Form implementieren. Eines dieser Forms (je nachdem was der Benutzer machen will) soll auf einer leeren TTabSheet angezeigt werden (mit Show). Auch das klappt noch.Jetzt das Problem:
Wenn ich Eingaben in dem Dll-Form mache klappt alles noch, sobald ich jedoch Tab (er springt nicht zum nächsten Element im Form, sondern zu einem Element im Hauptform) oder Pfeiltaste (in einem Edit bewegt er sich nicht, sondern wechselt die Tabs) drücke, kommt ein unerwünschtes Verhalten.Mache ich das selbe mit einem Form das ich in der App in einer Unit habe klappt die Sache einwandfrei.
Hoffe, das macht die Sache etwas klarer.
Zu erst werde ich das jezt mal mit dem Tastenabfangen versuchen.
-
Hallo,
warum kann ich in OnKeyDown alle Tasten lesen außer Tab? Kann ich da irgendwie dran kommen?
-
hm,
ich kann mir nicht vorstellen, dass die Herkunft einese Formulares sich auf das Verhalten eines Formulars ändert.
schick mir mal ne Beispiel - Exe damit man sich das besser vorsteleln kann oder leg die online irgendwo ab und gib nen Link.
Die Ereignisse kannst du zur Laufzeit auch abfangen. Sie FAQ.
-
Email ist auf dem Weg.