hab ne frage ... steh auf der Leitung ????
ich hab ein programm(Fenster) das zur laufzeit per dll ein (child) fenster generiert ... nun möcht ich das in beiden Fenster da gewisse Tasten überwacht werden ...
beim Hauptfenster ist das einfach
Code: Alles auswählen
If OpenWindow(#Hauptfenster, 130, 130, 600, 480, ......
AddKeyboardShortcut(#Hauptfenster, #PB_Shortcut_Return, 1000)
Code: Alles auswählen
child_hwnd = Findwindow_(......)#
AddKeyboardShortcut(????????????????, #PB_Shortcut_Return, 1000)
zur verdeutlichung noch ein Beispiel .... wie kann ich in dem per Api erzeugten Window die Tasten per AddKeyboardShortcut abfragen
Code: Alles auswählen
Procedure WindowCallback(Window, Message, wParam, lParam)
Select Message
Case #WM_CLOSE
If MessageBox_(Window, "Wirklich beenden?", "EXIT", #MB_YESNO) = #IDYES
DestroyWindow_(Window)
Else
Result = 0
EndIf
Case #WM_DESTROY
PostQuitMessage_(0)
Result = 0
Default
Result = DefWindowProc_(Window, Message, wParam, lParam)
EndSelect
ProcedureReturn Result
EndProcedure
#Style = #WS_VISIBLE | #WS_BORDER | #WS_SYSMENU
#StyleEx = #WS_EX_TOOLWINDOW ;| #WS_EX_OVERLAPPEDWINDOW
WindowClass.s = "MeinFenster"
wc.WNDCLASSEX
wc\cbSize = SizeOf(WNDCLASSEX)
wc\lpfnWndProc = @WindowCallback()
wc\hCursor = LoadCursor_(0, #IDC_CROSS); #IDC_ARROW = Arrow
wc\hbrBackground = #COLOR_WINDOW + 1;CreateSolidBrush_(RGB($8F,$8F,$8F))
wc\lpszClassName = @WindowClass
RegisterClassEx_(@wc)
hWndMain = CreateWindowEx_(#StyleEx, WindowClass, "Test-Window", #Style, 10, 10, 200, 200, 0, 0, 0, 0)
ShowWindow_(hWndMain, #SW_SHOWDEFAULT)
UpdateWindow_(hWndMain)
;AddKeyboardShortcut(???????????, #PB_Shortcut_Return, 1000)
While GetMessage_(msg.MSG, #NULL, 0, 0 )
TranslateMessage_(msg)
DispatchMessage_(msg)
Wend