关注
rxguoblp
rxguoblp
本版等级:
#5 得分:80回复于: 2014-08-13 19:36:30
简单问题:
1.向工程中添加一个MFC视图类:CMyView,派生自CView;
2.在对话框类CxxxDlg上定义一个视图类指针作为其类成员CMyView *m_pView(记着包含CMyView.h)
3.为了使得View视图创建在指定的区域,在对话框上放一个静态文本控件,资源ID手动改为IDC_STATIC_VIEW;
4.在对话框的OnInitDialog函数里添加如下代码:
BOOL CCreateViewDlg::OnInitDialog()
{
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
// TODO: 在此添加额外的初始化代码
UINT TargetCtrlID = IDC_STATIC_VIEW
CWnd *pWnd = this->GetDlgItem(TargetCtrlID)
CRect RectTargetCtrl
pWnd->GetWindowRect(RectTargetCtrl)
this->ScreenToClient(RectTargetCtrl)
m_pView = (CMyView*)RUNTIME_CLASS(CMyView)->CreateObject()
//在目标位置动态创建视图
if (NULL==m_pView)
{
return FALSE
}
m_pView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, RectTargetCtrl, this, TargetCtrlID)
m_pView->ShowWindow(SW_SHOW)
return TRUE // 除非将焦点设置到控件,否则返回TRUE
1、资源管理器中编辑要的对话框资源/属性设为child。2、建立对话框类
3、在视中添加定义的对话框类为成员变量:m_YourDlg.
4、在视图的OnCreate中:
m_YourDlg.Create(IDD_YourDLG,this)
//设置显示位置和方式
m_YourDlg.setWindowPos(......)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)