Deutsch
Forum

Wo ist mein Cursor

 

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!
 
20.11.2018  
 




H.Brill
Die Systemvariable %GetFocus gibt dir das Handle des gerade
aktiven Editfeldes zurück.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir 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
 
21.11.2018  
 




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 + FREEPROFAN
Wir 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
Dank an Euch!
 
22.11.2018  
 




Erasmus.Herold
Getestet - funktioniert großartig - Dankeschön!
 
24.11.2018  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.232 Betrachtungen

Unbenanntvor 0 min.
RudiB.31.08.2021
Stefan8101.01.2020
RAW22.07.2019
Pedro Miguel26.05.2019
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Erasmus.Herold (4x)
H.Brill (2x)
E.T. (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie