| Autor |
Beitrag |
XZeranski
      
Beiträge: 38
|
Verfasst: Do 05.06.03 16:17
Hallo,
wie mache ich es, dass bei Programmstart der Cursor gleich in das Editfeld springt und ich sofort arbeiten kann?
Thx
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 05.06.03 16:23
Hi,
in das OnCreate-Ereignis der Form schreibst du folgendes:
Delphi-Quelltext
MFG
- Ernesto -
|
|
XZeranski 
      
Beiträge: 38
|
Verfasst: Do 05.06.03 18:57
Danke für deine Hilfe, jetzt kann ich mich wieder erinnern
Allerdings vertstehe ich nciht, warum dann folgende Fehlermeldung kommt:
"Deaktiviertes oder unsichtbares Fenster kann den Fokus nicht erhalten"
Woran liegt das?
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 05.06.03 19:11
Weil das Edit zu dem Zeitpunkt noch nicht sichtbar ist. Stell die Tab-reihenfolge um, so dass das gewünschte Edit das erste ist.
|
|
XZeranski 
      
Beiträge: 38
|
Verfasst: Do 05.06.03 19:34
Hm, das Feld steht jetzt an erster Stelle, aber es kommt immer noch der selbe Fehler...
Ich hab auch mal ein neues Dokumt geöffnet und nur ein Edit-Feld reingepackt, auch dann kommt der Fehler wenn ich Edit1.SetFocus bei Form1.Create eingebe...
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 05.06.03 19:52
Hi,
OK, war mein Fehler. Nimm die zeile aus dem OnCreate raus und füge sie in das OnActivate deiner Form ein. Dann gehts. Das OnCreate-Ereignis ist zu früh, da die Form da gerede erst erzeugt wird.
MFG
- Ernesto -
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 05.06.03 19:56
Und dann landet der Cursor jedes mal im ersten Edit, ob das aber gewollt ist?
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Do 05.06.03 20:08
@Luckie: Ich denke doch, schon. Siehe:
| XZeranski hat folgendes geschrieben: | | wie mache ich es, dass bei Programmstart der Cursor gleich in das Editfeld springt |
@XZeranski: Kann es sein, daß du dein Edit-Feld deaktiviert hast?
_________________ Hasta La Victoria Siempre
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 05.06.03 20:19
@Terra23
das hat was mit OnCreate zu tun. Dieses Ereignis ist noch zu früh um den Fokus auf das Edit zu setzen. Deshalb die Exception. Im OnActivate klappts. Habs grad noch mal probiert.
Oder man setzt alternativ die Tab-Reihenfolge entsprechend, wie es Luckie schon gesagt hat.
MFG
- Ernesto -
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 05.06.03 20:29
OnActivate wird aber nicht nur beim Start ausgelöst. 
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Do 05.06.03 20:43
wie wärs mit OnShow?
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 05.06.03 20:50
Wir dauch nicht nur beim Start aufgerufen. Aber was soll das eigentlich? Wir haben doch eine Lösung: Tab-Reihenfolge richtig setzten. .roll:
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Do 05.06.03 20:50
es gibt eine eingenschaft sie heißt activcontrol oder so änlichen da musst du die komponenten die als erstes den focus haben soll eintragen und fertig 
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Do 05.06.03 20:54
| Luckie hat folgendes geschrieben: | | Wir dauch nicht nur beim Start aufgerufen. Aber was soll das eigentlich? Wir haben doch eine Lösung: Tab-Reihenfolge richtig setzten. .roll: |
| Zitat: | | Das Ereignis OnShow wird ausgelöst, wenn das Formular angezeigt wird (d.h., wenn die Eigenschaft Visible des Formulars auf True gesetzt wird). |
Solange er nicht Visible ändert kann da doch nix passieren oda?
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Do 05.06.03 21:02
@Ernesto: Das ist mir schon klar.
@Luckie: Wir akzeptieren die Lösung.  Ich weiß aber, daß OnActivate nicht nur beim Programmstart ausgelöst wird. Ich arbeite ja teilweise mit dem Ereignis. 
_________________ Hasta La Victoria Siempre
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Do 05.06.03 21:04
Man das kann einem ganz schön auf den nerv gehen, diese klugsch...rischen Kommentare  Ich denke Xeranski hat einige Ansätze bekommen und kann sich das raussuchen was für ihn am besten ist.
Ich habe ein bisschen rumprobiert, so einfach wird OnActivate oder Onshow nicht ein zweites mal ausgelöst, siehe Delphi-Hilfe.
|
|
Tweafis
      
Beiträge: 647
WinXP + fbsd
Delphi 5 Prof
|
Verfasst: Do 05.06.03 21:09
Achja, wenn du das Event genau einmal bei Programmstart aufrufen willst, dann geht das auch so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.FormShow(Sender: TObject); begin Edit1.SetFocus; Form1.OnShow := OtherFormShow; OtherFormShow; end; |
So wird das Ereigniss garantiert nur einmal aufgerufen. 
_________________ .: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Do 05.06.03 22:16
und was war mit meinem vorschlag ???
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Alex
      
Beiträge: 28
D5 Epr
|
Verfasst: Fr 06.06.03 14:50
Der Vorschlag von Mimi finde ich am besten
mach ich meistens so
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Fr 06.06.03 15:54
ist auch am einfachsten(man braucht keine zeile code zu schreiben  )
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|