Navigation:  Internet Development > Advanced Hosting Reference > Functions >

ShowHTMLDialogEx

Previous pageReturn to chapter overviewNext page

描述

 

创建一个显示HTML的模态对话框。

 

C++ 语法

 

HRESULT ShowHTMLDialog(    

  HWND hwndParent,

  IMoniker *pMk,

  DWORD dwDialogFlags,

  VARIANT *pvarArgIn,

  WCHAR *pchOptions,

  VARIANT *pvarArgOut

);

 

PowerBASIC 语法

 

FUNCTION ShowHTMLDialog ( _

  BYVAL hwndParent AS DWORD, _

  BYVAL pMk AS IUnknown, _

  BYVAL dwDialogFlags AS DWORD, _

  BYREF pvarArgIn AS VARIANT, _

  BYREF pchOptions AS WSTRINGZ, _

  BYREF pvarArgOut AS VARIANT _

) AS LONG

 

参数

 

hwndParent

处理对话框的父级。

pMk

IMoniker接口的地址,加载对话框的HTML。

dwDialogFlags

DWORD由一个或多个OR(|)组合组成的以下标志。请注意,这些标志中的一些在逻辑上是相互排斥的。

HTMLDLG_NOUI

打开没有用户界面的对话框。它被实例化并可以运行脚本等。但对用户不可见。

HTMLDLG_MODAL

打开一个模态对话框。

HTMLDLG_MODELESS

打开一个无模式的对话框。

HTMLDLG_PRINT_TEMPLATE

打印对话框作为打印模板,用于打印或打印预览。作为打印模板,对话框允许使用TemplatePrinter行为并访问LayoutRect元素上的内容文档。

HTMLDLG_VERIFY

强制对话框出现在桌面的可视部分。受信任的对话框可能或可能不会在桌面的可见区域打开。与被强制显示在桌面的可见部分上的不受信任的对话框不同,不管桌面的大小如何,可信任的对话框都可以放置在任何位置。例如,在800x600监视器上,您无法在[900,700]上引发不可信对话框。相反,不可信对话框将重新定位,以便它出现在可视桌面上的某个位置。但是,如果对话框是可信的,它将成功打开,但对用户来说是不可见的,因为它位于屏幕的左下角。此标志允许可信对话框像“不可信对话框”一样被“查看验证”。

pvarArgIn

包含对话框的输入数据的VARIANT的地址。此VARIANT中传递的数据将放置在窗口对象的IHTMLDialog.dialogArguments属性中。此参数可以为NULL。

pchOptions

对话框的窗饰。该参数可以是NULL或包含值组合的字符串的地址,每个值用分号(;)分隔。dialogHeight:sHeight

设置对话窗口的高度(请参阅默认计量单位的注释)。

dialogLeft:sXPos

设置对话窗口相对于桌面左上角的左侧位置。

dialogTop:sYPos

设置对话窗口相对于桌面左上角的顶部位置。

dialogWidth:sWidth

设置对话窗口的宽度(参见备注默认度量单位)。

center:{yes |不| 1 | 0 |在|关闭}

指定是否将对话窗口置于桌面中。默认值为yes。

对话框:{yes |没有| 1 | 0 |在|关闭}

指定打印或使用打印预览时对话窗口是否隐藏。此函数仅在从可信应用程序打开对话框时可用。默认值为no。

边缘:{凹陷|上调}

指定对话窗口的边缘样式。默认值为提高。

帮助:{yes |没有| 1 | 0 |在|关闭}

指定对话窗口是否显示上下文相关的帮助图标。默认值为yes。

可调整大小:{yes |没有| 1 | 0 |在|关闭}

指定对话窗口是否具有固定的维度。默认值为no。

滚动:{yes |没有| 1 | 0 |在|关闭}

指定对话窗口是否显示滚动条。默认值为yes。

状态:{yes |没有| 1 | 0 |在|关闭}

指定对话框窗口是否显示状态栏。不可信对话窗口的默认值为yes,对于受信任的对话框窗口则为“否”。

unadorned:{yes |没有| 1 | 0 |在|关闭}

指定对话窗口是否显示边框窗口chrome。此函数仅在从可信应用程序打开对话框时可用。默认值为no。

pvarArgOut

包含对话框的输出数据的VARIANT的地址。此VARIANT接收放置在窗口对象的IHTMLDialog.returnValue属性中的数据。此参数可以为NULL。

 

返回值

 

如果成功返回S_OK,否则返回错误值。

 

 

以下示例显示加载Mshtml.dll所需的最基本步骤,使用GetProcAddress获取ShowHTMLDialog的地址,创建一个URL标记,并调用ShowHTMLDialog.

 

HINSTANCE hinstMSHTML = LoadLibrary(TEXT("MSHTML.DLL"));

 

if (hinstMSHTML == NULL)

{

  // Error loading module -- fail as securely as possible

  return;

}

 

SHOWHTMLDIALOGFN* pfnShowHTMLDialog;

pfnShowHTMLDialog = (SHOWHTMLDIALOGFN*)GetProcAddress(hinstMSHTML,

                                                                TEXT("ShowHTMLDialog"));

if (pfnShowHTMLDialog)

{

  IMoniker *pURLMoniker;

  BSTR bstrURL = SysAllocString(L"http://www.example.com/dialogsource.htm");

  CreateURLMoniker(NULL, bstrURL, &pURLMoniker);

 

  if (pURLMoniker)

  {

      (*pfnShowHTMLDialog)(NULL, pURLMoniker, NULL, NULL, NULL);

       pURLMoniker->Release();

  }

 

  SysFreeString(bstrURL);

}

 

FreeLibrary(hinstMSHTML);

 

功能信息

 

库存实施

acredir.dll

自定义实现

No

acredir.h

进口图书馆

acredir.lib

最低可用性

Internet Explorer 7中

最低操作系统

Windows Vista