Last Updated 2004/07/22
MFC ウィンドウ

ウィンドウ移動禁止


ウィンドウを移動させない為にタイトルバーをつかめなくする.

MainFrm.h

protected:
//{{AFX_MSG(CMainFrame)
    afx_msg void OnNcLButtonDown( UINT nHitTest, CPoint point );
//}}AFX_MSG
DECLARE_MESSAGE_MAP()


MainFrm.cpp

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
    ON_WM_NCLBUTTONDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

void CMainFrame::OnNcLButtonDown( UINT nHitTest, CPoint point )
{
    return;
}

しかし,上記の方法だと,メニューバーも選択できなくなってしまう.
(ダブルクリックやF1キーは有効)
タイトルバー領域でなければ,CFrameWnd::OnNcLButtonDown() を呼び出す必要がある.

また,移動されたら元の位置に戻すという方法も考えられる.
WM_WINDOWPOSCHANGING でウィンドウの移動を無視すればよい.
2004/07/22

参照
タイトルバー以外での移動


MFC ウィンドウ