
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
正攻法だと全てのビューを検索して、表示させたい
ビューと一致するものがあれば、それをアクティブに
するという方法になると思います。
それらしいソースがあったので参考にどうぞ。
void CMainFrame::SwitchToView(CDocTemplate* pTemplate, CRuntimeClass *pViewClass)
{
CMDIChildWnd* pMDIActive = MDIGetActive();
CDocument* pDoc = pMDIActive->GetActiveDocument();
CView* pView;
POSITION pos = pDoc->GetFirstViewPosition();
while (pos != NULL) {
pView = pDoc->GetNextView(pos);
if (pView->IsKindOf(pViewClass)) {
// 要求されたビュークラスはすでに作成されているので、
// それを表示する
pView->GetParentFrame()->ActivateFrame();
return;
}
}
// 要求されたビュークラスはまだ作成されていない
CMDIChildWnd* pNewFrame = (CMDIChildWnd*)
pTemplate->CreateNewFrame(pDoc, NULL);
if (pNewFrame == NULL)
return;
pTemplate->InitialUpdateFrame (pNewFrame, pDoc);
}
使えるかどうかわかりませんが、子ウィンドウのポインタがわかっていれば、
CMDIFrameWnd::MDIActivate()
でもできるかもしれません。
(CMDIChildWndクラスにも似たようなメンバがあります)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++のMFCを使っています。
-
OnInitDialog()の関数の組み込み方
-
MFCでのシリアル(232C)通信方法
-
C#のクラス設計について教えて...
-
ダイアログ表示時にチェックボ...
-
個々の関数について継承してい...
-
自作のクラスが参照できない
-
エディットコントロールでEnter...
-
MFC モードレスDlgについて
-
このコンパイルエラーの意味に...
-
DateAdd関数について質問があり...
-
エディットコントロールのイベ...
-
オーバーライド関数の呼び出し...
-
イベントにAddHandlerされてい...
-
C#で通常のbuttonコントロール...
-
コンストラクタ内でのthisポインタ
-
ユーザーフォームのVBAエラー
-
条件によって別のクラスのイン...
-
c# ネットワークプログラム
-
メモリ解放について、ご教授く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
既定のコンストラクタがない?
-
ダイアログ表示時にチェックボ...
-
FriendとPublicの違い。。。
-
(UWSC) 「#32770」の意味わかり...
-
エディットコントロールでEnter...
-
イベントにAddHandlerされてい...
-
MFCアプリのコマンドラインでパ...
-
ボタンのオーナードローについて
-
MFCのドラッグ&ドロップについて
-
オーバーライド関数の呼び出し...
-
このコンパイルエラーの意味に...
-
C++ protectedにアクセス不可
-
ダイアログクラスのコントロー...
-
【ASP.NET】 独自で作成したク...
-
個々の関数について継承してい...
-
MFCのCListCtrlでスクロールを検出
-
DataGridViewのセルに斜線を引...
-
[MFC] CWnd::MessageBoxの警告...
-
CMainFrameクラスの使い方
-
関数の呼び出し元の検索
おすすめ情報