FOnContextMenu: TDocumentContextMenuEvent;
FOnClick: TDocumentContextMenuEvent;
FOnMouseMove: TDocumentContextMenuEvent;
+ FOnMouseDown: TDocumentContextMenuEvent;
+ FOnDoubleClick: TDocumentContextMenuEvent;
protected
{ IUnknown }
function QueryInterface(const IID:TGUID; out Obj): HRESULT; stdcall;
property OnContextMenu: TDocumentContextMenuEvent read FOnContextMenu write FOnContextMenu;
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
ArgErr: Pointer): HRESULT;
begin
case DispID of
- DISPID_MOUSEMOVE:
- if Assigned(FOnMouseMove) then begin
- PVariant(VarResult)^ := FOnMouseMove(FOwner);
- end;
- DISPID_CLICK:
- if Assigned(FOnClick) then begin
- PVariant(VarResult)^ := FOnClick(FOwner);
- end;
- 1023:
- if Assigned(FOnContextMenu) then begin
- PVariant(VarResult)^ := FOnContextMenu(FOwner);
- end;
+ DISPID_MOUSEDOWN:
+ if Assigned(FOnMouseDown) then begin
+ PVariant(VarResult)^ := FOnMouseDown(FOwner);
+ end;
+ DISPID_MOUSEMOVE:
+ if Assigned(FOnMouseMove) then begin
+ PVariant(VarResult)^ := FOnMouseMove(FOwner);
+ end;
+ DISPID_CLICK:
+ 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);
+ end;
end;
Result := S_OK;
end;