📄 shdocvw_tlb.pas
字号:
property Align;
property DragCursor;
property DragMode;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnStartDrag;
property Visible: WordBool index 402 read GetWordBoolProp write SetWordBoolProp stored False;
property StatusBar: WordBool index 403 read GetWordBoolProp write SetWordBoolProp stored False;
property StatusText: WideString index 404 read GetWideStringProp write SetWideStringProp stored False;
property ToolBar: SYSINT index 405 read GetIntegerProp write SetIntegerProp stored False;
property MenuBar: WordBool index 406 read GetWordBoolProp write SetWordBoolProp stored False;
property FullScreen: WordBool index 407 read GetWordBoolProp write SetWordBoolProp stored False;
property Offline: WordBool index 550 read GetWordBoolProp write SetWordBoolProp stored False;
property Silent: WordBool index 551 read GetWordBoolProp write SetWordBoolProp stored False;
property RegisterAsBrowser: WordBool index 552 read GetWordBoolProp write SetWordBoolProp stored False;
property RegisterAsDropTarget: WordBool index 553 read GetWordBoolProp write SetWordBoolProp stored False;
property TheaterMode: WordBool index 554 read GetWordBoolProp write SetWordBoolProp stored False;
property AddressBar: WordBool index 555 read GetWordBoolProp write SetWordBoolProp stored False;
property Resizable: WordBool index 556 read GetWordBoolProp write SetWordBoolProp stored False;
property OnStatusTextChange: TWebBrowserStatusTextChange read FOnStatusTextChange write FOnStatusTextChange;
property OnProgressChange: TWebBrowserProgressChange read FOnProgressChange write FOnProgressChange;
property OnCommandStateChange: TWebBrowserCommandStateChange read FOnCommandStateChange write FOnCommandStateChange;
property OnDownloadBegin: TNotifyEvent read FOnDownloadBegin write FOnDownloadBegin;
property OnDownloadComplete: TNotifyEvent read FOnDownloadComplete write FOnDownloadComplete;
property OnTitleChange: TWebBrowserTitleChange read FOnTitleChange write FOnTitleChange;
property OnPropertyChange: TWebBrowserPropertyChange read FOnPropertyChange write FOnPropertyChange;
property OnBeforeNavigate2: TWebBrowserBeforeNavigate2 read FOnBeforeNavigate2 write FOnBeforeNavigate2;
property OnNewWindow2: TWebBrowserNewWindow2 read FOnNewWindow2 write FOnNewWindow2;
property OnNavigateComplete2: TWebBrowserNavigateComplete2 read FOnNavigateComplete2 write FOnNavigateComplete2;
property OnDocumentComplete: TWebBrowserDocumentComplete read FOnDocumentComplete write FOnDocumentComplete;
property OnQuit: TNotifyEvent read FOnQuit write FOnQuit;
property OnVisible: TWebBrowserOnVisible read FOnVisible write FOnVisible;
property OnToolBar: TWebBrowserOnToolBar read FOnToolBar write FOnToolBar;
property OnMenuBar: TWebBrowserOnMenuBar read FOnMenuBar write FOnMenuBar;
property OnStatusBar: TWebBrowserOnStatusBar read FOnStatusBar write FOnStatusBar;
property OnFullScreen: TWebBrowserOnFullScreen read FOnFullScreen write FOnFullScreen;
property OnTheaterMode: TWebBrowserOnTheaterMode read FOnTheaterMode write FOnTheaterMode;
end;
{ Shell Folder View Events Router. }
TShellFolderViewOC = class(TOleControl)
private
FOnSelectionChanged: TNotifyEvent;
FIntf: IFolderViewOC;
function GetControlInterface: IFolderViewOC;
protected
procedure CreateControl;
procedure InitControlData; override;
function GetTOleEnumProp(Index: Integer): TOleEnum;
procedure SetTOleEnumProp(Index: Integer; Value: TOleEnum);
public
procedure SetFolderView(pDisp: IDispatch);
property ControlInterface: IFolderViewOC read GetControlInterface;
published
property OnSelectionChanged: TNotifyEvent read FOnSelectionChanged write FOnSelectionChanged;
end;
//procedure Register;
implementation
uses ComObj;
procedure TWebBrowser_V1.InitControlData;
const
CEventDispIDs: array[0..16] of Integer = (
$00000064, $00000065, $00000066, $0000006C, $00000068, $00000069,
$0000006A, $0000006B, $00000071, $000000C8, $000000C9, $000000CC,
$00000067, $0000006D, $0000006E, $0000006F, $00000070);
CControlData: TControlData = (
ClassID: '{EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B}';
EventIID: '{EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B}';
EventCount: 17;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil;
Flags: $00000000;
Version: 300);
begin
ControlData := @CControlData;
end;
procedure TWebBrowser_V1.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IWebBrowser;
end;
begin
if FIntf = nil then DoCreate;
end;
function TWebBrowser_V1.GetControlInterface: IWebBrowser;
begin
CreateControl;
Result := FIntf;
end;
function TWebBrowser_V1.GetTOleEnumProp(Index: Integer): TOleEnum;
begin
Result := GetIntegerProp(Index);
end;
procedure TWebBrowser_V1.SetTOleEnumProp(Index: Integer; Value: TOleEnum);
begin
SetIntegerProp(Index, Value);
end;
procedure TWebBrowser_V1.GoBack;
begin
CreateControl;
FIntf.GoBack;
end;
procedure TWebBrowser_V1.GoForward;
begin
CreateControl;
FIntf.GoForward;
end;
procedure TWebBrowser_V1.GoHome;
begin
CreateControl;
FIntf.GoHome;
end;
procedure TWebBrowser_V1.GoSearch;
begin
CreateControl;
FIntf.GoSearch;
end;
procedure TWebBrowser_V1.Navigate(const URL: WideString; var Flags, TargetFrameName, PostData, Headers: OleVariant);
begin
CreateControl;
FIntf.Navigate(URL, Flags, TargetFrameName, PostData, Headers);
end;
procedure TWebBrowser_V1.Refresh;
begin
CreateControl;
FIntf.Refresh;
end;
procedure TWebBrowser_V1.Refresh2(var Level: OleVariant);
begin
CreateControl;
FIntf.Refresh2(Level);
end;
procedure TWebBrowser_V1.Stop;
begin
CreateControl;
FIntf.Stop;
end;
procedure TWebBrowser.InitControlData;
const
CEventDispIDs: array[0..17] of Integer = (
$00000066, $0000006C, $00000069, $0000006A, $00000068, $00000071,
$00000070, $000000FA, $000000FB, $000000FC, $00000103, $000000FD,
$000000FE, $000000FF, $00000100, $00000101, $00000102, $00000104);
CControlData: TControlData = (
ClassID: '{8856F961-340A-11D0-A96B-00C04FD705A2}';
EventIID: '{34A715A0-6587-11D0-924A-0020AFC7AC4D}';
EventCount: 18;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil;
Flags: $00000000;
Version: 300);
begin
ControlData := @CControlData;
end;
procedure TWebBrowser.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IWebBrowser2;
end;
begin
if FIntf = nil then DoCreate;
end;
function TWebBrowser.GetControlInterface: IWebBrowser2;
begin
CreateControl;
Result := FIntf;
end;
function TWebBrowser.GetTOleEnumProp(Index: Integer): TOleEnum;
begin
Result := GetIntegerProp(Index);
end;
procedure TWebBrowser.SetTOleEnumProp(Index: Integer; Value: TOleEnum);
begin
SetIntegerProp(Index, Value);
end;
procedure TWebBrowser.GoBack;
begin
CreateControl;
FIntf.GoBack;
end;
procedure TWebBrowser.GoForward;
begin
CreateControl;
FIntf.GoForward;
end;
procedure TWebBrowser.GoHome;
begin
CreateControl;
FIntf.GoHome;
end;
procedure TWebBrowser.GoSearch;
begin
CreateControl;
FIntf.GoSearch;
end;
procedure TWebBrowser.Navigate(const URL: WideString; var Flags, TargetFrameName, PostData, Headers: OleVariant);
begin
CreateControl;
FIntf.Navigate(URL, Flags, TargetFrameName, PostData, Headers);
end;
procedure TWebBrowser.Refresh;
begin
CreateControl;
FIntf.Refresh;
end;
procedure TWebBrowser.Refresh2(var Level: OleVariant);
begin
CreateControl;
FIntf.Refresh2(Level);
end;
procedure TWebBrowser.Stop;
begin
CreateControl;
FIntf.Stop;
end;
procedure TWebBrowser.Quit;
begin
CreateControl;
FIntf.Quit;
end;
procedure TWebBrowser.ClientToWindow(var pcx, pcy: SYSINT);
begin
CreateControl;
FIntf.ClientToWindow(pcx, pcy);
end;
procedure TWebBrowser.PutProperty(const Property_: WideString; vtValue: OleVariant);
begin
CreateControl;
FIntf.PutProperty(Property_, vtValue);
end;
function TWebBrowser.GetProperty(const Property_: WideString): OleVariant;
begin
CreateControl;
Result := FIntf.GetProperty(Property_);
end;
procedure TWebBrowser.Navigate2(var URL, Flags, TargetFrameName, PostData, Headers: OleVariant);
begin
CreateControl;
FIntf.Navigate2(URL, Flags, TargetFrameName, PostData, Headers);
end;
function TWebBrowser.QueryStatusWB(cmdID: OLECMDID): OLECMDF;
begin
CreateControl;
Result := FIntf.QueryStatusWB(cmdID);
end;
procedure TWebBrowser.ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn, pvaOut: OleVariant);
begin
CreateControl;
FIntf.ExecWB(cmdID, cmdexecopt, pvaIn, pvaOut);
end;
procedure TWebBrowser.ShowBrowserBar(var pvaClsid, pvarShow, pvarSize: OleVariant);
begin
CreateControl;
FIntf.ShowBrowserBar(pvaClsid, pvarShow, pvarSize);
end;
procedure TShellFolderViewOC.InitControlData;
const
CEventDispIDs: array[0..0] of Integer = (
$000000C8);
CControlData: TControlData = (
ClassID: '{9BA05971-F6A8-11CF-A442-00A0C90A8F39}';
EventIID: '{62112AA2-EBE4-11CF-A5FB-0020AFE7292D}';
EventCount: 1;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil;
Flags: $00000000;
Version: 300);
begin
ControlData := @CControlData;
end;
procedure TShellFolderViewOC.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IFolderViewOC;
end;
begin
if FIntf = nil then DoCreate;
end;
function TShellFolderViewOC.GetControlInterface: IFolderViewOC;
begin
CreateControl;
Result := FIntf;
end;
function TShellFolderViewOC.GetTOleEnumProp(Index: Integer): TOleEnum;
begin
Result := GetIntegerProp(Index);
end;
procedure TShellFolderViewOC.SetTOleEnumProp(Index: Integer; Value: TOleEnum);
begin
SetIntegerProp(Index, Value);
end;
procedure TShellFolderViewOC.SetFolderView(pDisp: IDispatch);
begin
CreateControl;
FIntf.SetFolderView(pDisp);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -