MFC
ウィンドウサイズの変更を制限する


HomeProgramming TipsMFC Tips[MFC-022]
※ SDK(Win32API)の処理は こちら です。

OnWindowPosChanging メッセージでサイズを判定します。
サイズはウィンドウ外周なので、もし、クライアントサイズで調整したい場合は、
AdjustWindowRectEx() を使って、外周サイズを求めます。
サンプルはクライアントサイズで制限しています。


void CFooWnd::OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
    // 幅の変更を抑止する(例/クライアントサイズ: 幅768,高さ512まで)
    CRect rc(0, 0, 768, 512);
    ::AdjustWindowRectEx(&rc, GetStyle(), BOOL(GetMenu()), GetExStyle());
    if (lpwndpos->cx > rc.Width())  lpwndpos->cx = rc.Width();
    if (lpwndpos->cy > rc.Height()) lpwndpos->cy = rc.Height();

    CWnd::OnWindowPosChanging(lpwndpos);
}




 Copyright 2008 VALGUS. All Rights Reserved.