创建标题控件

【勇芳软件工作室】汉化HomePreviousNext

以下示例创建一个标题控件,并将其放置在父窗口的客户区域的顶部。控件最初是隐藏的。该示例使用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;

}