|  |  | 
|  | 
|  | 
|  Erasmus.Herold
 | | Hallöchen ... 
 Folgende Frage:
 Ich habe ein Fenster geöffnet und in diesem befinden sich unzählige Edit-Felder.
 Lässt sich einfach (und ohne jedes Edit abzufragen) ermitteln, wo der Cursor
 aktuell blinkt?
 
 fenster_darueber_2% = Create("Dialog",fenster_darueber%,"Fenster",28,330,1870,730)
fenster_fixieren_2& = external("USER32","GetSystemMenu",fenster_darueber_2%,0)
external("USER32","DeleteMenu",fenster_fixieren_2&,$F010,0)
ks_1_cent$ = create("edit", fenster_darueber_2%, "", 700, 135, 100, 30)
ks_2_cent$ = create("edit", fenster_darueber_2%, "", 700, 170, 100, 30)
ks_5_cent$ = create("edit", fenster_darueber_2%, "", 700, 205, 100, 30)
ks_10_cent$ = create("edit", fenster_darueber_2%, "", 700, 240, 100, 30)
ks_20_cent$ = create("edit", fenster_darueber_2%, "", 700, 275, 100, 30)
In welchem Feld blinkt der Cursor?
 Danke!
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  H.Brill
 | | Die Systemvariable %GetFocus gibt dir das Handle des gerade aktiven Editfeldes zurück.
 | 
 | 
|  | 
|  | | Benutze   XPROFAN X3 + FREEPROFANWir sind die XProfaner.
 Sie werden von uns assimiliert.
 Widerstand ist zwecklos!
 Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
 
 Was die Borg können, können wir schon lange.
 | 20.11.2018  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  Erasmus.Herold
 | | Danke für die Antwort. So hatte ich das auch in der Hilfe gefunden. 
 Ein kurzes Beispiel wäre toll gewesen. Deshalb hatte ich extra ein
 paar Felder als Code beigefügt.
 Vielleicht ein kurzer Tipp, wie ich z.B. durch die passende Abfrage
 die Info erhalte: der Cursor steht in Feld "ks_10_cent$"
 
 Dankeschön
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  H.Brill
 | | 1. ks_1_cent$ ist eine Stringvariable. Zum Glück konvertiert XProfan intern. Darum kommt auch kein Fehler. Create()
 liefert aber immer ein Handle (Zahl) zurück. Also ist es besser,
 eine Zahlenvariable (%,&, Handle) zu verwenden.
 
 2. Beim Erstellen der Editfelder könntest du ein numeriches
 Array verwenden. Die Variablennamen bekommst du sowieso
 nicht zu sehen. Ein korrespondierendes String-Array könnte
 aber entsprechende Namen bereitstellen.
 
 Meinst du etwa sowas ?
 
 Declare  Edits%[5], Namen$[], y%
Namen$[] = "1. Edit", "2. Edit", "3. Edit", "4. Edit", "5. Edit"
Window 800, 600
y% = 10
WhileLoop 0, 4
    Edits%[&LOOP] = Create("Edit", %HWnd, "", 10, y%, 120, 25)
    Inc y%, 30
EndWhile
While 1
    WaitInput
    WhileLoop 0, 4
        If %GetFocus = Edits%[&LOOP]
            Locate 15, 1
            Print Namen$[&LOOP], "hat den Cursor !"
        EndIf
    EndWhile
    Case %Key = 2 : Break
EndWhile
End
 | 
 | 
|  | 
|  | | Benutze   XPROFAN X3 + FREEPROFANWir sind die XProfaner.
 Sie werden von uns assimiliert.
 Widerstand ist zwecklos!
 Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
 
 Was die Borg können, können wir schon lange.
 | 21.11.2018  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  E.T.
 | | Hab das voriges Beispiel mal nach IndexOf(...  umgebaut (nur um zu aufzuzeigen, das es so auch geht
  ). 
 Vlt. isses ja so bissel schneller ...
  
 Declare  Edits%[5], Namen$[], y%, EditPos%
Window 800, 600
y% = 10
WhileLoop 0, 4
    Edits%[&LOOP] = Create("Edit", %HWnd, "", 10, y%, 120, 25)
    Inc y%, 30
EndWhile
While 1
    EditPos% = IndexOf(Edits%[],%GetFocus)
    If EditPos% > -1
        Locate 15, 1
        Print "                                            "'Zeile löschen
        Locate 15, 1
        Print (EditPos%+1) + ". Edit hat den Cursor !"
    Else
        Locate 15, 1
        Print "Irgend etwas anderes hat den Focus !"
    EndIf
    WaitInput
    Case %Key = 2 : Break
EndWhile
End
Das mit den expl. Namen für die Edit's (wie zuvor beschrieben) kann man hier nat. auch verwenden
  | 
 | 
|  | 
|  | | Grüße aus Sachsen... Mario   WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 21.11.2018  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  Erasmus.Herold
 |  | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Erasmus.Herold
 | | Getestet - funktioniert großartig - Dankeschön! | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 |