fchildwin.h

来自「使用TCppWebBrowser控件实现的浏览器」· C头文件 代码 · 共 142 行

H
142
字号
//---------------------------------------------------------------------------

#ifndef fChildwinH
#define fChildwinH
#include <Mshtml.h>
#include <mshtmhst.h>
#include <mshtmcid.h>
#include "SHDocVw_OCX.h"
#include <Classes.hpp>
#include <Controls.hpp>
#include <OleCtrls.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------
class TfmChildwin : public TForm
{
__published:	// IDE-managed Components
    TCppWebBrowser *CppWebBrowser;
    void __fastcall CppWebBrowserBeforeNavigate2(TObject *Sender,
          LPDISPATCH pDisp, Variant *URL, Variant *Flags,
          Variant *TargetFrameName, Variant *PostData, Variant *Headers,
          VARIANT_BOOL *Cancel);
    void __fastcall CppWebBrowserCommandStateChange(TObject *Sender,
          long Command, VARIANT_BOOL Enable);
    void __fastcall CppWebBrowserDocumentComplete(TObject *Sender,
          LPDISPATCH pDisp, Variant *URL);
    void __fastcall CppWebBrowserDownloadBegin(TObject *Sender);
    void __fastcall CppWebBrowserDownloadComplete(TObject *Sender);
    void __fastcall CppWebBrowserNavigateComplete2(TObject *Sender,
          LPDISPATCH pDisp, Variant *URL);
    void __fastcall CppWebBrowserNavigateError(TObject *Sender,
          LPDISPATCH pDisp, Variant *URL, Variant *Frame,
          Variant *StatusCode, VARIANT_BOOL *Cancel);
    void __fastcall CppWebBrowserNewWindow2(TObject *Sender,
          LPDISPATCH *ppDisp, VARIANT_BOOL *Cancel);
    void __fastcall CppWebBrowserProgressChange(TObject *Sender,
          long Progress, long ProgressMax);
    void __fastcall CppWebBrowserStatusTextChange(TObject *Sender,
          BSTR URL);
    void __fastcall CppWebBrowserTitleChange(TObject *Sender, BSTR URL);
    void __fastcall FormActivate(TObject *Sender);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall FormDestroy(TObject *Sender);
    void __fastcall CppWebBrowserWindowSetLeft(TObject *Sender, long Left);
    void __fastcall CppWebBrowserWindowSetTop(TObject *Sender, long Left);
    void __fastcall CppWebBrowserWindowSetWidth(TObject *Sender,
          long Left);
    void __fastcall CppWebBrowserWindowSetHeight(TObject *Sender,
          long Left);
    void __fastcall CppWebBrowserWindowClosing(TObject *Sender,
          VARIANT_BOOL IsChildWindow, VARIANT_BOOL *Cancel);
private:	// User declarations
    bool IsClosing;             // 窗口正在被删除,忽略所有的事件
    IHTMLWindow2 *GetHTMLWindow(void);  // 取得控件的IHTMLWindow2接口
    // 独有的属性
    AnsiString FTitle;         // 当前内容的标题
    AnsiString FURL;           // 当前的地址
    AnsiString FStatusText;    // 当前的状态
    bool m_DownError;          // 下载时发生错误
    AnsiString FErrorText;     // 当前的文本完成信息
    long FProgressMax;         // 最大的进度
    long FProgress;            // 当前进度

    bool FBackEnabled;         // 后退按钮的状态
    bool FForwordEnabled;

    // 检查命令
//    bool __fastcall getDOC_CanPageSet(void);
//    bool __fastcall getDOC_CanPrintPreview(void);
//    bool __fastcall getDOC_CanPrint(void);
//    bool __fastcall getDOC_CanCanProperties(void);
//    bool __fastcall getDOC_CanCanNew(void);
//    bool __fastcall getDOC_CanOpen(void);
//    bool __fastcall getDOC_CanSave(void);
//    bool __fastcall getDOC_CanSaveAs(void);
//    bool __fastcall getDOC_CanSelectAll(void);
//    bool __fastcall getDOC_CanFind(void);
    bool __fastcall getDOC_CanCut(void);
    bool __fastcall getDOC_CanCopy(void);
    bool __fastcall getDOC_CanPaste(void);

    bool CommandSupported(Shdocvw_tlb::OLECMDID cmdID);
    bool CommandEnabled(Shdocvw_tlb::OLECMDID cmdID);
    void ExecWB(Shdocvw_tlb::OLECMDID cmdID,TVariant *pvaIn = NULL,TVariant *pvaOut = NULL,Shdocvw_tlb::OLECMDEXECOPT cmdexecopt = Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
    // 通过IID_IOleCommandTarget接口执行命令
    void ExecWBEx(int cmdID,TVariant *pvaIn = NULL,TVariant *pvaOut = NULL,int nCmdExecOpt = ::OLECMDEXECOPT_DODEFAULT);

    void __fastcall SetDOC_FontSize(int value);
    int __fastcall GetDOC_FontSize();

public:		// User declarations
    void __fastcall Show(void);

    void NavigateURL(AnsiString URL);
    void SendSubmitToDocument(void);

    //
    __fastcall TfmChildwin(TComponent* Owner);

    bool DOC_CanPageSet(void);
    bool DOC_CanPrintPreview(void);

    void DOC_PageSet(void);
    void DOC_PrintPreview(void);

    void DOC_Print(bool ShowDialog = true);

    void DOC_Properties(void);
    void DOC_New(void);
    void DOC_Open(AnsiString URL);
    void DOC_Save(void);
    void DOC_SaveAs(AnsiString FileName);

    void DOC_SelectAll(void);
    void DOC_Cut(void);
    void DOC_Copy(void);
    void DOC_Paste(void);

    void DOC_Find(void);
    void DOC_ViewSource(void);
    void DOC_IE_Option(void);
    void DOC_AddFavorites(void);
    // 自己定义的属性
    // 检查命令
    __property bool DOC_CanCut = { read=getDOC_CanCut };
    __property bool DOC_CanCopy = { read=getDOC_CanCopy };
    __property bool DOC_CanPaste = { read=getDOC_CanPaste };

    __property AnsiString DOC_Title  = { read=FTitle };
    __property AnsiString DOC_URL  = { read=FURL };
    __property AnsiString DOC_StatusText  = { read=FStatusText };
    __property AnsiString DOC_ErrorText  = { read=FErrorText };
    __property long DOC_ProgressMax = { read=FProgressMax };
    __property long DOC_Progress  = { read=FProgress };
    __property bool BackEnabled = { read=FBackEnabled };
    __property bool ForwordEnabled  = { read=FForwordEnabled };
    __property int DOC_FontSize  = { read=GetDOC_FontSize, write=SetDOC_FontSize };
};
//---------------------------------------------------------------------------
TfmChildwin *CreateMDIChild(void);
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?