以下示例创建一个标题控件,并将其放置在父窗口的客户区域的顶部。控件最初是隐藏的。该示例使用HDM_LAYOUT消息来确定给定父窗口的边界矩形的控件的适当大小和位置。然后,该示例设置控件的大小和位置,并使其可见。
// DoCreateHeader - 创建一个标题控件
//父窗口的客户区域的顶部。
//返回头控件的句柄。
// hwndParent - 父窗口的句柄
//
//全局变量
// g_hinst - 应用程序实例的句柄
extern HINSTANCE g_hinst;
HWND DoCreateHeader(HWND hwndParent)
{
HWND hwndHeader;
RECT rcParent;
HD_LAYOUT hdl;
WINDOWPOS wp;
//确保加载公共控件DLL,然后创建
//头控件。
InitCommonControls();
if ((hwndHeader = CreateWindowEx(0, WC_HEADER, (LPCTSTR) NULL,
WS_CHILD | WS_BORDER | HDS_BUTTONS | HDS_HORZ,
0,0,0,0,hwndParent,(HMENU)ID_HEADER,g_hinst,
(LPVOID) NULL)) == NULL)
return (HWND) NULL;
//检索父窗口的边界矩形
//客户区,然后请求大小和位置值
//从头控件。
GetClientRect(hwndParent, &rcParent);
hdl.prc = &rcParent;
hdl.pwpos = ℘
if(!SendMessage(hwndHeader,HDM_LAYOUT,0,(LPARAM)& hdl))
return (HWND) NULL;
//设置标题控件的大小,位置和可见性。
SetWindowPos(hwndHeader,wp.hwndInsertAfter,wp.x,wp.y,
wp.cx, wp.cy, wp.flags | SWP_SHOWWINDOW);
return hwndHeader;
}