永发信息网

如何在对话框程序中使用view类

答案:2  悬赏:0  手机版
解决时间 2021-01-03 01:44
如何在对话框程序中使用view类
最佳答案
如有开发需要,例如如自己写个小软件什么的,需要在对话框程序中使用到view类,但是有不想view类中带有doc类,可以用以下的做法:

① 从view类中继承一个CXXXView类

② 重写如下几个函数:OnMouseActivate、PostNcDestroy、OnActivateFrame

其中OnMouseActivate函数要修改成返回基类处理的结果

int CXXXView::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
return CWnd::OnMouseActivate(pDesktopWnd, nHitTest, message);
// return CRichEditView::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
void CPiaoDbgEditView::PostNcDestroy()
{
// TODO: 在此添加专用代码和/或调用基类

// CRichEditView::PostNcDestroy();
}

void CPiaoDbgEditView::OnActivateFrame(UINT nState, CFrameWnd* pDeactivateFrame)
{
// TODO: 在此添加专用代码和/或调用基类

// CRichEditView::OnActivateFrame(nState, pDeactivateFrame);
}

而PostNcDestroy、OnActivateFrame则改为空函数

③ 关键在这里,在CXXXView类创建一个CreateFromDlg函数,用于创建View窗口

其中使用了View类的Create方法

BOOL CXXXView::CreateFromDlg(UINT nID, CWnd* pParentWnd)

{

if (!pParentWnd || !pParentWnd->GetSafeHwnd())

{

return FALSE;

}

//......此处省略若干代码

this->Create(NULL, NULL, nStyle, rect, pParentWnd, nID, NULL);

//......此处省略若干代码

}

④ 最后,看看从view类派生出来的类中,构造函数和析构函数都是protect的,当然要

改成public的了,不然外部用不了。

这样一来,在对话框类中中 CXXXView m_xxxView,再调用m_xxxView.Create(...)就可以动态创建View类窗口了
全部回答
你的对话框是在view中打开吗,如果是,打开它时就会知道它的指针的。 可以将这个指针声明为view类的成员变量,这样就行了。如果是在其他地方打开的,也可以把这个指针传递给view使用。 如果对话框不是同一个程序里的,可以用findwindow来获得。 补充: 菜单打开对话框,那你的对话框应该是模式对话框了,关闭以后也就没有了。所以就没有办法再获得它的指针了,你是不是想获得对话框里输入的参数啊。 可以在domodal()之后,马上通过刚才声明的对话框变量来获得,然后在传递给view类。 另外菜单打开对话框,也是可以在view中打开的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
公司的经营范围,学生课桌椅属于什么
单选题长期以来,新能源汽车都停留在概念上,
我们之间感觉缺少点什么? 到底缺少了什么?
巩义到山西河津的火车有几趟
吉利熊猫1.0和吉利熊猫1.2哪个发动机好
如图,在Rt△ABC中,∠ACB=90°,AC=6cm,BC=
一个人,活得要像一支队伍. 这话是什么意思啊
仿照例句写一个关于书的比喻句。(2分)例句
农历的3月21日子好不好
各位钓友们济南哪里有钓鱼的地方?不要渔场要
单选题单项选择:Theweather________asportsm
2016年起剑桥大学还认可A-LEVEL成绩吗?
美国大学托福79分可以上哪些学校
新福克斯2.0at 变速箱油 需要换吗
浙江普天园林建筑发展有限公司员工试用期都要
推荐资讯
元褒字孝整,便弓马,少有成人之量。年十岁而
外贸中手册是什么意思
喝红酒的时候搭配什么比较好
刘字用韩文怎么写
月球公转一周的时间是
读我国某地区一种农事安排示意图,回答下题。
空军地勤义务兵集中在那训练
若一个几何体的三视图相同,则这个几何体是__
如图,△ABC中,DE∥FG∥BC,且AD:DF;FB=1
孙村乡财政所地址在哪?我要去那里办事
The bell the end of the period rang, our
公民在什么情况下可以自己刻印章
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?