- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC如何创建多按钮功能的界面
MFC如何创建多按钮功能的界面
最终的效果如下:点击按钮“方块”,弹出方块设置对话框,输入值然后点OK时,绘画方块图像;点击按钮“三角”,同样弹出三角设置对话框然后点OK时,绘画三角图像。
下面介绍制作步骤:
一、创建一图形显示界面
二、创建两图形显示界面
三、创建三图形显示界面
四、创建四图形显示界面
打开visual C++,点“文件”,“新建”,“MFC AppWizard(exe)”,“工程名称”,“位置”,“确定”“基本对话框”“完成”
得到如图:
按照我的习惯,“确定”“取消”和“TODO”全部删掉,如图:
3. 创建三个按钮和一个静态文本,分别命名“方块”“三角”“OK”。静态文本清空,其属性里“扩展样式”“静态边缘”打勾。他们的ID分别为:IDC_fang,IDC_san,IDC_OK,IDC_DRAW。如图:
4. 双击“方块”按钮,点“确定”,然后输入代码:
void CTest425Dlg::Onfang()
{ // TODO: Add your control notification handler code here
extern int flag;
flag=1;
}
其中变量flag的作用是用来标志,用来判断接下来点“OK”的时候,执行哪种操作。
因为是全局变量,所以加上了extern
同样,双击“三角”按钮,输入代码:
void CTest425Dlg::Onsan()
{ // TODO: Add your control notification handler code here
extern int flag;
flag=2;
}
当然,如果我们需要更多功能时,可以绘制更多的按钮,然后给他们flag=3,flag=4等等的赋值。
5. 双击“OK”按钮,输入代码前半段:
void CTest425Dlg::OnOk()
{ // TODO: Add your control notification handler code here
extern int flag;
CWnd *pWnd=GetDlgItem(IDC_DRAW);
CDC *pDC=pWnd-GetDC();
CBrush WhiteBrush;
WhiteBrush.CreateSolidBrush(RGB(255,255,255));
CRect rect;
pWnd-Invalidate();
pWnd-UpdateWindow();
pWnd-GetClientRect(rect);
}
这些代码的作用是初始画图功能。
再输入代码后半段:
switch(flag)
{
case 1: // fangkuai
pDC-MoveTo(20,20);
pDC-LineTo(20,200);
pDC-MoveTo(20,200);
pDC-LineTo(200,200);
pDC-MoveTo(200,200);
pDC-LineTo(200,20);
pDC-MoveTo(200,20);
pDC-LineTo(20,20);
break;
case 2: //sanjiao
pDC-MoveTo(20,20);
pDC-LineTo(20,200);
pDC-MoveTo(20,200);
pDC-LineTo(200,200);
pDC-MoveTo(200,200);
pDC-LineTo(20,20);
break;
case 3: //yuanxing
case 4: //zhengxuan
default:
break;
}
如果需要更多功能,可以不断加“case”对应于不同的flag值。代码内容不难分析,其中,方块和三角的顶点坐标值都是固定给好的,比如,三角的顶点坐标分别为:(20,20);(20,200);(200,200)。
6.最后,为了使全局变量flag可以正常使用,点击“FileView”
然后找到“StdAfx.cpp”,并双击,添加代码:“int flag”
7. 然后,编译,执行,即可看到最初效果:点击按钮“方块”,然后点OK时,绘画方块图像;点击按钮“三角”,然后点OK时,绘画三角图像。此时方块和三角的位置都是固定的。
8. 下面,我们继续添加更多功能:使得点击“方块”按钮时,弹出一个对话框,要求输入顶点初始值,确定后点击“OK”时,画出所需位置的方块。三角也同样如此。
首先,点击“插入”“资源”“Dialog”“新建”,然后再重复一次,这样我们新建了两个对话框。
再重复一次后:
9. 根据我的习惯,把两个对话框的“确定”
您可能关注的文档
- 2015年东南大学考研报录比.docx
- 2015届本科毕业设计各环节时间节点填写及注意问题.doc
- 2015年全国水利安全生产知识(YSH)内含答案048.docx
- 2015年全国高考作文题目及范文汇总.doc
- 2015年优质护理服务总结.doc
- 2015年出版中文核心期刊要目总览doc.doc
- 2015年土木(道路工程师)大纲.docx
- 2015佳木斯一中一模理综.doc
- 1000以内加减法,三位数加减法.docx
- 2015QC降低5炉出口排烟温度.doc
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)