MFC
ウィンドウの左上から描画したい


HomeProgramming TipsMFC Tips[MFC-007]

通常、クライアント領域はフレームに囲まれています。
ウィンドウの左上はクライアント領域の (0,0) ではないため、リージョンを切る場合に困ります。

このような場合、ウィンドウを騙すことでウィンドウの一番左上から クライアント領域にしてしまうことができます。
WM_NCCALCSIZE をマップします。そして OnNcCalcSize() の処理を全てコメントアウトします。


void CMyDlg::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp)
{
    // TODO : ここにメッセージ ハンドラ コードを追加するか、既定の処理を呼び出します。
//  CDialog::OnNcCalcSize(bCalcValidRects, lpncsp);     // ←ここをコメントに変えた
}


これだけで OK です。これでスキン処理も OK ですね。



 Copyright 2005 VALGUS. All Rights Reserved.