首页  编辑  

命令操作

Tags: /超级猛料/OS.操作系统/IE.扩展/TWebBrowser/操作/   Date Created:

命令操作

  常用的命令操作用ExecWB方法即可完成,ExecWB同样多次被重载:

  procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT); overload;

  procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn:

    OleVariant); overload;

  procedure ExecWB(cmdID: rOLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn:

    OleVariant; var pvaOut: OleVariant); overload;

  打开: 弹出"打开Internet地址"对话框,CommandID为OLECMDID_OPEN(若浏览器版本为IE5.0,

      则此命令不可用)。

  另存为:调用"另存为"对话框。

      ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_DODEFAULT, EmptyParam,

           EmptyParam);

  打印、打印预览和页面设置: 调用"打印"、"打印预览"和"页面设置"对话框(IE5.5及以上版本才支持打

                印预览,故实现应该检查此命令是否可用)。

      ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, EmptyParam,

           EmptyParam);

      if QueryStatusWB(OLECMDID_PRINTPREVIEW)=3 then

       ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT,

           EmptyParam,EmptyParam);

      ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT, EmptyParam,

           EmptyParam);

  剪切、复制、粘贴、全选: 功能无须多说,需要注意的是:剪切和粘贴不仅对编辑框文字,而且对网页上的非编

               辑框文字同样有效,用得好的话,也许可以做出功能特殊的东东。获得其命令使能状

               态和执行命令的方法有两种(以复制为例,剪切、粘贴和全选分别将各自的关键字替

               换即可,分别为CUT,PASTE和SELECTALL):

   A、用TWebBrowser的QueryStatusWB方法。

     if(QueryStatusWB(OLECMDID_COPY)=OLECMDF_ENABLED) or

      OLECMDF_SUPPORTED) then

      ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT, EmptyParam,

           EmptyParam);

   B、用IHTMLDocument2的QueryCommandEnabled方法。

     var

      Doc: IHTMLDocument2;

     begin

      Doc :=WebBrowser1.Document as IHTMLDocument2;

      if Doc.QueryCommandEnabled('Copy') then

       Doc.ExecCommand('Copy',false,EmptyParam);

     end;

  查找: 参考第九条"查找"功能。