Der einzige Code der dieses Manko behebt, den habe ich im englischen Forum gefunden und der ist von


Allerdings gehöre ich zu denen, die diese COM Geschichten in diesem Leben nicht mehr verstehen werden.
Also frag mich bitte keiner WIE, Warum, Weshalb.
Originalcode etwas angepasst.
Code: Alles auswählen
Procedure WebGadgetTasten(pbnr)
Select EventwParam()
Case #VK_C, #VK_V, #VK_DELETE, #VK_TAB
CoInitialize_(0)
CoCreateInstance_(?CLSID_IOleInPlaceActiveObject, 0, 1, ?IID_IOleInPlaceActiveObject,@OleObject.IOleInPlaceActiveObject)
WebObject.IWebBrowser2 = GetWindowLong_(GadgetID(pbnr), #GWL_USERDATA)
WebObject\QueryInterface(?IID_IOleInPlaceActiveObject, @OleObject)
web.MSG
web\message = #WM_KEYDOWN
web\wParam = EventwParam()
web\lParam = EventlParam()
OleObject\TranslateAccelerator(@web)
OleObject\Release()
CoUninitialize_()
EndSelect
DataSection
;{00000117-0000-0000-C000-000000000046}
IID_IOleInPlaceActiveObject:
Data.l $00000117
Data.w $0000, $0000
Data.b $C0, $00, $00, $00, $00, $00, $00, $46
;{00000320-0000-0000-C000-000000000046}
CLSID_IOleInPlaceActiveObject:
Data.l $00000320
Data.w $0000, $0000
Data.b $C0, $00, $00, $00, $00, $00, $00, $46
EndDataSection
EndProcedure
; --------------------------------------------------
#webgadnr = 1
If OpenWindow(0, 0, 0, 700, 500, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar)
WebGadget(#webgadnr, 10, 10, 680, 480, "http://www.google.com/")
Repeat
event = WaitWindowEvent()
If event = #WM_KEYDOWN
If EventGadget() = #webgadnr
WebGadgetTasten(#webgadnr)
EndIf
EndIf
Until event = #PB_Event_CloseWindow
EndIf
End



Edit: Wenn man das Ganze in ein Programm einbaut, kann es sein,
das die Abfrage "If EventGadget() = #webgadnr" wegfallen muß.
Return scheint aber nicht zu funktionieren, falls Return als Shortcut definiert wurde