![]() |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Zitat:
Folgende events kommen in dieser Procedure in dieser Reihenfolge an:
Delphi-Quellcode:
Leider wird die IHTMLPainter.Draw nie aufgerufen...
IID_IElementBehaviorFactory:{3050F429-98B5-11CF-BB82-00AA00BDCE0B}
IID_IElementBehavior:{3050F425-98B5-11CF-BB82-00AA00BDCE0B} IID_IProxyManager:TGUID ='{00000008-0000-0000-C000-000000000046}' ??? {3050F4FA-98B5-11CF-BB82-00AA00BDCE0B} IID_IPersistPropertyBag2:TGUID ='{22F55881-280B-11D0-A8A9-00A0C90C2004}' IID_IPersistPropertyBag:TGUID ='{37D84F60-42CB-11CE-8135-00AA004BB851}' IID_CPC:TGUID = '{B196B284-BAB4-101A-B69C-00AA00341D07}' IID_IHTMLPainter:{3050F6A6-98B5-11CF-BB82-00AA00BDCE0B} ??? {3050F6DE-98B5-11CF-BB82-00AA00BDCE0B} IID_IHTMLPainterOverlay: TGUID = '{3050F7E3-98B5-11CF-BB82-00AA00BDCE0B}'; IID_IHTMLPainterEventInfo: TGUID = '{3050F6DF-98B5-11CF-BB82-00AA00BDCE0B}'; IID_IElementBehaviorCategory: TGUID = '{3050F4ED-98B5-11CF-BB82-00AA00BDCE0B}'; IID_IOleCommandTarget = "{B722BCCB-4E68-101B-A2BC-00AA00404770}" IID_IElementBehaviorLayout: TGUID = '{3050F6BA-98B5-11CF-BB82-00AA00BDCE0B}'; Hast Du noch eine Idee? Ach ja die Behavior setze ich so: (Ich hasse Interfaces)
Delphi-Quellcode:
mfg Frank :coder:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant); var vFactory : OleVariant; Body : IHTMLElement; Body2 : IHTMLElement2; Doc : IHTMLDocument2; begin (Webbrowser1.Document as IHTMLDocument2).designMode := 'on'; (Webbrowser1.Document as IHTMLDocument2).execCommand('2D-Position', false,true); (Webbrowser1.Document as IHTMLDocument2).execCommand('MULTIPLESELECTION',false,true); (Webbrowser1.Document as IHTMLDocument2).execCommand('Liveresize',false,true); Doc := (Webbrowser1.Document as IHTMLDocument2); Body := Doc.createElement('body'); if Body = NIL then exit; Body.QueryInterface(IID_IHTMLElement2,Body2); if Body2 = NIL then begin Body._Release; exit; end; VFactory := IElementBehaviorFactory(Self); Body2.addBehavior('',vFactory); Body._Release; Body2._Release; end; |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
PS.: Die Aufrufreihenfolge ist
FindBehavior Init GetPainterInfo Notify Detach Jedoch liefert ein PaintSite.InvalidateRect(NIL); einen Fehler $8000FFFF { Catastrophic failure } E_UNEXPECTED = HRESULT($8000FFFF); Frank :gruebel: |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
hähem.... Push :oops:
Hat das von Euch noch niemand verwenden? Frank :angel: |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Ich habe diese Schnittstellen in noch keinem Projekt gebraucht, aber wenn du Code-Fragmente zum debuggen hast, dann stelle sie ruhig ein.
marabu |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Zitat:
Werde ich machen...Danke für das Angebot. Frrank |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Zitat:
Mfg Frank |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Frank,
ich habe ein Rahmenprojekt implementiert, welches ohne die von dir verwendete EditHost-Komponente auskommt. Ist nicht viel Code, tut nicht viel, aber soll möglichst deutlich die Vorgehensweise beim Implementieren der Schnittstelle IHTMLEditHost zeigen. Ich habe den von dir verwendeten EmbeddedWebBrowser zugrunde gelegt. Die Unit MSHTML_TLB verwende ich nicht direkt, sondern schlachte sie nach Bedarf aus. Wenn Interesse besteht, dann baue ich das Projekt noch weiter aus. Kann aber dauern, da ich momentan bei einem Kunden eingespannt bin und zusammenhängende Zeit zu finden nicht einfach ist. Grüße vom marabu |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Hallo!
Sorry, aber das war es leider nicht... Es ging darum, das der QueryService NUR aufgerufen wird, wenn diese EmbeddedWebBrowser komponente verwendet wird. Diese Komponente nutzt übrigens auch die MSHTML_TLB und Du hast die Indirekt auch verwendet, den MSHTML ist das gleiche - nur von Borland und veraltet. Es ging mir darum die Paintsite implementierung zu erhalten um das Grid zu zeichnen... Ich hatte Dir doch ein Demo-Programm geschickt... Trotzdem Danke für Deine Mühe... LG Frank PS.: Vielleicht kannst Du ja nochmal schauen, warum QueryService in einem "normalen" Form nicht funktioniert, bzw. ein PaintSite.Invalidate eine Catrastrophic failure liefert... |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Hallo Frank.
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Freundliche Grüße marabu |
Re: TWebbrowser Gridshow und Snap-to-grid CtoPas
Zitat:
Zitat:
Zitat:
Zitat:
LG Frank :coder: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz