Last Updated 2004/07/22
Programming Tips Visual C++ MFC ウィンドウ  索 引 
ウィンドウ移動禁止
2004/07/22

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

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 でウィンドウの移動を無視すればよい.


参照
タイトルバー以外での移動
前後のTips
ウィンドウ移動禁止

DSS ProgrammingTipsCGI Ver2.02