- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC图形界面编程入门教程.doc
MFC图形界面编程入门教程
MFC(Microsoft Foundation Classes)是微软提供的用于简化编程的一个类库,其使用面向对象的思想将Windows的图形界面编程接口封装到若干个类中,并且提供了一个可视化的编程环境,方便的程序员的开发。
使用MFC可以方便地创建基于对话框或文档视图的程序,在其上添加各种控件(按钮、编辑框等等),通过消息映射机制使控件操作和某个函数对应起来。
第一章 如何添加按钮和编辑框
工程文件见:演示工程.rar
新建工程
到现在,我们的工作都是在资源编辑器里完成的,主要针对的是界面方面。下面我们将为按钮添加一些处理代码,比如弹出一个对话框,显示我们在编辑框里输入的文字。
点击OK,完成添加变量操作。
下面添加按钮的响应函数
右击按钮,选择建立类向导,
弹出的对话框要求我们为按钮响应函数取个名字。
我们将函数名设为OnShow,点击OK后,可以看到ClassWizard对话框下半部分多了一行信息,双击它或者点击右边的Edit Code按钮就
在里面添加如下代码:
UpdateData(TRUE);
AfxMessageBox(m_mystring);
这两个函数都是由MFC提供的。调用UpdateData(TRUE)将我们在编辑框输入的文本更新到其对应的变量中(即m_mystring),AfxMessageBox(m_mystring)可以将变量的内容显示到消息框中。
现在编译运行程序,在编辑框中如入一些内容,点击显示按钮,效果如下:
第二章 点名程序中的控件
工程文件见:点名程序工程.rar
编辑框
学号和姓名的显示使用了只读的编辑框,和普通编辑框的添加方式相同,只读属性可以在其属性中设置(右下):
与前面的例子不同的还有其是用于显示文本而输入文本,
//下面的SetDlgItemText函数能够将第二个参数的值设置为
//第一个参数对应的编辑框的内容
//仅使用SetDlgItemText不能让内容显示出来
//还需要使用UpdateWindow函数刷新窗口
//将变量的值为编辑框显示的内容lpObject-SetDlgItemText(IDC_NUMBER, curr-number);
lpObject-SetDlgItemText(IDC_NAME, curr-name);
UpdateWindow(); //这个函数实现窗口的刷新 CComboBox* combownd1=NULL;
//获取combobox窗口指针 combownd1=(CComboBox*)GetDlgItem(IDC_CLASSLIST);
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
continue;
if (finder.IsDirectory())
continue;
CString className = finder.GetFileTitle();
combownd1-AddString(className);//添加一个选项
}
点名按钮
点名按钮的添加与前面的例子类似,同样要为其添加响应函数,代码如下:
//先将按钮显示的文本设为“开始”
GetDlgItem(IDOK)- SetWindowText(开始);
if(isStopIt == TRUE) //如果按按钮前处于停止状态
{
//开启线程,进行名单的滚动
……
//将按钮显示的文本设为“停止”
GetDlgItem(IDOK)- SetWindowText(停止);
}
else{//如果按按钮前处于滚动状态
……
//将按钮显示的文本设为“停止”
GetDlgItem(IDOK)- SetWindowText(开始);
//将显示的焦点放在下拉列表上,方便使用方向键选择
((CButton*)GetDlgItem(IDC_CLASSLIST))- SetFocus();
}
您可能关注的文档
- GMP培训设备培训.ppt
- GRC构件安装.doc
- GRC构件安装技术交底_.doc
- GREissue按高频提纲.doc
- Greytheory灰色模型.ppt
- G楼地面工程.doc
- hcv多表位抗原的选择.doc
- HF型高效砂浆精.doc
- HGQL-H互感器测试仪.doc
- HGQLH互感器测试仪.doc
- 2025年公务员考试《常识》试题预测试卷附答案详解(突破训练).docx
- 2025年阿克苏地区公务员考试行测真题及1套完整答案详解.docx
- 2024-2025学年公务员考试《常识》模考模拟试题【研优卷】附答案详解.docx
- 2025年公务员考试《常识》考前冲刺练习题含答案详解【预热题】.docx
- 2025年辽宁省公务员考试行测真题及答案详解(易错题).docx
- 2024-2025学年公务员考试《常识》模拟试题含答案详解(黄金题型).docx
- 2025年玉树州公务员考试行测真题附答案详解.docx
- 2024-2025学年公务员考试《常识》考试历年机考真题集及完整答案详解【夺冠系列】.docx
- 2025年秀山土家族苗族自治县公务员考试行测真题完整答案详解.docx
- 2025年玉树州公务员考试行测真题精编答案详解.docx
文档评论(0)