教你用MFC编计算器
- 格式:docx
- 大小:867.37 KB
- 文档页数:23
mfc计算器程序设计详细
MFC是Microsoft基础类的缩写,用于Windows下的GUI程序开发,封装了许多常用的功能,其中包括控件、多线程、消息传递等等。
下面我们将基于MFC来编写一个简单的计算器程序。
首先,我们需要创建一个MFC应用程序并添加一个对话框。
然后,我们需要在对话框中添加各种控件,比如按钮、文本框、标签等等。
在这个例子中,我们需要添加数字按钮、运算符按钮和一个显示结果
的文本框。
接着,我们需要定义各种事件函数,比如数字按钮的点击事件、
运算符按钮的点击事件等等。
在这些事件函数中,我们需要根据相应
的操作完成对应的计算,并将结果显示到文本框中。
当然,我们还需
要处理一些特殊情况,比如输入非法字符、除以0等等。
最后,我们需要将所有的控件和事件函数进行绑定,使得程序能
够正常地运行。
这个过程中,我们将使用MFC提供的消息映射机制来
处理鼠标和键盘事件,以及相应的消息传递机制来更新界面。
总之,在MFC的帮助下编写一个计算器程序不仅方便快捷,而且
代码逻辑清晰,可读性好。
使用VC6编写一个计算器MFC回答如下:要使用VC6编写一个计算器MFC应用程序,首先需要创建一个新的MFC项目。
在VC6中,选择“创建一个新的工程”,然后选择“MFC应用程序”,并命名该项目为“Calculator”。
接下来,在“CalculatorDlg.h”文件中,可以编写计算器对话框类的代码。
在该类中,需要声明所有添加到对话框中的控件的成员变量。
例如,可以声明一个`CEdit`类型的指针变量来引用屏幕上的文本框控件。
此外,还可以声明其他成员变量来存储计算器的状态和当前操作数的值。
然后,在“CalculatorDlg.cpp”文件中,可以实现计算器对话框类的代码。
在该文件中,需要实现对话框的初始化、按钮单击事件的处理等功能。
例如,可以在对话框的`OnInitDialog`函数中初始化计算器的状态,并将其他控件的消息映射到对应的成员函数上。
然后,在对应的成员函数中,可以编写相应的代码来处理按钮单击事件,进行计算,并将结果显示在屏幕上。
在编写计算器的核心功能时,可以使用`+`、`-`、`*`和`/`等运算符来实现加法、减法、乘法和除法。
此外,还可以添加其他功能,如取余、开方等。
为了实现这些功能,可以在对话框类中添加成员函数,然后在相应的按钮单击事件中调用这些函数。
最后,在项目的构建选项中,将“字符集”设置为“使用Unicode字符集”,以支持使用中文。
然后,编译并运行该项目,就可以看到一个MFC计算器应用程序在屏幕上显示出来。
总结起来,在VC6中编写一个计算器MFC应用程序需要完成以下步骤:1.创建新的MFC项目,并添加所需的控件。
2.在对话框类中声明和实现计算器界面的成员变量和函数。
3.在对应的按钮单击事件处理函数中编写计算器的核心功能。
4. 在项目的构建选项中设置字符集为Unicode字符集。
5.编译并运行项目,测试计算器应用程序。
以上是一个简单的使用VC6编写一个计算器MFC的步骤。
当然,具体的实现还有很多细节需要注意和完成,如错误处理、界面美化等。
mfc⼊门教程之实现⼀个简单的计算器mfc学习之前的了解什么是mfc?MFC是微软基础类的缩写(Microsoft Foundation Classes),是⼀个庞⼤的类库,可以理解为⼀种在Windows上开发软件的架构,是微软专为Visual C++定制的。
该类库提供⼀组通⽤的可重⽤的类库供开发⼈员使⽤。
没有MFC之前,Windows上⽤Win32 API进⾏编程,之后MFC出现,在⼀定程度上提⾼了软件开发效率,它是对win32 API的封装,所以易⽤性好,不过性能会⽐win32开发低⼀些,⼆者各有所长。
在Windows上开发界⾯程序以前⽤MFC最合适,能兼顾效率和性能。
简单来说mfc就是⽅便windows程序开发的框架,不单单是界⾯,更有很多类库。
mfc能⼲什么?在学习mfc之前想必⼤家都会关系这个问题,很多⼈学习了c++,或者是学习了c和c++之后发现还是只能⿊窗⼝下⾯做做数学题,写写算法,做不出什么实际的东西(这⾥不是说c/++做不出实际的东西,⽽是⼤多数的⼈做不出)。
问这个问题就像问⼀把剪⼑能⼲什么,剪⼑什么也⼲不了,我们可以拿着剪⼑剪东西,剪的好坏更多的是在于使⽤者⽽不是⼯具本⾝。
当使⽤⼀件⼯具熟练之后去使⽤同类的⼯具你会发现很轻松就能上⼿,因为它们看似有区别实则万变不离其宗。
mfc和qt的选择很多⼈会去推荐学习qt说mfc过时了,如果你想要跨平台那么qt⾮你莫属,如果只是在windows上,那么mfc⽆可替代。
⽆论是qt还是mfc在windows平台上内部的实现原理都是⼀样的,只是封装上有些区别。
mfc制作简单计算器-界⾯设计1.新建mfc项⽬启动vs2013,点击⽂件->新建->项⽬->vc++->mfc应⽤程序点击确定进⼊mfc应⽤程序向导下⼀步选择基于对话框,点击完成。
这时候mfc为我们⽣成了默认的界⾯,⼀个静态⽂本框,两个按钮。
2.计算器界⾯设计⾸先删除三个默认创建的控件,选中之后右键,删除或者直接按下delete键。
1,准备环境:Microsoft Visual C++6.0
2,打开Microsoft Visual C++6.0,选择【文件】,点击新建,再出现的对话框中选择MFC AppWizard(exe),然后设置工程名和位置,如下图所示,点击确定
3,在出现的对话框中选择(基本对话框),点击完成,如下图所示
4,再出现的对话框中添加编辑框和按钮,并进行布局如下图
注:点击按钮右键属性,即可设置按钮上的数字和运算符显示
5,然后单击编辑框,接着按组合键Ctrl+W,再出现的对话框内选择【Member Variable】,出现下图所示
6,然后选项按钮【Add Variable...】,再出现的对话框内进行设置,如下图中所示,接着点击【OK】,接着点击确定,返回最初的对话框
7,然后切换到ClassViewj界面,双击CCalculatorDlg,在public中定义如下变量8,然后进行数字设置,如双击【1】按钮,添加如下代码
9,然后进行等号设置,双击【=】按钮,添加如下代码
10,进行运算符设置,如双击【+】,添加如下代码11,进行CE设置,双击【CE】,添加如下代码
12,最后一步,调试运行,结果如下
因为时间和水品有限,只能做到这里了,希望对有兴趣的人有一定帮助
版权归孤独邪剑所有,尽请分享,哈哈。
MFC计算机程序步骤:1. 在进入VC++的第一个界面下,选择MFC AppWizard(exe),并设置工程名机器所在位置。
2. 在MFC AppWizard—step1 中选中Dialog based 选项,建立一个基于对话框的程序框架。
3. 使用资源编辑器建立对话框4. 编辑其中的各个控件的属性5. 插入菜单资源并编辑各项属性各属性为:Caption + * / ClearID ID_ADD_MENU ID_DIFFERENCE _MENU ID_MULTIPL Y_MENU ID_DEVIDE_MENU ID_CLEAR_MENUAbout ExitID_ABOUT_MENU ID_EXIT_MENU6. 添加代码使用Class Wizard 给编辑框连接变量(1)实现基本的加、减、乘、除的代码的添加。
(2)添加与菜单相关联的代码(3)填添加与滚动条相关联的代码在MFC AppWized(exe)项目下做。
界面自己做1.在对话框的头文件CalculatorDlg.h中添加#include<math.h>2.为CCalculatorDlg类添加成员数据和成员函数double number1,number2;int NumberState,OperationState;void cal();并在CCalculatorDlg类的构造函数中增加NumberState=1;3.添加消息按钮afx_msg void OnNumberKey(UINT nID);afx_msg void OnOperationKey(UINT nID);4.在CalculatorDlg.cpp文件中BEGIN_MESSAGE_MAP(CMy1Dlg, CDialog)和END_MESSAGE_MAP()间添加代码ON_COMMAND_RANGE(IDC_NUMBER1,IDC_NUMBER10,OnNumberKey)ON_COMMAND_RANGE(IDC_NUMBER11,IDC_NUMBER20,OnOperationKey)5.为成员函数OnNumberKey和OnOperationKey添加代码void CCalculatorDlg::OnNumberKey(UINT nID){int n=0;switch(nID){case IDC_NUMBER1:n=1;break;case IDC_NUMBER2:n=2;break;case IDC_NUMBER3:n=3;break;case IDC_NUMBER4:n=4;break;case IDC_NUMBER5:n=5;break;case IDC_NUMBER6:n=6;break;case IDC_NUMBER7:n=7;break;case IDC_NUMBER8:n=8;break;case IDC_NUMBER9:n=9;break;case IDC_NUMBER10:n=0;break;}if(NumberState==1){m_result=m_result*10+n;number1=m_result;UpdateData(FALSE); // 更新编辑框中的值}else{m_result=m_result*10+n;number2=m_result;UpdateData(FALSE);}}void CCalculatorDlg::OnOperationKey(UINT nID){switch(nID){case IDC_NUMBER13: // "/"按钮OperationState=1;UpdateData(FALSE);m_result=0;NumberState=2;break;case IDC_NUMBER14: // "*"按钮OperationState=2;UpdateData(FALSE);m_result=0;NumberState=2;break;case IDC_NUMBER15: // "+"按钮OperationState=3;UpdateData(FALSE);m_result=0;NumberState=2;break;case IDC_NUMBER16: // "-"按钮OperationState=4;UpdateData(FALSE);m_result=0;NumberState=2;break;case IDC_NUMBER17: // "C"按钮,撤消用,不需要可以删除number1=number2=m_result=0;UpdateData(FALSE);NumberState=1;break;case IDC_NUMBER20: // "="按钮cal(); // 调用cal成员函数break;}}6.为成员函数cal()添加代码void CCalculatorDlg::cal(){switch(OperationState){case 1:m_result=(double)number1/number2;UpdateData(FALSE); // 更新编辑框中的结果number1=m_result; // 把此次的运算结果作为下一次运算的第一个操作数NumberState=2; // 下次输入的数作为第二个操作数break;case 2:m_result=number1*number2;UpdateData(FALSE); // 更新编辑框中的结果number1=m_result;NumberState=2;break;case 3:m_result=number1+number2;UpdateData(FALSE); // 更新编辑框中的结果number1=m_result;NumberState=2;break;case 4:m_result=number1-number2;UpdateData(FALSE); // 更新编辑框中的结果number1=m_result;NumberState=2;break;}OperationState=0;} 注意按钮的ID号要和程序中的ID号相同!!!!。
STEP 1 (页面设计部分与控件添加部分)首先打开VC,选择MFC AppWizard[exe],设定好路径和工程名(这里我设置工程名为为“My')。
这里要注意的是在创建向导步骤1的时候,我们选择基本对话框”。
之后我们可以点击完成便看到以下界面此时我们把当前页面上原配的控件按 Delete 全部清除(如下图)口工悴(D Atit'U Sfi MLkd.工Sb 粗煙也 m®a )工冋(D 旨□世i 耳邑*Q0 H ■:・—!<<endl_*jMICUYOlg 巳 HN_CUCK£IJQ I K3置逛曲门圉m 中ui 血a' :Win3?PchugIp I ■+ 厚 MY cigs sesI V I I 14 P 4 II Fl I' ■ I I I)(| r :h 切丼斤胎耳i,吒它IT 丰習養看孔中咅滇專哗圖.>.沁 叱吟网/ \ *N|]粤|肄轉韓姑 I 曰 $ m 暮口r*ia;_ ?M \. I C sn v uGEKW (遞试l 在文律L 中暨復\在艾弊沖Ji 找二詁舉\佩曲吨皿/1 *JJ「]斑臥酚書0.0r 320x200接着我们按照 MFC 自带的控件选项进行我们本次计算器的控件添加(以下是控件)岂建辟①涌陽IT 弧扎⑴工程®狙連眠齐馬3二总© 稱勘⑩ _ SCMYI )I <] 【[悩| 日・理 mci!ilw 「T 「・CMVDI|t * FH ▼;□阖宙喰<<rndl・1 - 1 w0 tH n ©a II S(£] 13击注阖M&屯占ul 4 I , +| Win 議Dc^U. — 討 徐88爲:?旬曲[L4. ill JI ai ('a I ■■!■■ J B I L BI *ltadbdll ・li ・l ・・ii ・・ lltulijll列毎邂為湎口 口区宀枣圍陰C □日西我们在原先清空的界面中依次用上图控件画出一个基本的计算器页面(如下图)。
计算器的介绍(1)在运行程序后,系统会弹出一个基于对话框的计算器界面,如下图所示:图1.1 计算器界面(2)在计算器程序中,主要通过一个编辑框来获取表达式和显示计算结果,表达式可以通过键盘和单击按钮2种方式输入,输入后的结果如下图所示:图1.2 输入表达式后的界面(3)在输入完表达式后,单击“=”后,开始对表达式进行计算,计算完成后,在编辑框中显示计算的结果。
图1.3 计算后的结果(4)计算器可以实现十进制转化为十六进制或二进制,其实现的操作为先输入一个十进制整数,再单击按钮“转化为二进制”或“转化为十六进制。
图1.4 输入一个十进制数100图1.5 100转化为二进制后的结果图1.6 100转化为十六进制后的结果(4)另外,计算器还可以实现一些简单的函数运算,实现的操作和十六进制/二进制转化类似,是先输入一个数字,在单击想要进行的函数的按钮,单击后就会在编辑框中显示运算的结果。
1算法的实现2.1把字符串转化为数字和运算符的算法(1)如果字符串中只有数字。
这个情况用来实现一些简单函数的运算。
在进行简单函数的运算时,都是先输入一个数字,再单击要进行运算的按钮,然后编辑框显示运算的结果。
程序用了一个函数double GetaStr(CString str)来实现这个功能,该函数以编辑框变量m_strResult为实参,再得到m_strResult的值后,调用GetAt函数,一个字符一个字符的读取,如果碰到整数,执行“itemp=itemp*rate+(str.GetAt(i)-'0');”,其中变量itemp初始值为0,变量rate初始值为10,如果碰到了小数点,改变rate的值,使其等于0.1,再向后继续读取,再碰到整数时执行“itemp=itemp+rate*(str.GetAt(i)-'0');rate=rate/10;”,函数的最后确定返回值为itemp。
以下是这个函数的代码[2]:double CMyDlg::GetaStr(CString str){int i=0;double rate=10.0,itemp=0.0;for(;i<str.GetLength();i++){if(isdigit(str.GetAt(i))) //如果字符串str.GetAt(i)的内容是整数{if(rate==10.0) //整数部分itemp=itemp*rate+(str.GetAt(i)-'0');//获得整数else //小数部分{itemp=itemp+rate*(str.GetAt(i)-'0');//获得小数rate=rate/10; //每次让rate小10倍}}else if(str.GetAt(i)=='.') //如果str.GetAt(i)是小数点rate=0.1; //让rate=0.1,开始计算小数部分 }return (itemp);}(2)如果字符串中有运算符和数字,但是没有括号。
MFC开发——计算器制作由于之前QT⾥⾯做过计算器,所以这次在MFC⾥⾯制作,除了函数库不同之外,逻辑都是照上⼀次的,⽽且最近特别忙,所以不会讲解太多,详情可以参考第⼀步:界⾯设计建⽴基本对话框项⽬设计界⾯如下第⼆步,功能实现头⽂件⾥⾯private:CString m_str; //显⽰内容int m_num1; //储存数字1int m_num2; //储存数字2int m_result; //储存答案int m_opera; //储存加减乘除,1代表+,2代表-,3代表*,4代表/bool m_opera_has_click; //判断加减乘除是否已经按下bool m_num1_has_click;//判断num1已经按下构造函数m_str="";m_num1=0;m_num2=0;m_result=0;m_opera_has_click=false;m_num1_has_click=false;按钮功能实现//////////////////////0~9按钮的实现/////////////////////////////void CCalculatorDlg::OnButton1() //按下1{// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2{m_num1=m_num1*10+1;m_str+="1";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+1;m_str+="1";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton2(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false){m_num1=m_num1*10+2;m_str+="2";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+2;m_str+="2";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton3(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2{m_num1=m_num1*10+3;m_str+="3";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+3;m_str+="3";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton4(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2 {m_num1=m_num1*10+4;m_str+="4";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+4;m_str+="4";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton5(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2 {m_num1=m_num1*10+5;m_str+="5";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+5;m_str+="5";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton6(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2 {m_num1=m_num1*10+6;m_str+="6";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+6;m_str+="6";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton7(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2 {m_num1=m_num1*10+7;m_str+="7";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+7;m_str+="7";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton8(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2{m_num1=m_num1*10+8;m_str+="8";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+8;m_str+="8";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton9(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2{m_num1=m_num1*10+9;m_str+="9";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+9;m_str+="9";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}void CCalculatorDlg::OnButton0(){// TODO: Add your control notification handler code hereif(m_opera_has_click==false)//判断是否按下了运算符,没按下输⼊数字1,按下了则输⼊数字2{m_num1=m_num1*10+0;m_str+="0";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_num1_has_click=true;}else{m_num2=m_num2*10+0;m_str+="0";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);}}/////////////////////////运算符的实现/////////////////////////////void CCalculatorDlg::OnButtonAdd() //按下加号{// TODO: Add your control notification handler code hereif(m_opera_has_click==false&&m_num1_has_click==true)//判断是否按下了运算符与数字1,防⽌按下多次运算符与开始按下运算符 {m_str+="+";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_opera_has_click=true;m_opera=1;}}void CCalculatorDlg::OnButtonDel() //按下减号{// TODO: Add your control notification handler code hereif(m_opera_has_click==false&&m_num1_has_click==true)//判断是否按下了运算符与数字1,防⽌按下多次运算符与开始按下运算符 {m_str+="-";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_opera_has_click=true;m_opera=2;}}void CCalculatorDlg::OnButtonMul() //按下乘号{// TODO: Add your control notification handler code hereif(m_opera_has_click==false&&m_num1_has_click==true)//判断是否按下了运算符与数字1,防⽌按下多次运算符与开始按下运算符{m_str+="*";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_opera_has_click=true;m_opera=3;}}void CCalculatorDlg::OnButtonDiv() //按下除号{// TODO: Add your control notification handler code hereif(m_opera_has_click==false&&m_num1_has_click==true)//判断是否按下了运算符与数字1,防⽌按下多次运算符与开始按下运算符 {m_str+="/";GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);m_opera_has_click=true;m_opera=4;}}void CCalculatorDlg::OnButtonEqual() //按下等号{// TODO: Add your control notification handler code hereif(m_opera_has_click==true&&m_num1_has_click==true)//防⽌开始按下等号{switch(m_opera){case 1:m_result=m_num1+m_num2;break;case 2:m_result=m_num1-m_num2;break;case 3:m_result=m_num1*m_num2;break;case 4:if(m_num2==0)//防⽌除数为0{MessageBox("错误:除数为0");//重置数据m_opera_has_click=false;m_num1_has_click=false;m_str="";m_num1=0;m_num2=0;m_result=0;GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);break;}else{m_result=m_num1/m_num2;break;}}//计算显⽰结果m_str.Format("%d",m_result);GetDlgItem(IDC_EDIT1)->SetWindowText(m_str);//重置数据m_opera_has_click=false;m_num1_has_click=false;m_str="";m_num1=0;m_num2=0;m_result=0;}}void CCalculatorDlg::OnButtonClear() //按下清除键{// TODO: Add your control notification handler code here//重置数据m_str="";m_num1=0;m_num2=0;m_result=0;m_opera_has_click=false;m_num1_has_click=false;//清空屏幕GetDlgItem(IDC_EDIT1)->SetWindowText(m_str); }最后效果如图。
MFC入门之简易计算器制作最近自学MFC,入门的时候走了不少弯路,所以特做此教程,希望能帮助一些人能够快速入门,少走一些弯路。
这个教程就是通过一个简易计算器的制作让大家了解MFC界面编程的基本步骤和几个常用控件的使用方法。
使用软件Visual C++ 6.0.首先,新建一个MFC基于对话框的工程。
点击文件-新建,在工程选项卡里选择MFC AppWizard[exe],给工程命名Jisuan。
点击确定。
在接下来的向导里选择基于对话框,其他选项使用默认即可,之间点击完成。
先给大家介绍一下Visual C++ 6.0的界面。
左边框起来的是文件资源控制区,默认有三个选项卡,分别是ClassView、ResourceView和FileView。
分别用来显示类、资源和文件。
中间这个主要操作区呢,就是我们用来设计界面和编程的窗口了。
现在这个是IDD_JISUAN_DIALOG资源,如图所示。
右边那个是控件工具箱,如果没有显示的话可以右击菜单栏空白区域,把控件前打上对号即可。
然后给大家介绍一下今天需要用到的控件。
如左图所示,今天主要需要用到四个控件。
第一个是静态文本控件,就是可以往对话框上放一些静态的文字。
第二个是编辑框,它是可以往里面输入文字的。
第三个是组合框,它是把用来给对话框分区,使界面更加美观明了。
第四个是按钮控件,是用来点一下产生某个操作的。
上面那个是编辑框,下面这个是按钮控件。
点一下控件,拖到对话框上,即可使用。
下面我们可以这样布局:上面两个编辑框里输入数字,中间四个按钮分别是+ - * /,然后下面编辑框里显示数字。
下面开始给大家介绍第一个最重要的操作,就是属性操作。
我们想让这些控件的显示文字改变,就需要修改它的属性。
选定某个控件,右击,选择属性,即可来改变它们的属性了。
我们挨个控件介绍。
首先是组合框。
组合框的属性,我们看到有一个ID,一个标题。
首先说明一点,每个控件都必须有一个ID值,而且一般每个控件的ID值不能相同。
矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。