Aber nochmals vielen Dank für die Antworten!
WebGadget Fehlermeldungen unterdrücken?
- FGK
- Beiträge: 249
- Registriert: 09.01.2005 14:02
- Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit - Wohnort: Augsburg
@ Blu-Ray
Ich hab dir mal ein lauffähiges Beispiel gemacht.
Inklusive ner Routine die das Tab und Del im Browser managt.
Ich denke damit kommst du dann schon klar.
Gruß FGK
Ich hab dir mal ein lauffähiges Beispiel gemacht.
Inklusive ner Routine die das Tab und Del im Browser managt.
Ich denke damit kommst du dann schon klar.
Code: Alles auswählen
#WebGadget = 1
Procedure Webgadget_PostMessage(Gadget.l,wParam,lParam)
Static FirstCall.l
If IsGadget(Gadget) And GadgetType(Gadget)=#PB_GadgetType_Web
If FirstCall = 0
CoInitialize_(0)
CoCreateInstance_(?CLSID_IOleInPlaceActiveObject, 0, 1, ?IID_IOleInPlaceActiveObject,@OleObject.IOleInPlaceActiveObject)
FirstCall = 1
EndIf
WebObject.IWebBrowser2 = GetWindowLong_(GadgetID(Gadget), #GWL_USERDATA)
WebObject\QueryInterface(?IID_IOleInPlaceActiveObject, @OleObject.IOleInPlaceActiveObject)
web.MSG\message = #WM_KEYDOWN
web\wParam = wParam
web\lParam = lParam
OleObject\TranslateAccelerator(@web)
OleObject\Release()
EndIf
EndProcedure
If OpenWindow(0,10,10,820,620,"Webbrowser")
If CreateGadgetList(WindowID(0))
WebGadget(#WebGadget,10,10,800,600,"www.google.de")
EndIf
Repeat
EventID.l = WaitWindowEvent()
EventType.l = EventType()
EventGadget.l = EventGadget()
Select EventID
Case #WM_KEYDOWN
If EventGadget = #WebGadget
If EventwParam() = #VK_TAB Or EventwParam() = #VK_DELETE
Webgadget_PostMessage(#WebGadget,EventwParam(),EventlParam())
EndIf
EndIf
EndSelect
Until EventID=#PB_Event_CloseWindow
EndIf
CoUninitialize_()
End
DataSection
IID_IOleInPlaceActiveObject: ; {00000117-0000-0000-C000-000000000046}
Data.l $00000117
Data.w $0000, $0000
Data.b $C0, $00, $00, $00, $00, $00, $00, $46
CLSID_IOleInPlaceActiveObject: ; {00000320-0000-0000-C000-000000000046}
Data.l $00000320
Data.w $0000, $0000
Data.b $C0, $00, $00, $00, $00, $00, $00, $46
EndDataSection
Mit put_Silent(#True) wird zwar das Nachfragefenster fürs Skriptdebugging unterdrückt, aber nun direkt der Debugger gestartet. Kann mann nicht auchFGK hat geschrieben:Code: Alles auswählen
Procedure NoScriptingErrors(Gadget.l) If IsGadget(Gadget) And GadgetType(Gadget) = #PB_GadgetType_Web Browser.IWebBrowser2 = GetWindowLong_(GadgetID(Gadget), #GWL_USERDATA) If Browser Browser\put_Silent(#True) EndIf EndIf EndProcedure
definieren, das Fehler generell unterdrückt werden?
"Papa, ich laufe schneller - dann ist es nicht so weit."