2.MFC中如何添加子窗口

2.MFC中如何添加子窗口,第1张

在敬闭MFC中,有时候需要在同一个区域显示不同的内容,比如,点击某冲慎一个按钮,在一个特定的区域显示A,再次点击之后,在同样的区域显示B,这个时候,就需要构建子窗口来解决问题。首先,按照上一篇的方法新建两个窗口,此时需要注意的是,通过右键,选择属性,把窗口的style设置为child。然后,在父窗口亮判裂上用PictureControl选择出一个区域,将来让子窗口显示在这个区域中。然后在父类的初始化函数中作如下的改动:BOOL CEnqiureNote_NewDlg::OnInitDialog(){CDialog::OnInitDialog()//下面的m_NewDlg_Info和m_NewDlg_Enqiure是将要显示在同一个区域的不同的类,其中默认显示第一个。m_NewDlg_Info.Create(IDD_ENQIURENOTE_NEWDLG_INFO,this)m_NewDlg_Enqiure.Create(IDD_ENQIURENOTE_NEWDLG_ENQIURE,this)//读取嵌入位置,IDC_STATIC_ChildArea是刚才的PictureControl的ID,m_Dialog 是一个CRect的变量,需要在头文件进行声明。GetDlgItem(IDC_STATIC_ChildArea)-GetWindowRect(&m_DialogChild)ScreenToClient(m_DialogChild)//以下的功能是显示m_NewDlg_Info的内容。为了显示m_NewDlg_Enqiure,可以在相应的处理函数中放入这行代码,并隐藏//m_NewDialog_Info即可。m_NewDlg_Info.MoveWindow(m_DialogChild)m_NewDlg_Info.ShowWindow(SW_SHOW)return TRUE}这样就完成了MFC中添加子内容到某一个区域的功能。

注:该过程适用于VC6.0版本,建立模态窗口。

第一步:链让添加资源

Insert->Resource,然后选中Dialog,然后点击New,如下图。

第二步:为该新资源添加类。

切换到ResourceView,双击刚才添加的对话框,然后在d出的提示框里物并选择“Create a new class”,然后点击OK,你会看到如下对话框

为这个类命名,只修改name一栏,我这里把它命名为CMyFristDlg,其他的默认,直接点击ok。

第三步,创建窗口

在你想罩唤迹要创建窗口的CPP文件里,加入MyFristDlg头文件,即:

#include "MyFristDlg.h"

然后,在你想要创建窗口的地方,加入如下代码,(我这里是加在按钮1的响应函数里面):

CMyFristDlg dlg

 dlg.DoModal()

运行效果图:


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存