资源描述:
《实验六---对话框程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验六对话框、控件程序设计【实验目的】1、掌握基本对话框程序设计2、掌握典型控件程序设计3、理解计算机程序设计4、理解购书程序设计【实验内容】1、建立一个单文档应用程序,选择菜单后通过对话框输入一对坐标值,然后在视图区该坐标处输出你的姓名。插入菜单插入输入对话框(对话框、控件、类CInput、控件的成员变量m_x,m_y)定义消息响应函数参考代码:voidCXiTi5_1View::OnInput(){//TODO:Addyourcommandhandlercodehereintx,y;CClientDCdc(this)
2、;CInputdlg;if(dlg.DoModal()==IDOK){x=dlg.m_x;y=dlg.m_y;}dc.TextOut(x,y,"自己姓名");}2、为应用程序工具栏添加两个工具按钮,选择第一个按钮,显示“打开文件”对话框,列出当前路径下的所有位图文件;选择第二个按钮,显示颜色对话框,并在试图区画一个该颜色的矩形。参考代码:voidCXiTi5_3View::OnMyopen(){//TODO:AddyourcommandhandlercodehereCStringFilePathName;CFileDia
3、logdlg(TRUE,"bmp","*.bmp",OFN_HIDEREADONLY
4、OFN_ALLOWMULTISELECT,"位图文件(*.bmp)
5、*.bmp
6、
7、");dlg.DoModal();}voidCXiTi5_3View::OnColor(){//TODO:AddyourcommandhandlercodehereCOLORREFm_cc;CColorDialogdlg;//构建一个CColorDialog对象if(dlg.DoModal()==IDOK){CPennewpen,*oldpen;CClie
8、ntDCdc(this);m_cc=dlg.GetColor();//得到在对话框中选择的颜色//用得到的颜色画矩形newpen.CreatePen(PS_SOLID,2,m_cc);oldpen=dc.SelectObject(&newpen);dc.Rectangle(50,100,200,200);dc.SelectObject(oldpen);}}3、设计简单计算器public:intm_OperationCount;intm_NumberCount;doublem_number[15];intm_Operati
9、on[15];voidcal();afx_msgvoidOnNumberKey(UINTnID);afx_msgvoidOnOperationKey(UINTnID);DECLARE_MESSAGE_MAP()CCalculatorDlg::CCalculatorDlg(CWnd*pParent/*=NULL*/):CDialog(CCalculatorDlg::IDD,pParent){//{{AFX_DATA_INIT(CCalculatorDlg)m_result=0.0;//}}AFX_DATA_INIT//No
10、tethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);m_NumberCount=1;m_OperationCount=1;for(inti=0;i<15;i++){m_number[i]=0;m_Operation[i]=999;}}BEGIN_MESSAGE_MAP(CCalculatorDlg,CDialog)//{{AFX_MSG_MAP(CCalculatorDl
11、g)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()//}}AFX_MSG_MAPON_COMMAND_RANGE(IDC_NUMBER1,IDC_NUMBER0,OnNumberKey)ON_COMMAND_RANGE(IDC_MINUS,IDC_RESULT,OnOperationKey)END_MESSAGE_MAP()voidCCalculatorDlg::OnNumberKey(UINTnID){//处理单击数字按钮操作,记录输入的操作数intn=0;sw
12、itch(nID)//根据单击的数字键ID,记录输入数字{caseIDC_NUMBER1:n=1;break;caseIDC_NUMBER2:n=2;break;caseIDC_NUMBER3:n=3;break;caseIDC_NUMBER4:n=4;break;caseIDC_NUMBER5:n=5;break;