メインフレームのビューの部分に画像ビュー(CEvView)を貼り付ける方法を説明します。
- 1. 初期状態のメインフレーム
- 下図は初期状態のメインフレームです。
内側の白い部分がビューです。この部分に画像ビュー(CEvView)を貼り付ける方法を示します。
- 2. 画像ビュー(CEvView)を追加
- MainFrm.h の メンバフィールドに CEvView のインスタンスを追加します。 下記のように CChildView のインスタンス(wizard で生成された既定のビュー)と差し替えると作業量が少なく済みます。
MainFrm.h
class CMainFrame : public CFrameWnd
{
:
protected:
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
:
};
- 3. 画像ビュー(CEvView)の生成処理
- 前述で CChildView のインスタンスと差し替えると、 下記のビューを生成する処理(wizard で生成された既定の Create 処理)がそのまま利用できます。
MainFrm.cpp
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))
{
TRACE0("ビュー ウィンドウを作成できませんでした。\n");
return -1;
}
:
}
- 4. 全面に張り付いた画像ビュー(CEvView)
- この状態でコンパイルして実行すると、 下図のように画像ビューがメインフレームのクライアント領域全体に張り付きます。