ウィンドウからタイトルバーを外す.
SetWindowLong(hwnd, GWL_STYLE, WS_POPUP | WS_BORDER);
こうすることによりタイトルバーは消える.
しかし,WM_PAINT に反応しないタイトルバーの残骸が残ってしまう.
これは非クライアント領域が再描画していないからである.
以下のようにすることにより非クライアント領域も再描画が可能である.
GetWindowRect(hwnd, &rc);
xNewAmtOfBorder = GetSystemMetrics(SM_CXFRAME)
- GetSystemMetrics(SM_CXBORDER);
yNewAmtOfBorder = GetSystemMetrics(SM_CYFRAME)
- GetSystemMetrics(SM_CYBORDER);
pt.x = rc.left + xNewAmtOfBorder;
pt.y = rc.top + yNewAmtOfBorder;
ScreenToClient( GetParent( hwnd ), &pt );
SetWindowPos( hwnd, NULL,
pt.x, pt.y,
(rc.right - rc.left) - xNewAmtOfBorder * 2,
(rc.bottom - rc.top) - yNewAmtOfBorder * 2,
SWP_DRAWFRAME | SWP_NOZORDER );
参照
タイトルバー表示非表示