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 Eingabe-Cursor nach Formular-Öffnen sichtbar? (https://www.delphipraxis.net/116064-eingabe-cursor-nach-formular-oeffnen-sichtbar.html)

PeterPanino 22. Jun 2008 22:40


Eingabe-Cursor nach Formular-Öffnen sichtbar?
 
Hallo, ich öffne ein modales Formular und möchte, dass der Eingabe-Cursor in einem bestimmten Edit-Feld sichtbar ist:

Delphi-Quellcode:
procedure TForm2.FormShow(Sender: TObject);
begin
  Form2.FocusControl(editVorname);
end;
Mit diesem Code wird der Eingabe-Cursor in dem Editfeld aber erst dann sichtbar, wenn ich den Mauspfeil über das Editfeld bewege (ohne darauf zu klicken). Ich habe schon alle möglichen Tricks versucht, aber es ist mir noch nicht gelungen, dass der Eingabe-Cursor nach dem Öffnen des Formulars automatisch sichtbar ist. Wer weiß einen Rat?

chaosben 23. Jun 2008 04:45

Re: Eingabe-Cursor nach Formular-Öffnen sichtbar?
 
Hmmm ... schon komisch. Mit deinem Code sollte es eigentlich funktionieren. (Hast du irgendwelche Events z.B. OnEnter, OnExit belegt?)

Alternativ kannst du es mal mit editVorname.SetFocus probieren.

toms 23. Jun 2008 05:58

Re: Eingabe-Cursor nach Formular-Öffnen sichtbar?
 
Hallo,

Setze das ActiveControl im OI.

PeterPanino 23. Jun 2008 12:33

Re: Eingabe-Cursor nach Formular-Öffnen sichtbar?
 
Zitat:

Zitat von toms
Hallo,

Setze das ActiveControl im OI.

Wenn ich das ActiveControl lediglich im OI setze (und nicht in FormShow), dann erscheint der Eingabecursor beim Bewegen des Mauszeigers über das Editfeld nur beim ERSTEN Aufruf des Formulars (also bei den nächsten Malen nicht mehr)!

Wenn ich das ActiveControl jedoch in FormShow (wie im obigen Beispiel) setze, dann erscheint der Eingabecursor beim Bewegen des Mauszeigers über das Editfeld natürlich jedesmal beim Aufruf des Formulars. Jedoch - wie gesagt - nur dann, wenn ich den Mauszeiger über das Editfeld bewege!

Der Eingabecursor befindet sich im besagten Editfeld, denn wenn ich nach dem Öffnen des Formulars anfange zu tippen, erscheint der Text in diesem Eingabefeld. Nur ist es eben wichtig, dass der Anwender auch eine visuelle Information erhält, in welchem Eingabefeld der Cursor sich befindet.

Es sind sonst keine Events im Formular oder bei den Steuerelementen belegt, das Formular ist noch ganz jungfräulich. :wink:

Ach ja, das Formular wird ganz system-normal im program-Modul erzeugt, und nicht etwa erst nachher zur Laufzeit.

Sharky 23. Jun 2008 12:39

Re: Eingabe-Cursor nach Formular-Öffnen sichtbar?
 
Hai PeterPanino,

könntest Du dieses "jungfräuliche" Projekt mal mit Source und Exe (möglichst in einem ZIP-Archiv) anhängen?

toms 24. Jun 2008 14:15

Re: Eingabe-Cursor nach Formular-Öffnen sichtbar?
 
Kannst du den Cursor nicht im OnActivate neu setzen oder das Formular jeweils dynamisch neu erstellen?


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