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 setFocus abmildern ? (https://www.delphipraxis.net/7054-setfocus-abmildern.html)

JoelH 31. Jul 2003 14:58


setFocus abmildern ?
 
Ich hab da mal wieder ien kleines Prob.

ICh hab ein Editfeld in welchem ein Datum drin steht, auf das OnExit Event hab ich eine Überprüfung gelegt und wenn der Inhalt kein legales Datum ist dann mach ich ein SetFocus auf das Editfeld.

Soweit so gut, leider komm ich jetzt gar nichtmehr raus, ausser ich geb ein Datum ein. So soll es ja auch sein aber, ich hab da noch einen Button neben dran der eine Kalenderfunktion darstellt, dieser sollte noch benutzbar sein, trotz des Focus. Wie könnte ich erkennen ob er den Button drückt bzw. gibt es ein Event welches den Cursor in das Editfeld setzt aber, nicht wie setFocus, alles andere auf der Form lahmlegt !?

Alexander 31. Jul 2003 15:12

Re: setFocus abmildern ?
 
mhm da fällt mir jetzt nciths ein, aber du könntest doch das Edit irgendwie einfärben oder sowas, so dass der User weiß er hat mist gebaut ;-)
Oder du löscht einfach den Inhalt des Edits wieder..

JoelH 31. Jul 2003 15:56

Re: setFocus abmildern ?
 
Eingefärbt ist es schon, ich hab das Problem dass er eben das Tab_sheet nicht verlassen darf, auf dem liegt das Editfeld, naja und mit SetFocus halte ich ihn wirklungsvoll fest, leider etwas zu wirkungsvoll :(

Alexander 31. Jul 2003 17:13

Re: setFocus abmildern ?
 
Jepp ich verstehe das schon, aber ich weiß im Augenblick nicht wie du es genau haben willst ;-)
Also wie willst du das "abschwächen"?
Denn der PC kann ja nicht ahnen, ob du nun trotz falschen Datum wo anders mit dem Fokus hinwillst oder nicht...:mrgreen:

JoelH 31. Jul 2003 19:29

hmm,
 
ich weiss auch nicht, irgendwie hätte ich gerne die Möglichkeit nur bestimmte Komponenten auf der Form ansprechbar zu halten. Aber egal, da es nichts bringt dass wenn der User kein Datum eingegeben hat bleibt er eben solange gefangen bis er macht was er soll :D

Christian Seehase 1. Aug 2003 23:05

Re: setFocus abmildern ?
 
Moin Joel,

Du könntest im OnExit Event prüfen, ob das Feld verlassen werden soll, weil die Auswahl per Button getroffen werden soll, indem Du prüfst, ob sich der Cursor über eben diesem Button befindet.

Delphi-Quellcode:
  if WindowFromPoint(Mouse.CursorPos) = Button1.Handle then //...

JoelH 2. Aug 2003 10:36

Re: setFocus abmildern ?
 
hey cool, genau sowas hab ich gesucht. Danke :)


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