ウィンドウを画面いっぱいにして,最大化最小化移動が出来なくするには,以下の様にする.
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style |= WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME;
cs.x = 0;
cs.y = 0;
cs.cx = GetSystemMetrics(SM_CXSCREEN);
cs.cy = GetSystemMetrics(SM_CXSCREEN);
}
移動は WM_MOVE をつかまえて元の位置に戻してしまう.
void CMainFrame::OnMove(int x, int y)
{
MoveWindow(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CXSCREEN), TRUE);
}
また,移動させない方法は WM_NCHITTEST で常に「クライアント領域」と返す方法もある.
参照
フルスクリーンなウィンドウ(その2)