MFC 基于对话框的项目如何添加子对话框以及相关知识
来源:互联网 发布:免费进销存 知乎 编辑:程序博客网 时间:2024/05/21 10:59
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">1.在资源视图中选中Dialog,右键选择“插入Dialog”;</span>
2.选中该对话框,右键选择“添加类”
3.填写类名,注意类名以大写C开头儿,第二个字母也大写,比如CTest
4.生成的Test.h头文件内容如下:
#pragma once// CTest 对话框class CTest : public CDialogEx{DECLARE_DYNAMIC(CTest)public:CTest(CWnd* pParent = NULL); // 标准构造函数virtual ~CTest();// 对话框数据enum { IDD = IDD_DIALOG1 };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持DECLARE_MESSAGE_MAP()};
分析:有一个默认的构造函数,一个析构函数,没有对话框初始化函数virtual BOOL OnInitDialog();而假如该子对话框上有一些其他的控件,这些控件的初始化工作需要在OnInitDialog();中完成,这样就需要手动添加该函数。
头文件中增加:protected: virtual BOOL OnInitDialog();
源文件中增加:
BOOL CDATE::OnInitDialog()//没有virtual{CDialogEx::OnInitDialog(); //其他自己的初始化代码开始 //其他自己的初始化代码结束 return TRUE;}5.如果需要在创建该子对话框时候,传进初始化数据,则需要创建自己的构造函数来完成该功能。比如:
在头文件中增加:CTest(CWnd* pParent = NULL,CString str1,CString str2); // 自己构造函数
其中,str1和str2是外界传进来的参数。用以初始化该子窗口中的某些成员数据,比如:CString m_str1; CString m_str2;
在源文件中增加:
CTest::CTest(CWnd* pParent = NULL,CString str1,CString str2) // 自己构造函数
{
m_str1 = str1;
m_str2 = str2;
}
6.如果要避免按下回车时候对话框消失的问题,需要在头文件添加如下:
BOOL PreTranslateMessage(MSG* pMsg);
在源文件中添加如下:
BOOL CDATE::PreTranslateMessage(MSG* pMsg)
{
//拦截回车键
if (WM_KEYDOWN == pMsg-> message && VK_RETURN == pMsg-> wParam)
{
return FALSE;
}
return CDialog::PreTranslateMessage(pMsg);
}
0 0
- MFC 基于对话框的项目如何添加子对话框以及相关知识
- MFC 基于对话框 程序,如何添加状态栏
- MFC 基于对话框 程序,如何添加菜单栏
- MFC 基于对话框 程序,如何添加状态栏
- VS如何为基于对话框的MFC添加下拉菜单
- 基于对话框的MFC - 添加菜单
- MFC编程--添加基于对话框的菜单栏
- 基于对话框的MFC程序实现非模态对话框主对话框最小化时子对话框不最小化
- 在基于对话框MFC中动态的添加对话框
- vs2008为基于对话框的工程添加 子对话框
- MFC基于对话框添加背景图
- MFC基于对话框添加菜单栏
- MFC对话框的WM_CTLCOLOR如何添加
- 基于对话框的项目中添加log对话框
- mfc基于对话框项目解析
- 基于对话框的工程如何添加CReBar
- 再探MFC(一)基于对话框的MFC应用程序项目框架
- VS如何为基于对话框的MFC添加菜单及菜单项事件
- Raphael 制作可拖动和能放大缩小的矩形
- javascript数组删除元素
- Linux环境下shell和vim中乱码原因及消除办法 2
- ahjesus Axure RP 7.0注册码
- Windows系统中的常用命令或快捷键
- MFC 基于对话框的项目如何添加子对话框以及相关知识
- 【比特币】P2P网络
- hdu 1392 Surround the Trees(凸包)
- 【转】SQL Server 2008 R2编写脚本时智能提示功能丢失的处理
- 小黑小波比.Ubuntu修改文件夹权限.
- 模板(网络流判断:是否存在一个一直行列和的矩阵)
- 学Java学Android开发
- PHP explode() 字符串转换数组
- poj 2470 Ambiguous permutations