⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhtmledlib_tlb.pas

📁 这是一套全面的网络组件
💻 PAS
📖 第 1 页 / 共 3 页
字号:
    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 + -