ShowHTMLDialog Function ()

来源:百度文库 编辑:神马文学网 时间:2024/03/29 03:41:12
ShowHTMLDialog Function
Creates a modal dialog box that displays HTML.
Syntax
HRESULT ShowHTMLDialog(
HWND hwndParent,    IMoniker *pMk,    VARIANT *pvarArgIn,    WCHAR *pchOptions,    VARIANT *pvarArgOut);
Parameters
hwndParent
A handle to the parent of the dialog box.
pMk
The address of anIMoniker interface from which the HTML for the dialog box is loaded.
pvarArgIn
The address of a VARIANT structure that contains the input data for the dialog box. The data passed in this VARIANT is placed in thewindow object'sIHTMLDialog::dialogArguments property. This parameter can be NULL.
pchOptions
The window ornaments for the dialog box. This parameter can be NULL orthe address of a string that contains a combination of values separatedby semicolons (;). See the description of the features parameter of theIHTMLWindow2::showModalDialog method of the window object for detailed information.
pvarArgOut
The address of a VARIANT structure that contains the output data for the dialog box. This VARIANT receives the data that was placed in the window object'sIHTMLDialog::returnValue property. This parameter can be NULL.
Return Value
Returns S_OK if successful, or an error value otherwise.
Remarks
To use ShowHTMLDialog, which is implemented in Mshtml.dll, you must dynamically load and call this function by using theLoadLibrary function and theGetProcAddress function. The proper function type for ShowHTMLDialog is defined in Mshtmhst.h in theSHOWHTMLDIALOGFN type. A full sample that demonstrates the use of ShowHTMLDialog is available on theShowHTMLDialog Sample Source Page.
Security Alert  Using LoadLibrary incorrectly can compromise the security of your application by loading the wrong DLL. Refer to theLoadLibrary documentation for information on how to correctly load DLLs with different versions of Microsoft Windows.
Example
The following example shows the basic steps to load Mshtml.dll, obtain the address of ShowHTMLDialog using GetProcAddress, create a URL moniker, and call ShowHTMLDialog.
Copy Code
HINSTANCE hinstMSHTML = LoadLibrary(TEXT("MSHTML.DLL"));if (hinstMSHTML == NULL){// Error loading module -- fail as securely as possiblereturn;}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);
Function Information
Stock Implementation mshtml.dll
Custom Implementation No
Header mshtmhst.h
Import library mshtml.dll
Minimum availability Internet Explorer 4.0
Minimum operating systems Windows NT 4.0, Windows 95, Windows CE 4.0
See Also
Creating an HTML Resource