+//ID\83A\83\93\83J\81[\92Ç\89Á
+procedure TBrowserRecord.IDAnchorPopup(Abody :string);
+const
+ OUTER_HTML = '<p id="idSearch"></p>';
+ HIDDEN = 'hidden';
+var
+ firstElement: IHTMLElement;
+ document: IHTMLDocument2;
+ docAll: IHTMLElementCollection;
+ doc : Variant;
+ nCSS : string;
+begin
+ if Self.Browser <> nil then begin
+ try
+ document := Self.Browser.Document as IHTMLDocument2;
+
+ if Assigned(document) then begin
+ docAll := document.all;
+ firstElement := docAll.item('idSearch', 0) as IHTMLElement;
+ if (Assigned(firstElement)) then begin
+ if Length(Abody) > 0 then begin
+ doc := Idispatch( olevariant(Self.Browser.ControlInterface).Document) as IHTMLDocument2;
+ nCSS := '<p id="idSearch" style="position:absolute;top:' + IntToStr(doc.Body.ScrollTop + 10) + 'px;right:5px;' //
+ + 'background-color:window; border:outset 1px infobackground; z-index:10; overflow-y:auto; border-top:none">'
+ + Abody + '</p>';
+ firstElement.outerHTML := nCSS;
+ firstElement.style.visibility := 'visible';
+ end else begin
+ firstElement.outerHTML := OUTER_HTML;
+ firstElement.style.visibility := HIDDEN;
+ end;
+ end else if (Assigned(firstElement)) then begin
+ firstElement.outerHTML := OUTER_HTML;
+ firstElement.style.visibility := HIDDEN;
+ end;
+ end;
+ except
+ end;
+ end;
+end;
+{
+\brief \8c\9f\8dõ\83_\83C\83A\83\8d\83O\8cÄ\82Ñ\8fo\82µ
+}
+procedure TBrowserRecord.OpenFindDialog();
+const
+ CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
+ HTMLID_FIND = 1;
+var
+ CmdTarget : IOleCommandTarget;
+ vaIn, vaOut: OleVariant;
+ PtrGUID: PGUID;
+begin
+ if (Self.Browser <> nil) and (Self.Browser.Document <> nil) then begin
+ //\83u\83\89\83E\83U\82ª\83f\81[\83^\82Ì\93Ç\82Ý\8d\9e\82Ý\92\86\82Ì\8e\9e\82Í\93Ç\82Ý\8d\9e\82Ý\82ð\91Ò\82Â
+ while (Self.Browser.ReadyState <> READYSTATE_COMPLETE) and
+ (Self.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
+ Sleep(1);
+ Application.ProcessMessages;
+ end;
+ vaIn := 0;
+ vaOut := 0;
+ New(PtrGUID);
+ PtrGUID^ := CGID_WebBrowser;
+ try
+ try
+ if Self.Browser.Document
+ .QueryInterface(IOleCommandTarget, CmdTarget)
+ = S_OK then begin
+ if CmdTarget <> nil then begin
+ try
+ CmdTarget.Exec(PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
+ finally
+ CmdTarget._Release;
+ end;
+ end;
+ end;
+ except
+ end;
+ finally
+ Dispose(PtrGUID);
+ end;
+ end;
+end;