AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Button den Focus entfernen/geben

Ein Thema von xZise · begonnen am 9. Aug 2006 · letzter Beitrag vom 9. Aug 2006
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Button den Focus entfernen/geben

  Alt 9. Aug 2006, 10:23
Wie kann ich einem Button den Focus wegnehmen bzw. geben?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Button den Focus entfernen/geben

  Alt 9. Aug 2006, 10:28
Falls Du meinst, dass er beim Öffnen des Fensters sofort den Focus haben soll oder nicht:
das stellst Du beim Button mit der Property "Default" ein. Bei DeinButton.Default:=True; hat er den Fokus.

Alternativ kannst Du auch DeinForm.ActiveControl:=DeinButton; verwenden
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Button den Focus entfernen/geben

  Alt 9. Aug 2006, 10:29
Okay werd ich testen (leider nicht mehr heute)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Button den Focus entfernen/geben

  Alt 9. Aug 2006, 11:15
Focus geben: Button.SetFocus;
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Button den Focus entfernen/geben

  Alt 9. Aug 2006, 12:17
Zitat von RavenIV:
Falls Du meinst, dass er beim Öffnen des Fensters sofort den Focus haben soll oder nicht:
das stellst Du beim Button mit der Property "Default" ein. Bei DeinButton.Default:=True; hat er den Fokus.
Nein, das stimmt so nicht. Cancel und Default sind Eigenschaften die von dem Message Handler des Buttons sagen, dass er sich entsprechend verhalten soll. Diese Eigenschaften haben nichts, rein gar nix mit dem Fokus zu tun. Wenn du eine Form mit 2 Buttons hast und einer ist Default := True und du klickst den anderen, dann hat der andere den Fokus, trotzdem löst der Default Button bei ENTER aus - ohne Fokus...

Fokus erkennt man am Fokusrect, welches eine Strichellinie um die Caption des Buttons ist.

xZise: Beim Öffnen der Form immer das gleiche Control ausgewählt haben erreicht man mit der Eigenschaft ActiveControl (wie von RavenIV schon genannt). Diese kannst du im Objektinspektor einstellen. Wenn du einem Objekt den Fokus geben willst, dann rufe von der Form die Methode FocusControl() auf und übergebe das Control oder alternativ, wie schon genannt von TeronG, die Methode SetFocus des Elementes aufrufen. Wegnehmen des Fokus ist schwierig, da ein Element immer den Fokus hat. Daher ist wegnehmen des Fokus möglich, in dem du ein anderes Element bestimmst auf der aktiven Form, welches den Fokus statt dessen bekommt. In der Form gibt es ansonsten noch die Möglichkeit, es mit der Methode DefocusControl() zu probieren. Ich weiss aber nicht, wie er das denn löst. Probier es einfach aus.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Button den Focus entfernen/geben

  Alt 9. Aug 2006, 12:40
Zitat von Muetze1:
Wenn du eine Form mit 2 Buttons hast und einer ist Default := True und du klickst den anderen, dann hat der andere den Fokus, trotzdem löst der Default Button bei ENTER aus - ohne Fokus...
Das würde ich an deiner Stelle nochmal kurz an einer kleinen Beispielform nachprüfen...

Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Button den Focus entfernen/geben

  Alt 9. Aug 2006, 12:54
Nein, das stimmt so!
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Button den Focus entfernen/geben

  Alt 9. Aug 2006, 12:55
Zitat von uligerhardt:
Das würde ich an deiner Stelle nochmal kurz an einer kleinen Beispielform nachprüfen...
Ja, ok, da hat der Fokus eine höhere Gewichtung. Mit der Cancel Eigenschaft klappt das beschriebene wiederrum.

Zitat von igel457:
Nein, das stimmt so!
Nein, uligerhardt hat Recht.

Aber: auch trotz Default bekommt der Button kein Fokus. Meine Beispiel App: 2 Buttons: Erster Button bekommt Fokus, aber 2. Button hat Default := True, somit versetzt Default kein Fokus. Darauf wollte ich hinweisen. Das Beispiel ist nur misslungen und falsch...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 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