Last Updated 2004/09/10
Visual C++ MFC ウィンドウ
クライアントサイズぴったりのウィンドウ
2004/09/10

ビットマップ表示など,クライアントサイズぴったりの大きさのウィンドウを作成するには AdjustWindowRect() を使用する.

CreateWindow() を実行する前に,CreateWindow() に渡すウィンドウ属性そのままで AdjustWindowRect() を呼び出す.
AdjustWindowRect() はウィンドウの大きさを計算するだけなので,計算した結果を CreateWindow() に渡さなければならない.

    //ウィンドウサイズの計算
    auto RECT rc = { 0, 0, 200,200 } ;
    AdjustWindowRect(
            &rc,                                      // クライアント矩形
            WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION,  // ウィンドウスタイル
            FALSE                                     // メニューフラグ
    );

    // ウインドウの生成
    HWND hWND = CreateWindow(
            ...,
            ...,
            WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION,  // ウィンドウ スタイル
            ...,
            ...,
            rc.right - rc.left,                       // ウィンドウの幅
            rc.bottom - rc.top,                       // ウィンドウの高さ
            NULL,
            NULL,
            hInstance,
            NULL
    ) ;


参照
ウィンドウぴったりの FormView
FormView でぴったりのウインドウ
前後のTips
クライアントサイズぴったりのウィンドウ

DSS ProgrammingTipsCGI Ver1.02