![[计算机软件及应用]mfcwindows大作业.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/8/fe960e38-1c13-4dc1-b8b9-4fa60a4475a4/fe960e38-1c13-4dc1-b8b9-4fa60a4475a41.gif)
![[计算机软件及应用]mfcwindows大作业.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/8/fe960e38-1c13-4dc1-b8b9-4fa60a4475a4/fe960e38-1c13-4dc1-b8b9-4fa60a4475a42.gif)
![[计算机软件及应用]mfcwindows大作业.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/8/fe960e38-1c13-4dc1-b8b9-4fa60a4475a4/fe960e38-1c13-4dc1-b8b9-4fa60a4475a43.gif)
![[计算机软件及应用]mfcwindows大作业.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/8/fe960e38-1c13-4dc1-b8b9-4fa60a4475a4/fe960e38-1c13-4dc1-b8b9-4fa60a4475a44.gif)
![[计算机软件及应用]mfcwindows大作业.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/8/fe960e38-1c13-4dc1-b8b9-4fa60a4475a4/fe960e38-1c13-4dc1-b8b9-4fa60a4475a45.gif)
已阅读5页,还剩77页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院 windows程序设计软件113班 第二组 Windows大作业报告 课程名称:windows程序设计所属学院:计算机学院所属班级:软件113班 所属组别:第二组指导老师:* * *2012年12月3日第 81 页 共82页Windows大作业报告 目录目录1一.作者信息5二.准备工作51.建立工程52.准备图片63. 添加位图7三设计钟表和电子钟91.创建对话框CMyDialog192. 设计CMyDialog193. 关联变量124.添加成员变量144. 添加静态成员变量155. 初始化静态成员变量:156. 添加消息处理函数167. 编写CMyDialog1:OnButton2() 消息处理函数:178. 编写CMyDialog1:OnButton3() 消息处理函数:179. 编写CMyDialog1:OnButton4() 消息处理函数:1710. 编写CMyDialog1:OnButton5() 消息处理函数:1811. 编写CMyDialog1:OnButton6() 消息处理函数:1812. 编写CMyDialog1:OnButton7() 消息处理函数:1813. 编写CMyDialog1:OnCancel()消息处理函数:1914. 编写CMyDialog1:OnOK()消息处理函数:1915. 编写CMyDialog1:OnPaint() 消息处理函数:1916. 编写CMyDialog1:OnTimer() 消息处理函数:2417. 编写CMyDialog1:OnInitDialog() 消息处理函数:2418. 编写CMyDialog1:OnRadio1() 消息处理函数:2519. 编写CMyDialog1:OnRadio2() 消息处理函数:2520. 编写CMyDialog1:OnButton1() 消息处理函数2521. 添加头文件25四.设计计算器的出错提示261. 创建对话框CMyDialog0262.设计CMyDialog0263.创建新类27五.设计计算器271.创建对话框CDialog2272.设计CDialog2273.关联变量304.添加成员变量和静态成员变量305.初始化静态成员变量和定义静态全局变量:316.添加消息处理函数317.编写CDialog2:OnButton1()的处理函数338.编写CDialog2:OnButton0()的处理函数339.编写CDialog2:OnButton10x()的处理函数3410.编写CDialog2:OnButton2()的处理函数3411.编写CDialog2:OnButton3()的处理函数3512.编写CDialog2:OnButton3x()的处理函数3513.编写CDialog2:OnButton4()的处理函数3614.编写CDialog2:OnButton5()的处理函数3615.编写CDialog2:OnButton6()的处理函数3716.编写CDialog2:OnButton7()的处理函数3717.编写CDialog2:OnButton8()的处理函数3818.编写CDialog2:OnButton9()的处理函数3819.编写CDialog2:OnButtonAcos()的处理函数3821.编写CDialog2:OnButtonAdd()的处理函数3922.编写CDialog2:OnButtonAsin()的处理函数4023.编写CDialog2:OnButtonAtan()的处理函数4124.编写CDialog2:OnButtonC()的处理函数4125.编写CDialog2:OnButtonCe()的处理函数4126.编写CDialog2:OnButtonCos()的处理函数4227.编写CDialog2:OnButtonCosh()的处理函数4328.编写CDialog2:OnButtonDe()的处理函数4329.编写CDialog2:OnButtonDiv()的处理函数4430.编写CDialog2:OnButtonEq()的处理函数4431.编写CDialog2:OnButtonExq()的处理函数4632.编写CDialog2:OnButtonInt()的处理函数4633.编写CDialog2:OnButtonLn()的处理函数4734.编写CDialog2:OnButtonLog()的处理函数4835.编写CDialog2:OnButtonM1()的处理函数4836.编写CDialog2:OnButtonM2()的处理函数4937.编写CDialog2:OnButtonMc()的处理函数4938.编写CDialog2:OnButtonMod()的处理函数5039.编写CDialog2:OnButtonMr()的处理函数5040.编写CDialog2:OnButtonMs()的处理函数5141.编写CDialog2:OnButtonM1()的处理函数5142.编写CDialog2:OnButtonN()的处理函数5243.编写CDialog2:OnButtonPer()的处理函数5244.编写CDialog2:OnButtonPi()的处理函数5345.编写CDialog2:OnButtonRe()的处理函数5346.编写CDialog2:OnButtonSin()的处理函数5447.编写CDialog2:OnButtonSinh()的处理函数5548.编写CDialog2:OnButtonSqroot()的处理函数5549.编写CDialog2:OnButtonSu()的处理函数5650.编写CDialog2:OnButtonTan()的处理函数5651.编写CDialog2:OnButtonTanh()的处理函数5752.编写CDialog2:OnButtonX2()的处理函数5853.编写CDialog2:OnButtonX3()的处理函数5854.编写CDialog2:OnButtonXy()的处理函数5955.编写CDialog2:OnButtonYx()的处理函数5956.编写CDialog2:OnButtond()的处理函数6057.编写CDialog2:OnInitDialog()的处理函数6058.编写CDialog2:OnButtonFa()的处理函数6159.编写CDialog2:OnRadio3()的处理函数6160.编写CDialog2:OnRadio4()的处理函数6261.编写CDialog2:OnRadio5()的处理函数6262.编写CDialog2:OnCtlColor()的处理函数6263.编写CDialog2:OnCancel() 的处理函数6264.编写CDialog2:OnCancel() 的处理函数6365.编写计算n!的函数6366.添加头文件63六.设计日期和天数计算641.创建对话框CDialog3642.设计CDialog3643.关联变量654.添加成员变量665.添加消息处理函数676. 编写CDialog3:OnButtonCacl1()消息处理函数:677. 编写CDialog3:OnButtonCacl2()消息处理函数:718. 编写CDialog3:OnRadio1()消息处理函数:739. 编写CDialog3:OnRadio2()消息处理函数:7310. 编写CDialog3:OnInitDialog() 消息处理函数:7311. 编写CDialog3:OnCancel() 消息处理函数:7312. 编写CDialog3:OnButton2() 消息处理函数:7413.添加头文件74七.设计作者信息741.创建对话框CDialog4742.设计CDialog4753. 添加消息处理函数764. 编写CDialog4:OnCancel() 消息处理函数:76八设计调用(主目录)761. 设置字体和标题762.设计IDD_CWINDOWSDAZUOYE_DIALOG对话框763.添加消息处理函数774. 编写CCWindowsDazuoyeDlg:OnButton1() 消息处理函数:785. 编写CCWindowsDazuoyeDlg:OnButtonCacl() 消息处理函数:786. 编写CCWindowsDazuoyeDlg:OnButton2() 消息处理函数:787. 编写CCWindowsDazuoyeDlg:OnButton3() 消息处理函数:788.添加头文件79九运行程序(部分截图)79十程序调试及修改81十一.总结81十二. 致谢82一.作者信息 所属学院:计算机学院 所属专业:软件工程 所属班级:软件113班 指导老师:* * * 课程名称:windows程序设计 所属小组:软件113班第二组 所属成员(学号+姓名)(按学号排序): *二.准备工作1.建立工程 在Visual C+ 6.0中,选择“文件”“新建”(或者使用快捷键“ctrl+N”“工程”选定“MFC AppWizard(.exe)”,输入工程名(名字可以为任意名字,比如我们的工程名称为“CWindowsDazuoye”)(如图 1所示)(也可以更改储存位置,比如我们的程序储存在“E:编译windows程序设计”,也可以使用默认),点确定选定基本对话框(如图 2所示),然后点完成. 图 1图 22.准备图片 把需要用的图片(如zxgxy.bmp(如图 3所示)和出错提示.bmp(如图 4所示)放到新建工程产生的res文件中,需要的图片如图 5所示 图 3 zxgxy.bmp 图 4 出错提示.bmp图 3.1.2图 53. 添加位图按“Ctrl+R”(或者选择“插入”(如图 6所示)“资源”),在弹出对话框选择“Bitmap”(或者切换到ResourceView页面,选定工程名(如图 7所示)并右击,在弹出菜单中选定“插入”在弹出对话框中选择“Bitmap”),(如图 8所示)选择引入,浏览图片,找到图片所在位置,其中在“文件类型”下拉框中选定“All Flies(*.*)”,否则无法插入一些图片,并分别按顺序添加图片“zxgxy.bmp.bmp”(如图9所示)和“出错提示.bmp”,ID分别默认名为IDB_BITMAP1,IDB_BITMAP2(可以修改ID名称,也可以使用默认,我们的程序使用的默认ID名)图 6图 7图 8图 9三设计钟表和电子钟1.创建对话框CMyDialog1按“Ctrl+R”(或者选择(或者选择“插入”(参照图 6所示)“资源”),在弹出对话框(参照图 8所示)选择双击“Dialog”(或者切换到ResourceView页面,展开所有资源节点,单击Dialog(如图 10所示),在弹出对话框中选择“插入 Dialog”)。并右击对话框修改其标题为“windows程序设计第二组-钟表和电子钟显示”,如图 11所示 图 10 图 112. 设计CMyDialog1 并按要求和表1、图 12所示内容,向对话框模板中加入控件(添加控件后,选定右击,在弹出的菜单中选择“属性”,其中第一个静态文本如图13所示和第二个静态文本如图 14所示的对话框,然后在第二个文本中可选择样式,并修改如图 15所示,其它控件可按照以上操作进行添加,需注意的是修改控件ID为“IDC_COMBO1”在数据中的输入列表项目中输入数据时,按住“ctrl+Enter”组合键换行,并不是按住“Enter”键换行,效果如图 16所示) 图 12表 1 控件属性控件类型ID标题其他属性静态文本默认电子钟显示:默认静态文本IDC_STATIC_CLOCK电子钟在样式中的排列文本下拉框中选定居中,并选中垂直居中,凹陷和边框静态文本IDC_STATIC_TITLE在样式中的排列文本下拉框中选定居中,并选中垂直居中,凹陷和边框属性分组框默认时区选择默认组合框IDC_COMBO1在样式中的类型本下拉框中选定简单,并去掉分类属性,在数据中的输入列表项目中输入“ 西十二区西十一区零时区东十二区”分组框默认电子钟显示格式默认单选按钮IDC_RADIO124时默认单选按钮IDC_RADIO212时默认分组框默认改变颜色默认命令按钮IDC_BUTTON2对话框背景颜色默认命令按钮IDC_BUTTON3时针颜色默认命令按钮IDC_BUTTON4分针颜色默认命令按钮IDC_BUTTON5秒针颜色默认命令按钮IDC_BUTTON6电子钟背景颜色默认命令按钮IDC_BUTTON7电子钟字体颜色默认命令按钮IDC_BUTTON1作者信息默认命令按钮IDCANCEL返回主目录默认命令按钮IDOK结束程序默认图 13图 14图 15图163. 关联变量 单击对话框,按“Ctrl+W”(或者右击,在弹出的对话框中选择“建立类向导”或者选择“查看”“建立类向导”),在弹出的对话框(如图 17所示),选择“OK”按钮,然后建立一个新类“CMyDialog1”(可以为任意名)(如图 18所示),在弹出对话框中选择Member Variables,并按表 3.1.2所示关联变量图 17图 18表 2 CMyDialog1类的控件关联变量控件ID变量类型变量名IDC_COMBO1CComboBoxm_listBox4.添加成员变量切换到类视图页面,在“CMyDialog1”单击(如图 19所示),选择“Add Member Variables”,并按表 3所示添加类CMyDialog1成员变量 图 19表 3 CMyDialog1类成员变量变量类型变量名称访问权限BOOLm_pBoolProtected 或者项目切换到工作区间,选择头文件中“CMyDialog1.h”,在下列位置添加如下代码(红色为新加代码):/AFX_VIRTUALBOOL m_pBool;/ Generated message map functions4. 添加静态成员变量 项目切换到工作区间,选择头文件中“CMyDialog1.h”,在下列位置添加如下代码(红色为新加代码):/AFX_VIRTUALprotected:static int m_DBkColor,m_HourColor,m_MinuteColor,m_SecondColor,m_BkFontColor,m_FontColor;BOOL m_pBool;/ Generated message map functions5. 初始化静态成员变量: 项目切换到工作区间,选择头文件中“CMyDialog1.cpp”,在下列位置添加如下代码(红色为新加代码)初始化静态成员变量:/ CMyDialog1 dialog/初始化所有的颜色int CMyDialog1:m_DBkColor=int(RGB(255,100,100),CMyDialog1:m_HourColor=int(RGB(0,0,255),CMyDialog1:m_MinuteColor=int(RGB(0,255,0),CMyDialog1:m_SecondColor=int(RGB(200,0,0),CMyDialog1:m_BkFontColor=int(RGB(255,255,255),CMyDialog1:m_FontColor=int(RGB(255,0,0);CMyDialog1:CMyDialog1(CWnd* pParent /*=NULL*/): CDialog(CMyDialog1:IDD, pParent)6. 添加消息处理函数在类向导中按要求和表 4 CMyDialog1的控件通知消息处理函数添加消息处理函数(如图 20-1所示)图 20-1表 4 CMyDialog1的控件通知消息处理函数控件ID消息消息处理函数IDC_BUTTON2BN_CLICKED默认IDC_BUTTON3BN_CLICKED默认IDC_BUTTON4BN_CLICKED默认IDC_BUTTON5BN_CLICKED默认IDC_BUTTON6BN_CLICKED默认IDC_BUTTON7BN_CLICKED默认IDC_BUTTON1BN_CLICKED默认IDCANCELBN_CLICKED默认IDOKBN_CLICKED默认IDC_RADIO1BN_CLICKED默认IDC_RADIO2BN_CLICKED默认CMyDialog1WM_INITDIALOG默认CMyDialog1WM_PAINT默认CMyDialog1WM_CTLCOLOR默认CMyDialog1WM_TIMER默认7. 编写CMyDialog1:OnButton2() 消息处理函数:void CMyDialog1:OnButton2() / TODO: Add your control notification handler code hereCColorDialog dlg;int nRect=dlg.DoModal();if(nRect=IDOK)m_DBkColor=dlg.GetColor();8. 编写CMyDialog1:OnButton3() 消息处理函数:void CMyDialog1:OnButton3() / TODO: Add your control notification handler code hereCColorDialog dlg;int nRect=dlg.DoModal();if(nRect=IDOK)m_HourColor=dlg.GetColor();9. 编写CMyDialog1:OnButton4() 消息处理函数:void CMyDialog1:OnButton4() / TODO: Add your control notification handler code hereCColorDialog dlg;int nRect=dlg.DoModal();if(nRect=IDOK)m_MinuteColor=dlg.GetColor();10. 编写CMyDialog1:OnButton5() 消息处理函数:void CMyDialog1:OnButton5() / TODO: Add your control notification handler code hereCColorDialog dlg;int nRect=dlg.DoModal();if(nRect=IDOK)m_SecondColor=dlg.GetColor();11. 编写CMyDialog1:OnButton6() 消息处理函数:void CMyDialog1:OnButton6() / TODO: Add your control notification handler code hereCColorDialog dlg;int nRect=dlg.DoModal();if(nRect=IDOK)m_BkFontColor=dlg.GetColor();12. 编写CMyDialog1:OnButton7() 消息处理函数:void CMyDialog1:OnButton7() / TODO: Add your control notification handler code hereCColorDialog dlg;int nRect=dlg.DoModal();if(nRect=IDOK)m_FontColor=dlg.GetColor();13. 编写CMyDialog1:OnCancel()消息处理函数:void CMyDialog1:OnCancel() / TODO: Add extra cleanup hereKillTimer(1);/移除定时器CDialog:OnCancel();CCWindowsDazuoyeDlg dlg;dlg.DoModal();14. 编写CMyDialog1:OnOK()消息处理函数:void CMyDialog1:OnOK() / TODO: Add extra validation hereKillTimer(1);/移除定时器exit(0);/结束程序CDialog:OnOK();15. 编写CMyDialog1:OnPaint() 消息处理函数:void CMyDialog1:OnPaint() CPaintDC dc(this); / device context for paintingCDC *pDC = GetDC();CBitmap bmp;/ 内存中存在临时图像的位图 CRect rect; GetClientRect(&rect); /获取客户区大小 CDC dcMem; / 用于缓冲作图的内存dcMem.CreateCompatibleDC(pDC);/ 依附窗口DC创建兼容DCbmp.CreateCompatibleBitmap(pDC, rect.Width(), rect.Height();dcMem.SelectObject(&bmp);/ 将位图选入内存dcMem.FillSolidRect(rect,m_DBkColor);/ 按照原有背景色(或自己设置的背景色)填充客户区dcMem.SelectObject(&bmp);/ 将位图选入内存DC/ 绘图操作static const double pi=3.141592635; /得到客户区的矩形 GetClientRect(&rect); /得到表盘中央位置,即圆心 int x0=rect.Width()/2; /得到对话框的宽int y0=rect.Height()/2;/得到对话框的高int r=(x0y0?y0:x0);/得到半径(以宽和高的最小值为半径)x0=r+55; /绘钟表图像距左边位置为55像素CPen Pen1; Pen1.CreatePen(PS_SOLID,1,RGB(255,100,0);/设置椭圆的颜色dcMem.SelectObject(&Pen1); dcMem.Ellipse(CRect(x0-r,y0-r,x0+r,y0+r); /画最外侧的椭圆 dcMem.Ellipse(CRect(x0-r+6,y0-r+6,x0+r-6,y0+r-6); /画外侧的椭圆 dcMem.Ellipse(CRect(x0-r+35,y0-r+35,x0+r-35,y0+r-35); /画最内侧的椭圆 CPen Pen2(PS_SOLID,3,RGB(0,0,255);/设置圆点的颜色 dcMem.SelectObject(Pen2); /设置椭圆的颜色double rate = (double)(2.0* pi/60.0); /分钟或秒针每分/秒走过角度大小 ,每刻度转过角度大小double halfPi=pi/2; /将要在循环中重复的计算提取出来,减少时间复杂度int zoomR=r-20; /绘制表盘 /zoomR 及对 zoomR 进行加或减操作主要是用来控制距离圆心的距离 dcMem.SetBkMode(TRANSPARENT); for(int mark=1;mark12)t=hour-12;if(t=0&m_pBool)t+=12;itoa(t,a,10);if(t10)s.Insert(s.GetLength(),0);s.Insert(s.GetLength(),a);elses.Insert(s.GetLength(),a);s.Insert(s.GetLength(),:);itoa(minute,a,10);if(minute10)s.Insert(s.GetLength(),0);s.Insert(s.GetLength(),a);elses.Insert(s.GetLength(),a);s.Insert(s.GetLength(),:);itoa(second,a,10);if(second=12)SetDlgItemText(IDC_STATIC_TITLE,pm);/在名为IDC_curtime的控件里显示字符串strelseSetDlgItemText(IDC_STATIC_TITLE,am);/在名为IDC_curtime的控件里显示字符串strelseSetDlgItemText(IDC_STATIC_TITLE,);/在名为IDC_curtime的控件里显示字符串strSetDlgItemText(IDC_STATIC_CLOCK,s);/在名为IDC_curtime的控件里显示字符串strdouble hourRate=(double)(2.0*pi/12.0); /时钟每小时走过角度大小 if(hour12)/若时针超过12时 hour-=12; CPen hourPen(PS_SOLID,7,m_HourColor); /设置时针的颜色dcMem.SelectObject(hourPen); dcMem.MoveTo(CPoint(x0,y0); /时针直线起始位置int hourX=(int)(zoomR-110)*sin(hourRate*(hour+minute/60.0)+x0); int hourY=(int)(-(zoomR-110)*sin(hourRate *(hour+minute/60.0)+halfPi)+ y0); dcMem. LineTo(CPoint(hourX,hourY);/时针直线结束位置CPen minutePen(PS_SOLID,5,m_MinuteColor); /设置分针的颜色dcMem.SelectObject(minutePen); /绘制分钟数指针dcMem.MoveTo(CPoint(x0,y0); /分针直线起始位置int minuteX=(int)(zoomR-70)*sin(rate*(minute+second/60.0)+ x0); int minuteY=(int)(-(zoomR-70)*sin(rate*(minute+second/60.0)+halfPi)+ y0); dcMem.LineTo(CPoint(minuteX,minuteY); /分针直线结束位置 CPen secondPen(PS_SOLID,2,m_SecondColor);/设置秒针的颜色dcMem.SelectObject(secondPen); /绘制秒针dcMem.MoveTo(CPoint(x0,y0);/秒针直线起始位置int secondX=(int)(zoomR-25)*sin(rate*second)+x0);int secondY=(int)(-(zoomR-25) * sin(rate * second +halfPi)+ y0);dcMem.LineTo(CPoint(secondX,secondY); /秒针直线结束位置pDC-BitBlt(0, 0, rect.Width(), rect.Height(),&dcMem, 0, 0, SRCCOPY);dcMem.DeleteDC();/ 删除DCbmp.DeleteObject();/ 删除位图 SetTimer(1, 1000, NULL);/创建或设置一个定时器/ TODO: Add your message handler code here/ Do not call CDialog:OnPaint() for painting messages16. 编写CMyDialog1:OnTimer() 消息处理函数:void CMyDialog1:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call defaultInvalidate(FALSE);CDialog:OnTimer(nIDEvent);HBRUSH CMyDialog1:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor); if(pWnd-GetDlgCtrlID() =IDC_STATIC_CLOCK) pDC-SetTextColor(m_FontColor);/用RGB宏改变颜色HBRUSH b=CreateSolidBrush(m_BkFontColor);/控件背景色 pDC-SetBkColor(m_BkFontColor); return b; / TODO: Change any attributes of the DC here/ TODO: Return a different brush if the default is not desiredreturn hbr;17. 编写CMyDialog1:OnInitDialog() 消息处理函数:BOOL CMyDialog1:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_pBool=false;CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);/将OnRadio1(24时)设为选中状态m_listBox.SetCurSel(20);/将组合框IDC_LIST1中“东八区”设为选中状态SetDlgItemText(IDC_STATIC_TITLE, );/在名为IDC_curtime的控件里显示字符串strCButton* popenbtn=(CButton*)GetDlgItem(IDCANCEL);popenbtn-SetFocus();/设置按钮焦点在返回主目录上return FALSE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE18. 编写CMyDialog1:OnRadio1() 消息处理函数:void CMyDialog1:OnRadio1() / TODO: Add your control notification handler code herem_pBool=false;19. 编写CMyDialog1:OnRadio2() 消息处理函数:void CMyDialog1:OnRadio2() / TODO: Add your control notification handler code herem_pBool=true;20. 编写CMyDialog1:OnButton1() 消息处理函数void CMyDialog1:OnButton1() / TODO: Add your control notification handler code hereCDialog4 dlg;dlg.DoModal();21. 添加头文件 要想返回主目录、调用作者信息对话框和使用sin()函数,需增加头文件;项目切换到工作区间,选择头文件中“CMyDialog1.cpp”,在下列位置添加如下代码(红色为新加代码):#include stdafx.h#include CWindowsDazuoye.h#include CWindowsDazuoyeDlg.h#include MyDialog1.h#include Dialog4.h/作者信息头文件,见对话框4#include #ifdef _DEBUG#define new DEBUG_NEW四.设计计算器的出错提示1. 创建对话框CMyDialog0 按“Ctrl+R”(或者选择“插入”“资源”),在弹出对话框选择双击“Dialog”(或者切换到ResourceView页面,展开所有资源节点,单击Dialog,在弹出对话框中选择“插入 Dialog”)。并右击对话框修改其标题为“windows程序设计第二组-计算器-错误提示” (仿照 三.1.创建对话框CMyDialog1步骤)2.设计CMyDialog0 删除该模板上除确定按钮以外的控件。并按要求和表5、图20-2所示内容,向对话框模板中加入控件(参照 三.2设计CMyDialog1的步骤,其中静态图片属性如图 21所示) 图 20-2表5 控件属性控件类型ID标题其他属性分组框默认温馨提示:默认静态文本默认操作有误!默认静态图片默认在类型下拉框中选择位图,图像下拉框中选择IDB_BITMAP2命令按钮IDOK确定默认图 213.创建新类 单击对话框,按“Ctrl+W”(或者右击,在弹出的对话框中选择“建立类向导”或者选择“查看”“建立类向导”),在弹出的对话框(如图 16所示),选择“OK”按钮,然后建立一个新类“CMyDialog0”(可以为任意名)。(仿照三. 3.关联变量步骤)五.设计计算器1.创建对话框CDialog2 按“Ctrl+R”(或者选择“插入”“资源”),在弹出对话框选择双击“Dialog”(或者切换到ResourceView页面,展开所有资源节点,单击Dialog,在弹出对话框中选择“插入 Dialog”)。并右击对话框修改其标题为“windows程序设计第二组-计算器”(仿照 三.1.创建对话框CMyDialog1步骤)2.设计CDialog2并按要求和表6、图 22所示内容,向对话框模板中加入控件。(参照 三.2设计CMyDialog1的步骤)图 22表 6 控件属性控件类型ID标题其他属性编辑框IDC_EDIT1在样式中的排列文本下拉框中选定靠右,取消自动水平滚动,选定只读和边框属性静态文本IDC_STATIC_MS寄数器状态在样式中的排列文本下拉框中选定居中,选定垂直居中和边框属性分组框默认默认单选按钮IDC_RADIO3角度默认单选按钮IDC_RADIO4弧度默认单选按钮IDC_RADIO5梯度默认命令按钮IDC_BUTTON_M1M+默认命令按钮IDC_BUTTON_M2M-默认命令按钮IDC_BUTTON_MRMR默认命令按钮IDC_BUTTON_MSMS默认命令按钮IDC_BUTTON
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年乡村民宿管家中级面试预测题与解析
- 2025年市场营销专员招聘笔试模拟题及答案详解
- 2025年井下多功能测振仪项目合作计划书
- 脊柱解剖培训课件
- 2025年医用X射线设备项目发展计划
- 2025年稀土发光材料项目合作计划书
- 2025年生麻生产合作协议书
- 河南省济源市轵城镇2024-2025学年七年级上学期第二次月考生物试题(含答案)
- 广东省深圳市多校联考2025-2026学年高三上学期开学考试语文试题
- 2025年高阻隔性封装材料项目建议书
- 药肥登记管理办法
- 深企投产业研究院:2025第三代半导体产业链研究报告
- 华为主数据管理办法
- 商混公司生产部管理制度
- 水果供应链协议
- 用别人资质中标合同范本
- 储备土地巡查管理办法
- 考古学复习资料与题库
- 铝粉代加工铝锭合同范本
- 餐前礼仪教学课件
- 临床试验病历书写规范与流程
评论
0/150
提交评论