AGB  ·  Datenschutz  ·  Impressum  







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

problem mit SetFocus

Ein Thema von KosMottchen · begonnen am 25. Aug 2006 · letzter Beitrag vom 25. Aug 2006
Antwort Antwort
KosMottchen

Registriert seit: 4. Mär 2006
34 Beiträge
 
Delphi 7 Enterprise
 
#1

problem mit SetFocus

  Alt 25. Aug 2006, 17:46
huhu,

ich will in meinem pürogramm, wenn ich es starte, den Focus auf dem Button1 haben...

also hab ich mir gedacht, schreib ich in FormCreate einfach Form1.Button1.SetFocus; rein...

aber das geht ja da nicht... also hab ich mir gedacht...

schreibst ne prozedure...

Delphi-Quellcode:
procedure focus;
begin
 Form1.Button1.SetFocus;
end;
und rufst die dann in form create auf...

nur das geht auch nicht... was kann ich denn da machen? an sich is der button sichtbar... denn das is ja ne vorraussetzung...

liegts daran, dass ich den button auf ner groupbox habe und nicht direkt auf der form1 ?

danke schonmal...

mfg kos
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: problem mit SetFocus

  Alt 25. Aug 2006, 17:49
Der einfachste weg ist einfach das Property TabOrdner zur Designzeit richtig zu setzen (Der Button sollte 0 haben, und die Groupbox wo er drauf liegt auch und dort wo die Groupbox drauf liegt auch etc.)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
KosMottchen

Registriert seit: 4. Mär 2006
34 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: problem mit SetFocus

  Alt 25. Aug 2006, 18:00
huhu,

besten dank,

es geht

mfg
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#4

Re: problem mit SetFocus

  Alt 25. Aug 2006, 18:04
Zitat von SirThornberry:
Der einfachste weg ist einfach das Property TabOrdner zur Designzeit richtig zu setzen (Der Butotn sollte 0 haben, und die Groupbox wo er drauf liegt auch und dort wo die Groupbox drauf liegt auch etc.)
In der Tat - das ist der einfachste Weg.

Weitere Möglichkeiten:
1. Im Ereignis TForm1.OnShow setzen:
ActiveControl := Button1; 2. Button1 wird als default gekennzeichnet; dann ist zwar der Focus nicht dort, aber CR wirkt direkt.
Button1.Default := true; 3. Maus wird auf Button1 positioniert; siehe Hier im Forum suchenMaus auf aktuellem Control positionieren (dies entspricht im Prinzip der Variante 1).

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
rider

Registriert seit: 11. Aug 2006
90 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: problem mit SetFocus

  Alt 25. Aug 2006, 18:33
Der Focus kann nur auf bereits sichtbare Controls gesetzt werden. OnFormCreate ist also zu früh. Wenn du stattdessen OnFormShow benutzt, sollte es gehen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: problem mit SetFocus

  Alt 25. Aug 2006, 18:41
Zitat von KosMottchen:
Delphi-Quellcode:
procedure focus;
begin
 Form1.Button1.SetFocus;
end;
Gewöhn dir mal an in einer Formularmethode nicht über die von Delphi global angelegte Formularvariable auf Members des Formulars zuzugreifen. Wenn du jetzt z.B. eine 2te Instanz des formulars wiefolgt anlegst:

Delphi-Quellcode:
var
  dlg: TForm1;
begin
  dlg := TForm1.Create(nil);
  ...
end;
kracht es natürlich an jeder Ecke da du dann auf die andere Instanz zugreifst.

Und TForm1 ist auch kein guter Name für eine Klasse. Kennst Du dich noch aus wenn du 10 Formular TForm1...TForm10 hast was die so machen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: problem mit SetFocus

  Alt 25. Aug 2006, 19:46
Button1.SetFocus klappt auch. Nur noch nicht im OnCreate weil dort noch alles im Bau ist sozusagen und entweder passiert nichts oder man sieht nix

dh spätetestens im OnActivate sollte Button1.SetFocus auch klappen. Im OnShow aber wahrscheinlich auch

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  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 18:28 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