对话框是一个弹出式窗口_第1页
对话框是一个弹出式窗口_第2页
对话框是一个弹出式窗口_第3页
对话框是一个弹出式窗口_第4页
对话框是一个弹出式窗口_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对话框对话框是一个弹出式窗口,是Windows应用程序的常见元素之一。MFC的Cdialog类封装了对话框功能;对话框分为模态对话框和非模态对话框;模态对话框是一个有系统菜单、标题栏、边框等界面元素的弹出式窗口。调用模态对话框时,系统会自动禁止使用这个窗口和它所有的子窗口,直至该模态对话框关闭或销毁;如Microsoft Word中的打开对话框模态对话框的调用CMyDlg dlg;dlg.DoModal();非模态对话框 非模态对话框是一个有系统菜单、标题、边框的弹出式窗口,非模态对话框不会禁止使用其父窗口。如Microsoft Word的文档窗口、查找对话框。非模态对话框的调用CNoModa

2、lDlg *pDlg;/定义对话框指针pDlg=new CNoModalDlg(this);/分配实例对象空间pDlg-Create(IDD_NOMODALDLG); /创建非模态对话框pDlg-ShowWindow(SW_SHOW); /显示非模态对话框Cdialog中常用成员函数及功能通用对话框 Windows系统提供了一些通用对话框,如文件对话框、颜色对话框、字体对话框。 MFC分别使用CFileDialog类、CColorDialog类、和CFontDialog类封装其功能。通用对话框的使用步骤 声名对话框类型的变量; 显示对话框之前,设置通用对话框的属性; 调用DoModal函数,显

3、示模态对话框; 获得DoModal函数的返回值,判断用户是单击了“确定”或“取消”按钮; 若用户单击了“确定”按钮,则得到用户使用对话框时所做的选择。字体对话框字体对话框用于为选定的文字设置字体;字体对话框的使用步骤如下:1)定义CFontDialog类型的变量;2)调用DoModal()函数,显示字体对话框;3)调用GetCurrentFont()函数,得到选种的字体信息,并以其构造Cfont类型的变量;4)将Cfont类型的字体选入当前绘图环境;5)应用该字体显示文字;6)恢复老字体;CFontDialog类常用成员函数颜色对话框颜色对话框的使用步骤:1)定义CColorDialog类型的

4、变量,并用构造函数对其进行初始化;2)调用Do Modal()函数,显示颜色对话框;3)调用CColorDialog:GetColor()函数,获得用户选择的颜色信息。文件对话框文件对话框的构造函数:CFileDialog:CFileDialog( )中参数lpszFilter用于指定可供选择的文件类型及相应的扩展名,格式如下:“Chart Files(*.xls)|*.xls|Worksheet Files(*.xls)|*.xls|All Files(*.*)|*.*|”CFileDialog类的成员函数通用对话框编程举例v利用MFC AppWizard新建一个单文档应用程序,工程名为Co

5、mmonDialogv利用资源面版的菜单编辑器,在主菜单中添加一列“通用对话框”菜单,并添加三个菜单项,ID号分别为ID_FONT,ID_COLOR,ID_FILE,标题分别为“字体对话框”、“颜色对话框”、“文件对话框”通用对话框编程举例 定义变量 在项目工作区窗口中,选择类面版中的视图类CCommonDialogView,单击右键,在弹出的菜单中选择“Add Member Variable”菜单项,为视图类添加两个成员变量:m_font和m_color,变量的类型分别为:LOGFONT和 COLORREF。 为视图类CCommonDialogView的以下成员函数添加代码CCommonDi

6、alogView:CCommonDialogView()/ TODO: add construction code here m_color=RGB(255,0,0); /初始化颜色变量 memset(&m_font,0,sizeof(m_font); /将m_font所在内存空间清零 m_font.lfWeight=50; /设置字体宽度为50 m_font.lfHeight=50; /设置字体高度为50 strcpy(m_font.lfFaceName,黑体); /设置字体名void CCommonDialogView:OnDraw(CDC* pDC)CCommonDialogDo

7、c* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data here CString str=欢迎使用Visual C+6.0;CRect rect;GetClientRect(rect);CFont newfont,*oldfont;newfont.CreateFontIndirect(&m_font);oldfont=pDC-SelectObject(&newfont);pDC-SetBkColor(RGB(128,128,128);pDC-SetTextColor(m_c

8、olor);pDC-TextOut(rect.right/4,rect.bottom/2,str);pDC-SelectObject(oldfont);编写菜单项消息处理函数,调用通用对话框使用类向导:Class name选择CcommonDialogView,Object Ids选择ID_FONT,Message选择COMMAND,代码如下:void CCommonDialogView:OnFont() / TODO: Add your command handler code hereCFontDialog font; /定义字体对话框变量int i=font.DoModal();/调用字

9、体对话框,并返回函数值if(i=IDOK) /如果选用了OK按钮 font.GetCurrentFont(&m_font); /得到选用的字体信息,存入m_font变量 Invalidate(); /使窗口重画颜色对话框代码如下:void CCommonDialogView:OnColor() / TODO: Add your command handler code hereCColorDialog color; /定义颜色对话框变量int i=color.DoModal();/调用颜色对话框,并返回值if(i=IDOK) /如果选择了OKm_color=color.GetColor(); /得到选中的颜色,存入m_color变量 Invalidate(); /使窗口重画文件对话框代码如下:void CCommonDialogView:OnFile() / TODO: Add your command handler code hereCString filter,str; /定义字符串变量filter=Worksheet Files(*.xls)|*.xls|All Files(*.*)|*.*|; /定义过滤串CFileDialog file(TRUE,NULL,NULL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论