次の方法で共有


CWnd::OnNcCalcSize

フレームワークはクライアント領域のサイズと位置を計算する必要がある場合は、このメンバー関数を呼び出します。

afx_msg void OnNcCalcSize(
   BOOL bCalcValidRects,
   NCCALCSIZE_PARAMS* lpncsp 
);

パラメーター

  • bCalcValidRects
    アプリケーションがクライアント領域のどの部分が有効な情報が含まれているかを指定するかどうかを指定します。Windows は、新しいクライアント領域内の指定した領域に有効な情報をコピーします。このパラメーターが **[真]**の場合、アプリケーションはクライアント領域のすべての部分が有効であるかを指定する必要があります。

  • lpncsp
    情報を含むアプリケーション NCCALCSIZE_PARAMS のデータ構造体へのポインターは CWnd の四角形の新しいサイズと位置を計算するために使用できます (を含むクライアント領域、境界線、キャプション、スクロール バーなど)。

解説

このメッセージを処理することにより、アプリケーションはウィンドウのサイズまたは位置が変更されたときにウィンドウのクライアント領域の内容を制御できます。

bCalcValidRectsの値に関係なく、NCCALCSIZE_PARAMS の構造体の rgrc の構成要素を指定する配列の最初の四角形は、ウィンドウの座標を格納します。子ウィンドウの場合、座標は、親ウィンドウのクライアント領域に関連しています。トップ レベル ウィンドウで、座標は画面座標です。アプリケーションはクライアント領域のサイズと位置を反映するように rgrc[0] の四角形を変更する必要があります。

rgrc[1]rgrc[2] の四角形は bCalcValidRects が **[真]**の場合にのみ有効です。この場合、rgrc[1] の四角形を実行するか、またはサイズを変更する前にウィンドウの座標を格納します。rgrc[2] の四角形は、ウィンドウが実行される前に、ウィンドウのクライアント領域の座標が含まれます。すべての座標は、親ウィンドウまたは画面を基準にします。

既定の実装では、ウィンドウの特性 (スクロール バー、メニューの有無基づいてクライアント領域のサイズなど) に、lpncspの結果と位置を計算します。

[!メモ]

このメンバー関数は、アプリケーションが Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。この関数に渡されるパラメーターの値は、フレームワークがメッセージ受信時に受け取ったパラメーターの値に基づいています。この関数の基本クラスの実装を呼び出した場合は、関数に渡したパラメーターではなく、メッセージと共に渡されたパラメーター自体が使用されます。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CWnd クラス

階層図

WM_NCCALCSIZE

CWnd::MoveWindow

CWnd::SetWindowPos