版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual C+游戏程序设计 菜单编程一、上机目的:(1)掌握7种方法对编辑框进行操作。(2)掌握对话框伸缩功能的实现。(3)掌握用MSDN查找相关API函数。二、上机内容:以下题目都在VC+6.0环境下编程完成。1、新建一个MFC的单文档工程Mybole,并增加一个菜单选项“对话框”。插入一个对话框资源对应的对话框名称是:IDD_DIALOG1。在MFC中,对资源的操作通常都是通过一个与资源相关的类来完成的。在新建对话框资源上双击,弹出对话框,选择“Create a new class”选项。这时在Mybole程序的Class View选项卡中,可以看到新类,这个CTestDlg新类有两个
2、成员函数,其中一个就是它的构造函数,定义代码如下:CTestDlg:CTestDlg(CWnd* pParent /*=NULL*/): CDialog(CTestDlg:IDD, pParent)/AFX_DATA_INIT(CTestDlg)/AFX_DATA_INITCTestDlg类的构造函数首先调用其基类:CDialog的构造函数,并传递两个参数:一个是CTestDlg类的IDD成员,一个是父窗口指针,打开CTestDlg类的头文件,就可以发现这个IDD就是这个对话框资源的ID,代码如下:/ Dialog Data/AFX_DATA(CTestDlg)enum IDD = IDD_D
3、IALOG1 ;/AFX_DATACtestDlg类的另一个函数是:DoDataExchange,主要用来完成对话框数据的交换和校验。了解API函数:我们创建一个模态对话框:void CMyboleView:OnDialog() / TODO: Add your command handler code here CTestDlg dlg;dlg.DoModal(); /创建模态对话框我们在IDD_DIALOG1上设计如下界面:实现加法运算,用7种方法实现:第一种方法:查找MSDN理解GetWindowText函数、SetWindowText函数、itoa函数和atoi函数。第二种方法:查找G
4、etDlgItemText函数和SetDlgItemText函数。写出代码实现之。第三种方法:查找GetDlgItemInt函数和SetDlgItemInt函数。写出代码实现之。第四种方法:将三个编辑框控件和三个变量相关联。用同样方法添加m_num1、m_num2和m_num3。这时候我们观察这个类的头文件和构造函数。/ Dialog Data/AFX_DATA(CTestDlg)enum IDD = IDD_DIALOG1 ;intm_num1;intm_num2;intm_num3;/AFX_DATACTestDlg:CTestDlg(CWnd* pParent /*=NULL*/): C
5、Dialog(CTestDlg:IDD, pParent)/AFX_DATA_INIT(CTestDlg)m_num1 = 0;m_num2 = 0;m_num3 = 0;/AFX_DATA_INIT这时DoDataExchange函数变为:void CTestDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CTestDlg)DDX_Text(pDX, IDC_EDIT1, m_num1);DDX_Text(pDX, IDC_EDIT2, m_num2);DDX_Text(pDX,
6、IDC_EDIT3, m_num3);/AFX_DATA_MAP我们编写代码如下:void CTestDlg:OnBtnAdd() UpdateData(true); m_num3=m_num1+m_num2;UpdateData(false);请回答为什么加上UpdateData(true);和UpdateData(false);两个语句呢?第五种方法:我们把编辑框控件再与三个变量相关联。/ Dialog Data/AFX_DATA(CTestDlg)enum IDD = IDD_DIALOG1 ;CEditm_edit3;CEditm_edit2;CEditm_edit1;/AFX_DAT
7、A这时在CTestDlg类的DoDataExchange函数中增加了三个DDX_Control函数,分别将一个对话框控件与一个控件变量相关联。代码如下:接下来大家自己调用CEdit类的对象成员函数GetWindowText函数和SetWindowText函数实现加法运算。第6种方法我们可以通过发送消息WM_GETTEXT消息。查找MSDN理解。对应的代码如下:第7种方法:采用编辑框控件消息:EM_SETSEL查找MSDN理解:CWnd:SendDlgItemMessageLRESULT SendDlgItemMessage( int nID, UINT message, WPARAM wPar
8、am = 0, LPARAM lParam = 0 );Return ValueSpecifies the value returned by the controls window procedure, or 0 if the control was not found.ParametersnIDSpecifies the identifier of the dialog control that will receive the message.messageSpecifies the message to be sent.wParamSpecifies additional messag
9、e-dependent information. lParamSpecifies additional message-dependent information.RemarksSends a message to a control. 对应实现的代码如下:void CTestDlg:OnBtnAdd() / TODO: Add your control notification handler code here int num1,num2,num3;char ch110,ch210,ch310;SendDlgItemMessage (IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);SendDlgItemMessage (IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2); num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2; itoa(num3,ch3,10);SendDlgItemMe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 永新中等专业学校2026年面向社会公开招聘非编教师报名延期备考题库及参考答案详解(基础题)
- 江西交通职业技术学院2026年劳务派遣人员招聘考前冲刺试卷及答案详解(各地真题)
- 江西赣州市2026届部属师范大学公费师范毕业生专项招聘7人考前冲刺试卷【培优A卷】附答案详解
- 泸州市江阳区2026年增量政策性岗位招募的(100人)备考题库【真题汇编】附答案详解
- 湖北武汉市华中师范大学物理科学与技术学院2026级本科生班主任助理招聘16人笔试题库及完整答案详解【网校专用】
- 黑水县2026年社会工作服务政策性岗位招募5人(第二批)考前冲刺密卷附答案详解【A卷】
- 植草砖停车场施工方案
- 脊髓损伤的护理与功能促进
- 老年痴呆的诊断和非药物治疗措施
- 急性胰腺炎的检测与治疗
- 更年期综合征职业压力调节方案
- 2026届北京理工大附中分校物理九年级第一学期期末质量跟踪监视试题含解析
- 雨课堂在线学堂《创业管理四季歌:艺术思维与技术行动》单元考核测试答案
- 房顶建筑改造方案设计说明
- 2025年春季中国商飞公司校园招聘和年度社会招聘考前自测高频考点模拟试题及答案详解(名校卷)
- 行车便道施工方案
- 营销策划 -好望水品牌手册 东方草本植物饮料品牌 从自然中汲取创新灵感 从植物中探索美好力量
- 2025年镇江护士考试题库
- T/CSBME 077-2023一次性使用支气管堵塞器
- 2025年高考作文素材积累之现实批判:“异化”
- 农村建房包工包料施工合同
评论
0/150
提交评论