本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[MSVC] MDI子ウインドウの最大化・最小化ボタンを外すには?

文書番号: 402026

最終更新日: 1999/03/19


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402026

概要

この資料は、AppWizard で作成した MDI アプリケーションの子ウインドウから
最大化・最小化ボタンを外す一つの方法を紹介したものです。

詳細

AppWizard で作成した MDI アプリケーションは子ウインドウに最大化・最小化が付い ています。これを外すには以下の手順で行ないます。
先ず、ClassWizard で CMDIChildWnd から派生させた Class を作成します。この
クラスの PreCreateWindow をオーバーライドしウインドウスタイルから
WS_MAXIMIZEBOX と WS_MINIMIZEBOX を取り除きます。次にこのクラスをアプリケーシ ョンクラス InitInstance の中の AddDocTemplate の CMDIChildWnd と差し替えます。

  ClassWizard で CMDIChildWnd から派生させたクラス
  class CMyMDI : public CMDIChildWnd
  {
      :
  // オペレーション
  public:
          BOOL CMyMDI::PreCreateWindow(CREATESTRUCT& cs);
      :
  }
  BOOL CMyMDI::PreCreateWindow(CREATESTRUCT& cs)
  {
          cs.style ^= WS_MAXIMIZEBOX; <- スタイルから外す
          cs.style ^= WS_MINIMIZEBOX; <- スタイルから外す
          return CMDIChildWnd::PreCreateWindow(cs);
  }
  BOOL CTestApp::InitInstance()
  {
          :
          AddDocTemplate(new CMultiDocTemplate(IDR_TESTTYPE,
                          RUNTIME_CLASS(CTestDoc),
                          RUNTIME_CLASS(CMyMDI), <- CMDIChildWnd から差し替える
                          RUNTIME_CLASS(CTestView)));
          :
  }

詳細

  • Visual C++ は、米国 Microsoft Corporation の商標です。

Keywords: KBHOWTO VC10 VC15 VC20 KB402026
Technology: kbAudDeveloper kbvc150 kbVC32bitSearch kbVCsearch

inserted by FC2 system