AddKeyboardShortcut bei fremd erzeugtem Fenster ???
Verfasst: 25.05.2005 14:43
Hallo ...
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
doch beim von der dll erzeugten Fenster kenn ich die Konstante ?????????? nicht ... (kenn zwar das Handle ..... aber irgenwie bring ich das nicht hin ....)
hat da wer ne idee wie man das umgehen kann ... bzw anderswärtig schön löst ...
zur verdeutlichung noch ein Beispiel .... wie kann ich in dem per Api erzeugten Window die Tasten per AddKeyboardShortcut abfragen
Danke andi256
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