概要
スプリッタウィンドウ作成
以下のようなスプリッタウィンドウを作成する。
- スプリッタウィンドウを、CMainFrameクラスのメンバ変数とする。
<MainFrm.h>
class CMainFrame : public CFrameWnd
{
:
private:
CSplitterWnd m_splitWndMain; // メインフレームを左右分割するスプリッタ[[ウィンドウ]]
CSplitterWnd m_splitWndSub; // 上記の右ペインを上下分割するスプリッタウィンドウ
:
}
- 以下のCViewクラスのサブクラスを3つを作成する。
CPaneAView
CPaneBView
CPaneCView
- CMainFrame::OnCreateClient()をオーバーライドして、以下のソースコードを追加する。
<MainFrm.cpp>
#include "PaneAView.h"
#include "PaneBView.h"
#include "PaneCView.h"
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
m_splitWndMain.CreateStatic(
this,
1, 2);
m_splitWndSub.CreateStatic(
&m_splitWndMain,
2, 1,
WS_CHILD | WS_VISIBLE,
m_splitWndMain.IdFromRowCol(0, 1));
m_splitWndMain.CreateView(
0, 0,
RUNTIME_CLASS(CPaneAView),
CSize(100, 0),
pContext);
m_splitWndSub.CreateView(
0, 0,
RUNTIME_CLASS(CPaneBView),
CSize(0, 100),
pContext);
m_splitWndSub.CreateView(
1, 0,
RUNTIME_CLASS(CPaneCView),
CSize(0, 0),
pContext);
return TRUE;
//return CFrameWnd::OnCreateClient(lpcs, pContext);
}
自動生成で作成されているデフォルト『View』は不要なので、削除すること!
コメント
最終更新:2010年09月17日 19:43