const
NGWORDNAME_PANEL = 3;
THREADSIZE_PANEL = 2;
-
+ USER_RESPOPUPCLEAR = WM_USER + 2005; ///< wParam : TWebBrowser
+
type
TToolBarSettingSenderType = (tssNone, tssMain, tssList, tssBrowser);
senderBrowser := TWebBrowser( Message.WParam );
BrowserDocumentComplete( senderBrowser, senderBrowser.Parent, url );
end;
+ USER_RESPOPUPCLEAR:
+ if (TObject(Message.WParam) is TResPopupBrowser) then begin
+ try
+ TResPopupBrowser( Message.WParam ).Clear;
+ except
+ end;
+ end;
end;
inherited;
FOnClick: TDocumentContextMenuEvent;
FOnMouseMove: TDocumentContextMenuEvent;
FOnMouseDown: TDocumentContextMenuEvent;
+ FOnDoubleClick: TDocumentContextMenuEvent;
protected
{ IUnknown }
function QueryInterface(const IID:TGUID; out Obj): HRESULT; stdcall;
property OnClick: TDocumentContextMenuEvent read FOnClick write FOnClick;
property OnMouseMove: TDocumentContextMenuEvent read FOnMouseMove write FOnMouseMove;
property OnMouseDown: TDocumentContextMenuEvent read FOnMouseDown write FOnMouseDown;
+ property OnDoubleClick: TDocumentContextMenuEvent read FOnDoubleClick write FOnDoubleClick;
end;
implementation
if Assigned(FOnClick) then begin
PVariant(VarResult)^ := FOnClick(FOwner);
end;
+ DISPID_DBLCLICK:
+ if Assigned(FOnDoubleClick) then begin
+ PVariant(VarResult)^ := FOnDoubleClick(FOwner);
+ end;
1023:
if Assigned(FOnContextMenu) then begin
PVariant(VarResult)^ := FOnContextMenu(FOwner);
function GetTitle(OnlyTitle: Boolean): string;
function CalcRect(WorkArea: TRect; Scroll: Boolean): TRect;
function ResPopupBrowserClick(Sender: TObject): WordBool;
+ function ResPopupBrowserDbClick(Sender: TObject): WordBool;
function GetThread: TThreadItem;
protected
procedure CreateParams(var Params: TCreateParams); override;
FDispHtmlDocument := Idispatch(OleVariant(Self.ControlInterface).Document) as DispHTMLDocument;
FEvent := THTMLDocumentEventSink.Create(Self, FDispHtmlDocument, HTMLDocumentEvents2);
FEvent.OnClick := ResPopupBrowserClick;
-
+ FEvent.OnDoubleClick := ResPopupBrowserDbClick;
Self.Visible := True;
SetWindowPos(Self.Handle, HWND_TOPMOST,
ARect.Left, ARect.Top,
FOleInPlaceActiveObject := Self.ControlInterface as IOleInPlaceActiveObject;
FOleInPlaceActiveObject.OnFrameWindowActivate(False);
end;
-
+function TResPopupBrowser.ResPopupBrowserDbClick(Sender: TObject): WordBool;
+begin
+ // \83M\83R\83i\83r\82Ì\83t\83H\81[\83J\83X\82ð\92D\82Á\82Ä\82é\82Ì\82Å\83t\83H\81[\83\80\82É\96³\97\9d\82â\82è\95Ô\82·
+ Blur;
+ // \8e©\95ª\82Å\8e©\95ª\82Í\8fÁ\82¹\82È\82¢\82Ì\82Å\81A\83\81\83b\83Z\81[\83W\8co\97R\82Å\8fÁ\82µ\82Ä\82à\82ç\82¤
+ PostMessage( GikoForm.Handle , USER_RESPOPUPCLEAR, Integer( Self ), 0 );
+ Result := True;
+end;
initialization
OleInitialize(nil);