📄 dhtmledlib_tlb.pas
字号:
property OnEnter;
property OnExit;
property OnStartDrag;
property DocumentHTML: WideString index 17 read GetWideStringProp write SetWideStringProp stored False;
property ActivateApplets: WordBool index 7 read GetWordBoolProp write SetWordBoolProp stored False;
property ActivateActiveXControls: WordBool index 8 read GetWordBoolProp write SetWordBoolProp stored False;
property ActivateDTCs: WordBool index 9 read GetWordBoolProp write SetWordBoolProp stored False;
property ShowDetails: WordBool index 11 read GetWordBoolProp write SetWordBoolProp stored False;
property ShowBorders: WordBool index 12 read GetWordBoolProp write SetWordBoolProp stored False;
property Appearance: DHTMLEDITAPPEARANCE index 13 read GetTOleEnumProp write SetTOleEnumProp stored False;
property Scrollbars: WordBool index 14 read GetWordBoolProp write SetWordBoolProp stored False;
property ScrollbarAppearance: DHTMLEDITAPPEARANCE index 15 read GetTOleEnumProp write SetTOleEnumProp stored False;
property SourceCodePreservation: WordBool index 16 read GetWordBoolProp write SetWordBoolProp stored False;
property AbsoluteDropMode: WordBool index 18 read GetWordBoolProp write SetWordBoolProp stored False;
property SnapToGridX: Integer index 19 read GetIntegerProp write SetIntegerProp stored False;
property SnapToGridY: Integer index 20 read GetIntegerProp write SetIntegerProp stored False;
property SnapToGrid: WordBool index 21 read GetWordBoolProp write SetWordBoolProp stored False;
property BaseURL: WideString index 24 read GetWideStringProp write SetWideStringProp stored False;
property UseDivOnCarriageReturn: WordBool index 30 read GetWordBoolProp write SetWordBoolProp stored False;
property OnDocumentComplete: TNotifyEvent read FOnDocumentComplete write FOnDocumentComplete;
property OnDisplayChanged: TNotifyEvent read FOnDisplayChanged write FOnDisplayChanged;
property OnShowContextMenu: TDHTMLSafeShowContextMenu read FOnShowContextMenu write FOnShowContextMenu;
property OnContextMenuAction: TDHTMLSafeContextMenuAction read FOnContextMenuAction write FOnContextMenuAction;
property Ononmousedown: TNotifyEvent read FOnonmousedown write FOnonmousedown;
property Ononmousemove: TNotifyEvent read FOnonmousemove write FOnonmousemove;
property Ononmouseup: TNotifyEvent read FOnonmouseup write FOnonmouseup;
property Ononmouseout: TNotifyEvent read FOnonmouseout write FOnonmouseout;
property Ononmouseover: TNotifyEvent read FOnonmouseover write FOnonmouseover;
property Ononclick: TNotifyEvent read FOnonclick write FOnonclick;
property Onondblclick: TNotifyEvent read FOnondblclick write FOnondblclick;
property Ononkeydown: TNotifyEvent read FOnonkeydown write FOnonkeydown;
property Ononkeypress: TNotifyEvent read FOnonkeypress write FOnonkeypress;
property Ononkeyup: TNotifyEvent read FOnonkeyup write FOnonkeyup;
property Ononblur: TNotifyEvent read FOnonblur write FOnonblur;
property Ononreadystatechange: TNotifyEvent read FOnonreadystatechange write FOnonreadystatechange;
end;
procedure Register;
implementation
uses ComObj;
procedure TDHTMLEdit.InitControlData;
const
CEventDispIDs: array[0..15] of Integer = (
$00000001, $00000002, $00000003, $00000004, $00000005, $00000006,
$00000007, $00000008, $00000009, $0000000A, $0000000B, $0000000C,
$0000000D, $0000000E, $0000000F, $00000010);
CControlData: TControlData = (
ClassID: '{2D360200-FFF5-11D1-8D03-00A0C959BC0A}';
EventIID: '{588D5040-CF28-11D1-8CD3-00A0C959BC0A}';
EventCount: 16;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil;
Flags: $00000000;
Version: 300);
begin
ControlData := @CControlData;
end;
procedure TDHTMLEdit.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IDHTMLEdit;
end;
begin
if FIntf = nil then DoCreate;
end;
function TDHTMLEdit.GetControlInterface: IDHTMLEdit;
begin
CreateControl;
Result := FIntf;
end;
function TDHTMLEdit.GetTOleEnumProp(Index: Integer): TOleEnum;
begin
Result := GetIntegerProp(Index);
end;
procedure TDHTMLEdit.SetTOleEnumProp(Index: Integer; Value: TOleEnum);
begin
SetIntegerProp(Index, Value);
end;
function TDHTMLEdit.ExecCommand(cmdID: DHTMLEDITCMDID; cmdexecopt: OLECMDEXECOPT; var pInVar: OleVariant): OleVariant;
begin
CreateControl;
Result := FIntf.ExecCommand(cmdID, cmdexecopt, pInVar);
end;
function TDHTMLEdit.QueryStatus(cmdID: DHTMLEDITCMDID): DHTMLEDITCMDF;
begin
CreateControl;
Result := FIntf.QueryStatus(cmdID);
end;
procedure TDHTMLEdit.SetContextMenu(var menuStrings, menuStates: OleVariant);
begin
CreateControl;
FIntf.SetContextMenu(menuStrings, menuStates);
end;
procedure TDHTMLEdit.NewDocument;
begin
CreateControl;
FIntf.NewDocument;
end;
procedure TDHTMLEdit.LoadURL(const url: WideString);
begin
CreateControl;
FIntf.LoadURL(url);
end;
function TDHTMLEdit.FilterSourceCode(const sourceCodeIn: WideString): WideString;
begin
CreateControl;
Result := FIntf.FilterSourceCode(sourceCodeIn);
end;
procedure TDHTMLEdit.Refresh;
begin
CreateControl;
FIntf.Refresh;
end;
procedure TDHTMLEdit.LoadDocument(var pathIn, promptUser: OleVariant);
begin
CreateControl;
FIntf.LoadDocument(pathIn, promptUser);
end;
procedure TDHTMLEdit.SaveDocument(var pathIn, promptUser: OleVariant);
begin
CreateControl;
FIntf.SaveDocument(pathIn, promptUser);
end;
procedure TDHTMLEdit.PrintDocument(var withUI: OleVariant);
begin
CreateControl;
FIntf.PrintDocument(withUI);
end;
function TDHTMLEdit.Get_DOM: IHTMLDocument2;
begin
CreateControl;
Result := FIntf.DOM;
end;
{ TDummyControl }
procedure TDummyControl.DefaultHandler(var Message);
begin
if (TMessage(Message).Msg = $14) and FLockErase then
begin
TMessage(Message).Result := 0;
end else
begin
inherited DefaultHandler(Message);
end;
end;
procedure TDummyControl.SetLockErase(ALock: Boolean);
begin
FLockErase := ALock;
end;
procedure TDHTMLSafe.InitControlData;
const
CEventDispIDs: array[0..15] of Integer = (
$00000001, $00000002, $00000003, $00000004, $00000005, $00000006,
$00000007, $00000008, $00000009, $0000000A, $0000000B, $0000000C,
$0000000D, $0000000E, $0000000F, $00000010);
CControlData: TControlData = (
ClassID: '{2D360201-FFF5-11D1-8D03-00A0C959BC0A}';
EventIID: '{D1FC78E8-B380-11D1-ADC5-006008A5848C}';
EventCount: 16;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil;
Flags: $00000000;
Version: 300);
begin
ControlData := @CControlData;
end;
procedure TDHTMLSafe.CreateControl;
procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IDHTMLSafe;
end;
begin
if FIntf = nil then DoCreate;
end;
function TDHTMLSafe.GetControlInterface: IDHTMLSafe;
begin
CreateControl;
Result := FIntf;
end;
function TDHTMLSafe.GetTOleEnumProp(Index: Integer): TOleEnum;
begin
Result := GetIntegerProp(Index);
end;
procedure TDHTMLSafe.SetTOleEnumProp(Index: Integer; Value: TOleEnum);
begin
SetIntegerProp(Index, Value);
end;
function TDHTMLSafe.ExecCommand(cmdID: DHTMLEDITCMDID; cmdexecopt: OLECMDEXECOPT; var pInVar: OleVariant): OleVariant;
begin
CreateControl;
Result := FIntf.ExecCommand(cmdID, cmdexecopt, pInVar);
end;
function TDHTMLSafe.QueryStatus(cmdID: DHTMLEDITCMDID): DHTMLEDITCMDF;
begin
CreateControl;
Result := FIntf.QueryStatus(cmdID);
end;
procedure TDHTMLSafe.SetContextMenu(var menuStrings, menuStates: OleVariant);
begin
CreateControl;
FIntf.SetContextMenu(menuStrings, menuStates);
end;
procedure TDHTMLSafe.NewDocument;
begin
CreateControl;
FIntf.NewDocument;
end;
procedure TDHTMLSafe.LoadURL(const url: WideString);
begin
CreateControl;
FIntf.LoadURL(url);
end;
function TDHTMLSafe.FilterSourceCode(const sourceCodeIn: WideString): WideString;
begin
CreateControl;
Result := FIntf.FilterSourceCode(sourceCodeIn);
end;
procedure TDHTMLSafe.Refresh;
begin
CreateControl;
FIntf.Refresh;
end;
function TDHTMLSafe.Get_DOM: IHTMLDocument2;
begin
CreateControl;
Result := FIntf.DOM;
end;
procedure Register;
begin
RegisterComponents('ActiveX', [TDHTMLEdit, TDHTMLSafe]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -