Share via


Enumerating Window Properties (Windows Embedded CE 6.0)

1/6/2010

To enumerate all of the properties for a window, call the EnumPropsEx function. EnumPropsEx passes the property entries to an application-defined callback function that you specify in the lpEnumFunc parameter when you call EnumPropsEx. For information about the callback function and a definition of the callback function prototype, see PropEnumProcEx. PropEnumProcEx is a placeholder for the application-defined function name.

The following code example shows how to use the EnumPropsEx function to list the string identifiers of the window properties for the window identified by the application-defined hwndSubclass variable. This function relies on the application-defined WinPropProc callback function to display the strings in the client area of the window.

EnumPropsEx(hwndSubclass, WinPropProc, NULL); 

// WinPropProc is an application-defined callback function 
// that lists a window property. 

BOOL CALLBACK WinPropProc( 
    HWND hwndSubclass,  // Handle to window with a property 
    LPCSTR lpszString,  // Property string or atom 
    HANDLE hData,       // Data handle 
    ULONG_PTR dwData)   // Application-defined data, set to NULL in this
                        // example
{ 
    static int nProp = 1;    // Property counter 
    TCHAR tchBuffer[BUFFER]; // Expanded-string buffer 
    int nSize;               // Size of string in buffer 
    HDC hdc;                 // Device-context handle 
    HRESULT hr;

    hdc = GetDC(hwndSubclass); 

    // Display window property string in client area. 

    hr = StringCchPrintf(tchBuffer, BUFFER, TEXT("WinProp %d:  %s"),
                             nProp++, lpszString); 
    ExtTextOut(hdc, 10, nProp * 20, 0, NULL, tchBuffer, nSize, NULL); 

    ReleaseDC(hwndSubclass, hdc); 

    return TRUE; 
} 

See Also

Concepts

Using Window Properties