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

[MSVC] CFrameWnd以外からのGetActiveViewの呼び出し

文書番号: 403851

最終更新日: 1999/03/19


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


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

概要

この資料は、CFrameWnd 以外からの GetActiveView() の呼び出しについての一つの
方法を紹介したものです。

詳細

CFrameWnd が管理しているアクティブなビューに対するオブジェクトは特殊な扱いが されているので通常は CFrameWnd 派生クラス内の呼び出しからしか適切な値を得る
ことは出来ません。
CWinApp クラスの派生の中でこれにアクセスするには CFrameWnd 派生クラス内で
GetActiveView を呼ぶパブリック関数を呼び出すことで正しい値を得ることが出来
ます。
例えば CMDIChildWnd の派生クラス内に GetView というような GetActiveView を
呼び出すような関数を作っておき、GetView を CWinApp::OnIdle の中から呼び出すと いうような方法があります。
  <例>
  //Implement MDI Child
  CMyView* CMyMDIChild::GetView()
  {
      return ((CMyView*)GetActiveView());
  }
  //Implement OnIdle
  BOOL CMyApp::OnIdle(LONG lCount)
  {
      CMyView *pView = ((CMyMDIChild*)m_pMainWnd->MDIGetActive())->GetView();
      return CWinApp::OnIdle(lCount);
  }

詳細

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

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

inserted by FC2 system