Fokus bei einem Button zwingend löschen
-
Guten Abend allerseits,
mittels SetFocus(); kann man Steuerelementen den Eingabefokus zwingend zuweisen, wie kann ich diesen zwingend zurückweisen?
Dabei möchte ich aber nicht einfach einem zweiten Button z.B. den Focus geben, sondern den Fokus allgemein "löschen", sodass wieder das derzeitige Formular den Fokus hat.
Mittels Form1->SetFocus(); bleibt der Fokus - sichtbar durch den gepunkteten Rahmen am Button - jedoch beim Button

Was kann ich tun? Gibts irgendwie DeleteFocus(); ?
Schönen Abend noch!
Spieleprogrammierer2
-
Button1->TabStop=false;Dir auch noch einen schönen Abend
-
Spieleprogrammierer:
Kommt dir das nicht bekannt vor? Sollte es jedenfalls.
-
Hi Jansen,
jo kommt mir bekannt vor, doch leider sind im Thread auch keine Lösungen dir mir weiterhelfen, denn wie richtig erkannt hat TabStop keine positive Auswirkung auf das Problem. Auch der zweite Vorschlag mit SpeedButton nützt nichts! Bleibt wohl nur noch der dritte mittels BS_OWNERDRAW zu arbeiten. Doch auch wie "genau." kenn ich mich damit nicht aus, und bitte diesbezüglich um Hilfe. (Ihr wollt es ja immer konkret, also wie ich mit dem Ownerdraw den Fokus zurückgebe, also dass ich wieder mitetls meiner Maustasten meine eigentlichen Aktionen durchführen kann, nicht aufeinmal im Edit oder so rumfummeln muss...)
Für bessere Vorschläge außer ownerdraw bin ich gerne offen
cia
-
Warum "nützt" der Speedbutton nichts? Der macht genau das, was du willst. Ansonsten mach dir doch ne eigene Komponente oder fang WM_SETFOCUS ab. In der Routine kannst du dann den Focus wieder auf das vorherige Fenster setzen. Noch eine Wahl: nimm meine TColorButton-Kompo, die du auf meiner Homepage findest. Da ist wahlweise auch kein Focusrect dabei, und du kannst sogar eine Farbe für den Button setzen.