mfc 里添加Cview类怎么添加?

mfc 里添加Cview类怎么添加?,第1张

pdate()

{

CFormView::OnInitialUpdate()

/* 加入你要的初始化代码*/

GetParentFrame()->RecalcLayout()

ResizeParentToFit()

}

在CFormView中,通过跟踪可发现程序不会去调用CDialog::OnInitDialog(),在CFormView::Create(**)中有如下语句CreateDlg(m_lpszTemplateName, pParentWnd),既对话框通过非模态创建,创建期间会发送WM_CREATE消息,但初始化代码不能写在OnCreate函数里面,因为此时对话框还没创建完毕,在所有的创建工作结束后,既CFormView::Create(**)执行完毕后系统会调用OnInitialUpdate(),这时候就可以加入你的初始化代码了

另外,团IDC网上有许多产品团购,便宜有口碑

在对话框上添加视图

关注

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11371610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存