CMainFrame



概要

TOP


スプリッタウィンドウ作成


以下のようなスプリッタウィンドウを作成する。

  • スプリッタウィンドウを、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』は不要なので、削除すること!
TOP


コメント

名前:
コメント:
TOP

最終更新:2010年09月17日 19:43
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル