Italia
Foro

Erledigt: %key-Problem ...

 

Michael
Punkt
... oder bin ich einfach blöd? (Anm. Das war nur eine rethorische Frage )

%key funktioniert bei mir nicht.Ist so was possibile?
Ich habe hier ein minimales Beispiel. Erstellt wurde es mit Rokos Dialogeditor. Nur ein wenig gekürzt.
KompilierenMarkierenSeparieren
Proc DIALOG

    Declare DLG&, DIALOGENDE%
    DLG&=CREATE("WINDOW",%HWND,"Neues Fenster",22,20,640,500)
    SETFOCUS(DLG&)
    DIALOGENDE%=0

    WHILENOT DIALOGENDE%

        WAITINPUT

        If %KEY=2

            DIALOGENDE%= 1

        ELSEIF %KEY=90 z-Taste

            DIALOGENDE%= 1

        ENDIF

    ENDWHILE

    DESTROYWINDOW(DLG&)

ENDPROC

WINDOWTITLE "DUMMY HAUPTFENSTER"
WINDOWSTYLE 63
WINDOW (%maxx-300),10-280,80
CLS RGB(0,0,0)
DIALOG

In einem Dialog (Dialog/Window) funktioniert bei mir gar keine Tastenabfrage. Habs auch schon mit WAITKEY versucht.
Habe ich etwas übersehen? Kann doch eigentlich nicht sein, dass das nicht geht.
 
XProfan 11, Windows XP (2GB RAM), XProfEd
17.08.2009  
 



Ich meine, XProfan reagiert hier ganz ehrlich, wie Windows das auch handhabt bzw. unterscheidet.

Gib mal in der Aiuto "Tastatur" ein, es gibt viele Möglichkeiten um an "Tasteninfos" heranzukommen, jede hat sicherlich ihre Vor- und Nachteile.

Ein Weg circa UserMessages potuto sein:
KompilierenMarkierenSeparieren
 {$cleq}
Gemerkt/Separiert von http://xprofan.com/thread.core?t=7793

Proc DIALOG

    Declare DLG&, DIALOGENDE%
    DLG&=CREATE("WINDOW",%HWND,"Neues Fenster",22,20,640,500)
    SETFOCUS(DLG&)
    DIALOGENDE%=0
    userMessages 256 ~wm_keyDown

    WHILENOT DIALOGENDE%

        WAITINPUT
        locate 1,1
        print &getTickCount
        print "Taste: ",&uwParam,"  "

        If %KEY=2

            DIALOGENDE%= 1

        ELSEIF (%UMessage=256) and (&uwParam=90)%KEY=90Z-Taste

            DIALOGENDE%= 1

        ENDIF

    ENDWHILE

    DESTROYWINDOW(DLG&)

ENDPROC

WINDOWTITLE "DUMMY HAUPTFENSTER"
WINDOWSTYLE 63
WINDOW (%maxx-300),10-280,80
CLS RGB(0,0,0)
DIALOG

Siehe auch: iskey 
 
17.08.2009  
 




Michael
Punkt
Hallo If,

Du hast nochmal nacheditiert, gell?! Habe das ganze gestern ausprobiert und erst eine Fehlermeldung erhalten. Dachte schon, Du wolltest mich testen, ob ich aufpasse.
Hab dann aber die windows.ph und Messages.ph eingebunden und aus wm_keydown ein ~wm_keydown gemacht.
Dann ging es auch, nur ...

Ich hatte sämtliche Möglichkeiten inklusive @iskey(90) ausprobiert und nichts ging.
Alle Beispiele und Anleitungen zu dem Thema unter der Aiuto verrieten nichts, dass ich hier mit Windows-Rückgabewerten arbeiten muss (und wohl auch nur mit diesen, wenn ich etwas nicht überlesen haben sollte).

Das sinnvollste ist dann wohl wirklich, nur noch mit den Windows-Messages zu arbeiten, sobald man das Hauptfenster verlassen hat.

Trotz allem gibts da noch ein Problem (die Combobox betreffend mit der ENTF-Taste), aber das schreibe ich dann später besser in den entsprechenden Thread.

Vielen Dank.
 
XProfan 11, Windows XP (2GB RAM), XProfEd
18.08.2009  
 



Klar, man muss halt unterscheiden, wann wie wo welche Taste abgefragt werden soll bzw. per welches Control.

Am Einfachsten z.B. per Giochi ist deshalb meist das normale Hauptfenster per das die meisten Tastenbefehle zutreffen.
 
18.08.2009  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.366 Views

Untitledvor 0 min.
Georg16.01.2021
H.Brill09.02.2019
holmol9313.06.2013
Julian Schmidt06.10.2012
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

iF (2x)
Michael Punkt (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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