- ウインドウの位置とサイズの変更 -



起動しているウインドウの表示位置とサイズの変更方法。
ウインドウ変更にはCWndクラスのMoveWindow()関数を使用します。



□ MSDNよりMoveWindowの引用 □

 void MoveWindow(
   int x,
   int y,
   int nWidth,
   int nHeight,
   BOOL bRepaint = TRUE
 );

   ・void型なので戻り値はなし
   ・int x はディスクトップ上のウインドウ位置(x座標)
   ・int y はディスクトップ上のウインドウ位置(y座標)
   ・nWidthはウインドウの幅
   ・nHeightはウインドウの高さ
   ・bRepaintは再描画するかどうかの設定
    TRUE → 再描画する
    FALSE → 再描画なし





サンプルではツールバーにボタンを作成し、ボタンをクリックしたらウインドウの位置とサイズを変更するプログラムを作ってみます



≪ MFC SDIでの作成サンプル ≫


 ■ツールバーにボタンを作成

      

      ※サンプルではボタンのIDを ID_MENUBUTTON としています





 ■ClassWizardよりViewクラスに作成ボタンのクリックイベント関数を追加

      

      ※クラス名 → C***View
      ※オブジェクトID → ID_MENUBUTTON
      ※メッセージ → COMMAND





 ■作成した関数にソース追加
//////////////////////////
// CWind01View クラスのメッセージ ハンドラ
void CWind01View::OnMenubutton()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください

//CWnd へのポインタを作成
CWnd* i;

//メインウインドウのポインタ取得
i = GetParent();

//メインウインドウの位置と、サイズを変更
i->MoveWindow(0,0,200,200,TRUE);

}





 ■以上、コンパイルすれば完成

      

      ツールバーに作成したボタンをクリックすると設定した値で
      ウインドウ位置とサイズを変更します