次の方法で共有


CWnd::OnSize

更新 : 2007 年 11 月

ウィンドウのサイズが変更された後、フレームワークからこのメンバ関数が呼び出されます。

afx_msg void OnSize(
   UINT nType,
   int cx,
   int cy 
);

パラメータ

  • nType
    要求されるサイズ変更のタイプを示します。このパラメータは、次のいずれかの値になります。

    • SIZE_MAXIMIZED   ウィンドウは最大表示されています。

    • SIZE_MINIMIZED   ウィンドウは最小化されています。

    • SIZE_RESTORED   ウィンドウはサイズ変更されていますが、サイズ変更の種類は SIZE_MINIMIZED でも SIZE_MAXIMIZED でもありません。

    • SIZE_MAXHIDE   ほかのウィンドウが最大表示されたとき、すべてのポップアップ ウィンドウにメッセージが送られます。

    • SIZE_MAXSHOW   ほかのウィンドウが元のサイズに戻されたとき、すべてのポップアップ ウィンドウにメッセージが送られます。

  • cx
    クライアント領域の新しい幅を指定します。

  • cy
    クライアント領域の新しい高さを指定します。

解説

OnSize メンバ関数から子ウィンドウに対して SetScrollPos メンバ関数または MoveWindow メンバ関数が呼び出された場合、CWnd を再描画するには、SetScrollPos または MoveWindow メンバ関数のパラメータ bRedraw を 0 以外の値にする必要があります。

h464d4f3.alert_note(ja-jp,VS.90).gifメモ :

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

使用例

// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy) 
{
   CView::OnSize(nType, cx, cy);
   // Resize edit to fill the whole view.
   // OnSize can be called before OnInitialUpdate
   // so make sure the edit control has been created.
   if (::IsWindow(m_Edit.GetSafeHwnd()))
   {
      m_Edit.MoveWindow (0, 0, cx, cy);
   }
}

必要条件

ヘッダー : afxwin.h

参照

参照

CWnd クラス

階層図

CWnd::MoveWindow

CWnd::SetScrollPos

WM_SIZE

その他の技術情報

CWnd のメンバ