This topic has not yet been rated - Rate this topic

SHOWHTMLDIALOGFN Function

Defines the function type for ShowHTMLDialog.

Syntax


typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (
    HWND hwndParent,
    IMoniker *pMk,
    VARIANT *pvarArgIn,
    WCHAR *pchOptions,
    VARIANT *pvarArgOut
);

Parameters

hwndParent
A handle to the window that is the owner of the dialog box. This window is disabled for the life of the dialog box. If this value is NULL, the dialog box is not owned.
pMk
The address of an IMoniker interface that identifies the source of the HTML that is contained in the dialog box.
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 the window object's IHTMLDialog::dialogArguments property. This parameter can be NULL.
pchOptions
The window ornaments for the dialog box. This parameter can be NULL or the address of a string that contains a combination of values separated semicolons (;). See the description of the features parameter of the IHTMLWindow2::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's IHTMLDialog::returnValue property. This parameter can be NULL.

Return Value

Returns S_OK if successful, or an error value otherwise.

Remarks

This function creates a modal dialog box that contains HTML. The function does not return until the dialog box has been dismissed. To obtain the address of this function, load Mshtml.dll with LoadLibrary, and then retrieve the address of ShowHTMLDialog with GetProcAddress.

security note Security Alert  Using LoadLibrary incorrectly can compromise the security of your application by loading the wrong DLL. Refer to the LoadLibrary documentation for information on how to correctly load DLLs with different versions of Windows.

Example

The following example shows the basic steps to load Mshtml.dll, obtain the address of ShowHTMLDialogEx using GetProcAddress, create a URL moniker, and call ShowHTMLDialogEx.


    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)
        {
            DWORD dwFlags = HTMLDLG_MODELESS | HTMLDLG_VERIFY;
            (*pfnShowHTMLDialogEx)(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
Did you find this helpful?
(1500 characters remaining)

Community Additions

ADD
© 2013 Microsoft. All rights reserved.