Seite 1 von 2

Event #PB_EventType_ReturnKey findet nicht statt !

Verfasst: 22.10.2004 16:29
von MVXA
Hallo !
Ich programmiere ein kleines Programm und benötige dazu, dass mein Programm erkennt ob die Entertaste gedrückt wurde. hier mal der Code:

Code: Alles auswählen

    Repeat
        EventID.l = WindowEvent()
        EventType.l = EventType()
        
        If EventType <> -1
            Debug Str(EventType)
        EndIf
        
        If EventID <> 0
            Select EventID
                Case #PB_Event_Gadget
                    GadgetEventID   = EventGadgetID()
                    
                    Select GadgetEventID
                        Case #cmdQuit
                            Break
                        Case #txtCommand
                            Debug Str(GadgetEventID) + "/" + Str(EventType)
                    EndSelect
                Case #PB_Event_CloseWindow
                    Break
            EndSelect
        EndIf
        
        Delay(1)
    ForEver
Dabei wird aber keine Debugmessage ausgegeben, wenn ich die Entertaste drücke. Warum ?

Verfasst: 22.10.2004 16:42
von Franky
Was ist das denn für´n gadget? das geht nur bei stringgadgets


Sonst musst du mit #wm_keydown arbeiten und eventwparam() abfragen
#vk_return ist, wonach du da fragen musst

Verfasst: 22.10.2004 16:45
von MVXA
Ja, ich benutze ein StringGadget /:->

Verfasst: 23.10.2004 15:40
von MVXA
was ist den jetz los ?
könnte das mal bitte jemand testen und wenn es funktioniert mir bitte den richtigen code senden ? Ist doch nur ne 5 Minuten arbeit /:->

Verfasst: 23.10.2004 16:18
von Deeem2031
Versuchs doch einfach mit AddKeyboardShortcut()...

Verfasst: 23.10.2004 16:46
von MVXA
das muss ich aber dann wieder mit einem Menüpunkt verbinden und in meinem Programm werden keine menüs verwendet /:->. Außerdem ist die frage ob dieses event überhaupt von PB ausgelöst wird. hab gelsen, dass #PB_Event_MoveWindow auch nicht statt findet. was wird das jetzt :freak: ?

Verfasst: 23.10.2004 16:56
von Deeem2031
Um AddKeyboardShortcut() zu benutzen brauchst du kein Menü, das Event wird auch so ausgelöst.

Verfasst: 23.10.2004 17:37
von MVXA
Auszug aus der Hilfe:
Syntax

AddKeyboardShortcut(#Window, Shortcut, EventID)
Beschreibung

Fügt einen Tastatur-Shortcut ("Tastenkürzel") zum angegebenen Fenster '#Window' hinzu. Ein Shortcut generiert ein Menü-Ereignis (wie ein Menü-Eintrag), da sie meistens im Zusammenhang mit Menüs benutzt werden. Der 'EventID' ist der Wert, welcher vom EventMenuID() Befehl zurückgegeben wird. Standardmäßig hat ein Fenster bereits die #PB_Shorcut_Tab und #PB_Shortcut_Tab|#PB_Shortcut_Shift Shortcuts, um die Tabulator und Shift-Tabulator Tasten(kombinationen) korrekt zu handhaben. Ein Shortcut kann mittels RemoveKeyboardShortcut() entfernt werden.
:freak: wie ich das sehe kann man das nur an ein Menüeintrag anhängen

edt:
habs getestet, es funzt ^^ :allright: danke, danke, danke ^^. aber das des Event trozdem nicht ausgelöst wird, ist schwachsinn, entweder fixt das fred oder andre löscht es aus der hilfe /:->

Verfasst: 23.10.2004 20:15
von Andre
LittleFurz hat geschrieben:aber das des Event trozdem nicht ausgelöst wird, ist schwachsinn, entweder fixt das fred oder andre löscht es aus der hilfe /:->
Das entscheidet Fred 8)
Habe daher nochmal darauf hingewiesen...

Verfasst: 23.10.2004 20:21
von DarkDragon
Hat das Stringgadget auch #PB_String_MultiLine als Flag?

Code: Alles auswählen

#WindowWidth  = 200
#WindowHeight = 20
#WindowFlags  = #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_SystemMenu

hWnd = OpenWindow(0, 0, 0, #WindowWidth, #WindowHeight, #WindowFlags, "")

CreateGadgetList(WindowID())
StringGadget(0, 0, 0, 200, 20, "", #PB_String_MultiLine)

Repeat
  Event = WindowEvent()
  Select Event
    Case #PB_Event_Gadget
      If EventGadgetID() = 0 And EventType() = #PB_EventType_ReturnKey
        Debug GetGadgetText(0)
        SetGadgetText(0, "")
      EndIf
  EndSelect
  Delay(5)
Until Event = #PB_Event_CloseWindow
End
Andre hat geschrieben:
LittleFurz hat geschrieben:aber das des Event trozdem nicht ausgelöst wird, ist schwachsinn, entweder fixt das fred oder andre löscht es aus der hilfe /:->
Das entscheidet Fred 8)
Habe daher nochmal darauf hingewiesen...
Funzt doch, oder etwa nicht?