Seite 1 von 1

WinAPP alle Tasten an Hauptprogramm

Verfasst: 09.03.2014 14:51
von mk-soft
Hallo,

Mit WindowCallback und WM_CHAR geht es leider nicht, sobald ein Gadget aktiv ist.
Möchte aber immer das die Zeichen von Hauptprogramm verwaltet wird.

:cry:

Re: WinAPP alle Tasten an Hauptprogramm

Verfasst: 09.03.2014 15:00
von Tommy
Wo is die Frage ?

Re: WinAPP alle Tasten an Hauptprogramm

Verfasst: 09.03.2014 16:45
von edel
So, mal gucken ob ich dich richtig verstanden habe ;)

SetWindowSubclass findest du hier im Forum.

Code: Alles auswählen

Macro LoWord(Value)
  (Value & $FFFF)     
EndMacro

Procedure Callback(hWnd, Msg, wParam, lParam, id, uData)
  
  If Msg = #WM_PARENTNOTIFY
    
    If Loword(wParam) = #WM_CREATE
      SetWindowSubclass(lParam, @Callback(), 0, 0)
    EndIf
    
    If Loword(wParam) = #WM_DESTROY
      RemoveWindowSubclass(lParam, @Callback(), 0)
    EndIf    
    
  EndIf  
  
  If Msg = #WM_CHAR
    Debug "Gadget:" + hWnd + " | CHAR : " + Chr(wParam)
  EndIf
  
  ProcedureReturn DefSubclassProc(hWnd, Msg, wParam, lParam)
EndProcedure

Procedure Main()
  Protected Event
  
  If OpenWindow(0, #PB_Ignore, #PB_Ignore, 600, 400, "")   
    SetWindowSubclass(WindowID(0), @Callback(), 0, 0)
    
    ButtonGadget(0, 10, 10, 100, 23, "Button")
    StringGadget(1, 10, 40, 100, 23, "")
    
    ContainerGadget(2, 130, 10, 120, 100, #PB_Container_Flat)
    StringGadget(#PB_Any, 10, 10, 100, 23, "")
    
    Repeat
      Event = WaitWindowEvent()
      
    Until Event = #PB_Event_CloseWindow
    
    
  EndIf
  
EndProcedure:Main()

Re: WinAPP alle Tasten an Hauptprogramm

Verfasst: 10.03.2014 01:07
von mk-soft
Danke,

werde ich mir nächste Woche anschauen.

Ich habe es zur Zeit mit KeyboardHook gelöst...

FF :)