AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Focus (oder auf Button) in Form Positionieren

Focus (oder auf Button) in Form Positionieren

Ein Thema von Andidreas · begonnen am 13. Aug 2007 · letzter Beitrag vom 14. Aug 2007
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 14:45
aloha zusammen,

ich arbeite gerade an einem programm das mit einem ftp client arbeitet...
damit der benutzer nicht jedes mal die login daten eintippen muss biete ich ihm eine möglichkeit an diese wegzuspeichern...

benutzt der benutzer diese funktion, so wird beim nächsten start gefragt ob er die auto login daten laden möchte...
sagt er hier ja, füllen sich die login felder in der form schon mal aus...
soweit klappt alles

der benutzer müsste jetzt nur noch denn "connect" button drücken...
hier möchte ich jetzt, das der cursor dann beim programm start auf dem "connect" button positioniert ist...
wie krieg ich das hin???

folgendes habe ich gerade probiert, hat aber nicht denn gewünschten erfolg gebracht:

Main_Form.TabOrder := 3; denn befehl hab ich im "create" ereignis der form hinterlegt
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Cursor in Form Positionieren

  Alt 13. Aug 2007, 14:47
Button.SetFocus;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Cursor in Form Positionieren

  Alt 13. Aug 2007, 14:52
Button.SetFocus wird allerdings in FormCreate nicht funktionieren, weil die Form zu der Zeit noch nicht sichtbar ist.
Hierfür wirst du dann das OnShow-Ereignis der Form nehmen müssen.

//Nachtrag:
Der Titel ist allerdings etwas irreführend, du willst nämlich nicht den Cursor in deiner Form positionieren, sondern du willst den Focus setzen.
Den Cursor zu positionieren geht nämlich so:
Mouse.CursorPos := Point(X, Y);
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 15:06
hmm gehen tuts schon, wenn ich im oncreate ereignis das
bitbtn_connect.setfocus; absetzen tu... blos ich krieg da immer eine hässliche fehlermeldung, die da lautet:
"Deaktiviertes oder unsichtbares Fensters kann denn Fokus nicht erhalten."

wenn ich diese Fehlermeldung mit "ok" beantworte, dann kommt meine form und der fokus ist gesetzt...

kann ich diese fehlermeldung irgendwie ignorieren???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 15:10
ist zwar nicht die schönste variante, aber s funkt ^^

Delphi-Quellcode:
Try
  bitbtn_connect.SetFocus;
Except
  Sleep(1);
End;
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 15:13
Das es geht wundert mich, aber wie diese Fehlermeldung schon sagt, kannst du in einem unsichtbaren Fenster (und in OnCreate ist es noch nicht sichtbar), keinen Focus setzen.
Das mit try-except is keine saubere Variante.
Schreibe deinen Code doch am besten in das OnShow-Ereignis (wie ich schon sagte), dann bekommst du auch keine Fehlermeldung
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

Re: Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 15:18
Zitat von Martin K:
Das es geht wundert mich, aber wie diese Fehlermeldung schon sagt, kannst du in einem unsichtbaren Fenster (und in OnCreate ist es noch nicht sichtbar), keinen Focus setzen.
Das mit try-except is keine saubere Variante.
Schreibe deinen Code doch am besten in das OnShow-Ereignis (wie ich schon sagte), dann bekommst du auch keine Fehlermeldung
ok kann ich auch noch machen...
d.h. dann das ich aus dem oncreate ereignis das onshow ereignis aufrufen muss,
oder "geht das dann automatisch"???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 15:28
Nein, nein, nein.
Genau wie OnCreate, hat deine Form auch ein Ereignis OnShow.
Genau wie OnCreate beim erstellen der Form aufgerufen wird, wird OnShow aufgerufen sobald die Form sichtbar wird (automatisch natürlich )
Schau mal im Objekt Inspektor bei Ereignissen:
Dort machst du einen Doppelklick auf OnShow und schreibst da rein:
  bitbtn_connect.SetFocus; Das ganze mit try except wie es im OnCreate steht, machst du natürlich wieder weg und alle sind glücklich

Ach ja:
Wie gesagt, wird OnShow immer aufgerufen, wenn die Form sichtbar gemacht wird.
Falls du die Form später nochmal sichtbar machst und nicht willst, dass der Focus erneut auf den Button gesetzt wird, dann schreibst du einfach:
OnShow := nil; am Anfang in das OnShow-Ereignis. Somit wird der Code nur beim ersten Mal ausgeführt und du hast den gleichen Effekt wie bei Create.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

Re: Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 15:40
ok gut...
dann schreib ich das mal ins onshow ereignis rein...

btw
wie oft wird das onshow ereignis aufgerufen???
nur bei programmstart???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Focus (oder auf Button) in Form Positionieren

  Alt 13. Aug 2007, 15:52
Naja, eben immer dann wenn sie sichtbar wird.
Also wenn du sie mal schließt und dann wieder sichtbar machst mit Form.Show bzw. ShowModal, dann wird eben wieder OnShow ausgeführt.
Falls deine Form nach dem schließen aber nicht noch einmal sichtbar wird, so wird das ganze nur einmal aufgerufen, beim Programmstart bzw. wenn die Form das erste mal sichtbar wird.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf