画面を動的に分割したい – プログラミング – Home

画面を動的に分割したい
 
通知
すべてクリア

[解決済] 画面を動的に分割したい


山口
 山口
(@山口)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

3日前に、別で投稿したけどレスがつかないので、
投稿させて頂きます。

左側にツリービュー、右上にリストビュー、右下にエディットビュー
の画面で、メニュバーの項目をクリックすることにより、左側に
ツリービュー、右側にリストビューの2分割の画面にしたいのですが
実行にエラーになります。何がいけないのかご教授下さい。

// メニューを選択した時に呼ばれるメソッド
void CMainFrame::AAA(void)
{
CView* pPrevView = GetActiveView();
m_spWnd1 = new CSplitterWnd;
m_spWnd1->CreateStatic(this, 1, 2);
CCreateContext context;
context.m_pCurrentDoc = GetActiveDocument();
m_spWnd1->CreateView(0, 0, RUNTIME_CLASS(CTestTreeView),
CSize(100,100), &context);
m_spWnd1->CreateView(0, 1, RUNTIME_CLASS(CTestListView),
CSize(100,100), &context);
((CView*)m_spWnd1->GetPane(0,0))->OnInitialUpdate();
((CView*)m_spWnd1->GetPane(0,1))->OnInitialUpdate();
SetActiveView((CView*)m_spWnd1->GetPane(0,0));
RecalcLayout();
pPrevView->DestroyWindow();
}

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext*
pContext)
{
m_spWnd1 = new CSplitterWnd;
m_spWnd2 = new CSplitterWnd;
m_spWnd1->CreateStatic(this, 1, 2);
m_spWnd2->CreateStatic(m_spWnd1,2,1,WS_CHILD | WS_VISIBLE | WS_BORDER,
m_spWnd1->IdFromRowCol(0,1));
m_spWnd2->CreateView(1, 0, RUNTIME_CLASS(CTestListView),
CSize(100,100), pContext);
m_spWnd2->CreateView(0, 0, RUNTIME_CLASS(CTestView),
CSize(100, 100),pContext);
m_spWnd1->CreateView(0, 0, RUNTIME_CLASS(CTestTreeView),
CSize(100,100), pContext);
return TRUE;
}

『CView* pPrevView = GetActiveView()』の箇所で、
『ハンドルされていない例外が発生しました』というエラーです。
開発環境はWinXP/VC.net

よろしくお願いいたします。


引用未解決
トピックタグ
MK
 MK
(@MK)
ゲスト
結合: 25年前
投稿: 66
 

これ参考になりませんか

http://www.codeguru.com/splitter/show_hide_static_panes.shtml


返信引用
山口
 山口
(@山口)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

いろんなページを参考にして、とりあえず、
この問題は解決しました。
しかし、別の問題が発生したので、また質問させて頂きます。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました