- 本論文でテスト環境vs2013!
- 次のように最後に、業績は以下のとおりです。
まず、新しいプロジェクト:プロジェクト名:MySplitterDlg、他のキープデフォルトのオプション。
第二に、 ダイアログクラスを作成します
各レコードタイプCMyFormView0とCMyFormView1から選択、カテゴリグループCDialogのは、選択する必要がありCFormViewのを。
クラスウィザード - >クラス(MFCカテゴリ)を追加します。
第三に、 増加のWM_CREATEメッセージ応答関数OnCreate関数
「クラスガイド」「CMySpliterDlgDlgことで(別のクラスを選択していない)クラスを追加:メッセージWM_CREATE応答関数を
第四に、編集のOnCreate
次のメッセージ機能OnCreate関数を追加した後、編集その内容として:
INT CMySplitterDlgDlg :: OnCreate関数(LPCREATESTRUCT lpCreateStruct)
{
IF(CDialogEx :: OnCreate関数(lpCreateStruct)== -1)
リターン-1。
// TODO:在此添加您专用的创建代码
// CFrameWndのウィンドウクラスを必要とするため、我々は新しいものを作成します。私はちょうどMSDNのヘルプからサンプルをコピーしました。
あなたのプロジェクトでそれを使用する場合は、//、あなたはCS_VREDRAWとCS_HREDRAWを維持し、他の3つのパラメータをスローすることがあります。
//需要注册窗口类
のCString strMyClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW、
:: LoadCursor(NULL、IDC_ARROW)、(HBRUSH):: GetStockObject(WHITE_BRUSH)、
:: LoadIcon(NULL、IDI_APPLICATION));
// "この"親としてのフレームを作成してウィンドウ
; m_pMyFrame新しい新しい= CFrameWndのを
m_pMyFrame->作成(strMyClass、_T( "")、WS_CHILD、CRect(0,0,300,300)、この);
m_pMyFrame->のShowWindow(SW_SHOW) ;
//そして最後に、スプリッタとフレームとして親作成
m_cSplitter.CreateStatic(m_pMyFrame ,. 1、2)、ビューウィンドウの//分割フレーム1×2で、行2は
m_cSplitter.CreateView(0、 0、RUNTIME_CLASS(CMyFormView0)、CSIZE (100,100)、NULL); // 最初の行
m_cSplitter.CreateView(0,1、RUNTIME_CLASS(CMyFormView1) 、CSIZE(100,100)、NULL); // 最初の行2つ
のリターン0;
}
第五は、変数CFrameWndのを追加します
上記の手順m_pMyFrameで使用される変数、クラスCMySplitterDlgDlgを追加する必要があります
公共:
CFrameWndの* m_pMyFrame。
六は、メモリリークを防ぐために、にonDestroy()を追加します
(m_pMyFrame)削除m_pMyFrame場合は、
セブン、ヘッダダイアログを追加します
さらに、上記の手順は、クラスCMyFormView0 3.3概要および作成に使用されるCMyFormView1を、ヘッダファイルMySplitterDlgDlg.cppでそれを追加する必要があります。
#include "MyFormView0.h"
の#include "MyFormView1.h"
八、変数CSplitterWndを追加
ウィンドウの使用はCSplitterWndクラスに分割されている場合(OnCreateの関数上記参照)、クラスCMySplitterDlgDlgを追加する必要があります
CSplitterWnd m_cSplitter;
九、ニュース編集者OnSize関数
メッセージ機能を追加しました次のようにその内容を編集し、OnSize関数の後に:
:: CMySplitterDlgDlg OnSize関数のボイド(UINT n型、int型CX、CYはint)
{
CDialogEx OnSize関数::(n型、CX、CY);
// TODO:ここにメッセージハンドラコードを追加します
CRect CRect;
GetWindowRect(&CRectを);
しばらくScreenToClientは( CRect&);
m_pMyFrame-> MoveWindow(&CRect);
m_pMyFrame->のShowWindow(SW_SHOW);
}
テンは、プログラムを実行します