Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi WM_NEXTDLGCTL funkt. nicht in vollst. dynam. erzeugter Form (https://www.delphipraxis.net/92148-wm_nextdlgctl-funkt-nicht-vollst-dynam-erzeugter-form.html)

little-x 15. Mai 2007 11:07


WM_NEXTDLGCTL funkt. nicht in vollst. dynam. erzeugter Form
 
Hallo,

Mit WM_NEXTDLGCTL habe ich gute Erfahrungen gemacht, hat IMMER funktioniert. Im vorliegenden Fall aber nicht; ich habe ich eine vollständig dynamisch geladene Form, d.h. es existiert noch nicht mal eine *.dfm. Das hat sich angeboten, weil kein einziges Control auf der Form vorhersehbar, sprich also in der Entwurfsansicht festlegbar, ist. Also selbst wenn ich eine dfm hätte, so wäre dort lediglich die Form definiert aber sonst nix.

Der Aufruf
Delphi-Quellcode:
   myGroupBox.Perform(WM_NEXTDLGCTL,0,0);
wird auch definitiv auf das richtige WinControl (hier meine GroupBox) angewendet; auch die dynamisch erzeugten DBEdits (ein Array aus solchen) haben alle z.B. das richtige TabOrder usw. Nebenbei bemerkt, mit <TAB> springt er wie immer zum nächsten Feld.

Könnte es daran liegen,
- dass ich eine wichtige Property beim Erzeugen der DBEdit-Objekte oder der "Parent"-GroupBox vernachlässige?
- Dass die Funktion gar nicht funktioniert, wenn keine *.dfm existiert?

Im letzteren Fall: Gibt es eine Möglichkeit, das Drücken der TAB-Taste zu simulieren? Ich meine jetzt nicht, die Systemseitige Reaktion zu "kopieren", sondern wirklich das System glauben zu machen, die <TAB>-Taste sei gedrückt worden?

SirThornberry 15. Mai 2007 11:15

Re: WM_NEXTDLGCTL funkt. nicht in vollst. dynam. erzeugter F
 
Die Tabtaste kann man simulieren wie jede andere Taste auch (siehe Suchfunktion).
Allerdings sollte es keinen unterschied machen ob du das Form dynmich erzeugst oder nicht.

Christian Seehase 15. Mai 2007 13:42

Re: WM_NEXTDLGCTL funkt. nicht in vollst. dynam. erzeugter F
 
Moin Little-x,

probier's mal mit SendMessage statt Perform.

daddy 15. Mai 2007 15:38

Re: WM_NEXTDLGCTL funkt. nicht in vollst. dynam. erzeugter F
 
3 Fragen:

Wann führst Du denn den angegebenen Quellcode aus (Beim Druck auf eine bestimmte Taste)?
Wird der Code überhaupt durchlaufen?
Hängt das Problem evtl. mit Form.KeyPreview zusammen?

Gruß Daddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:32 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