Share via


NM_INLINE_STYLE

Send Feedback

This notification message is sent by the HTML viewer control to notify the application that a stylesheet is about to be loaded via the <link> tag and gives the application a chance to bypass the operation. An alternate stylesheet can be added at this time using the DTM_ADDSTYLE message.

Syntax

NM_HTMLVIEW * pnmHTMLView = (NM_HTMLVIEW *)lParam;
szHrefText = pnmHTMLView->szTarget;

Parameters

  • pnmHTMLView
    Points to an NM_HTMLVIEW structure that contains information about the NM_INLINE_STYLE notification message.
  • szHrefText
    A null-terminated string that contains the contents of the HREF attribute of the LINK tag in the HTML text.

Return Values

If the application handles this message it should return a non-zero result. The HTML control will not load the specified stylesheet in that case. Returning a zero result to the HTML control will result in the default control handling to occur and the specified stylesheet to be loaded.

Code Example

The following code example demonstrates how to use NM_INLINE_STYLE.

Note   To make the following code example easier to read, security checking and error handling are not included. This code example should not be used in a release configuration unless it has been modified to include them.

/******************************* example.html *********************************
<html>
    <head>
        <title>NM_INLINE_STYLE Test</title>
        <link rel="stylesheet" type="text/css" href="inline0.css" />
        <link rel="stylesheet" type="text/css" href="inline1.css" />
    </head>
    <body>
        <p id="p0">Ordinarily, this text would appear green. However ExampleWndProc can make it blue.</p>
        <p id="p1">This text should appear red, even when using ExampleWndProc.</p>
    </body>
</html>
*/

/******************************** inline0.css *********************************
p#p0 {color: green}
*/

/******************************** inline1.css *********************************
p#p1 {color: red}
*/

LRESULT CALLBACK ExampleWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    // For clarity, handling of other Windows messages has been omitted.
    // ...
    case WM_NOTIFY:
        {
            LPNMHDR pnmHdr = (LPNMHDR)lParam;
            switch (pnmHdr->code)
            {
            // For clarity, handling of other notification codes has been omitted.
            // ...
            case NM_INLINE_STYLE:
                {
                    NM_HTMLVIEW * pnmHTMLView = (NM_HTMLVIEW *)pnmHdr;

                    // Note the treatment of (pnmHTMLView->szTarget) as an ANSI string.
                    if (strstr((const char *)(pnmHTMLView->szTarget), "inline0.css"))
                    {
                        SendMessage(GetDlgItem(hwnd, IDC_HTML),
                                    DTM_ADDSTYLE, 
                                    0, 
                                    (LPARAM)TEXT("p#p0 {color:blue}"));
                        return 1;
                    }
                    else
                    {
                        return 0;
                    }
                }
            }
        }
    }

    return DefWindowProc(hwnd, uMsg, wParam, lParam);
}

Requirements

Pocket PC: Pocket PC 2002 and later
Smartphone: Smartphone 2002 and later
OS Versions: Windows CE 3.0 and later
Header: htmlctrl.h
Library: htmlctrl.lib

See Also

HTML Control API Notifications | NM_HTMLVIEWA | NM_HTMLVIEWW | WC_HTML Windows styles

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.