欢迎来到天天文库
浏览记录
ID:34162217
大小:201.01 KB
页数:5页
时间:2019-03-03
《基于模板的通用文件对话框的可视化定制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛基于模板的通用文件对话框的可视化定制刘其洪叶邦彦林颖欧元贤(华南理工大学机械工程学院广州510641)CustomizingVisuallyCommonFileDialogBoxesBasedonTemplateLIUQi-hongYEBang-yanLINYingOUYuan-xian(CollegeofMechanicalEngineering,SouthChinaUniversityofTechnology,GuangZhou510641)摘要:本文介绍了利用模板可视化定制通
2、用文件对话框的实现方法。关键词:定制;通用文件对话框;模板;预览中图分类号:TP311.52文献标识码:AAbstract:Therealizationmethodofcustomizingvisuallycommonfiledialogboxesbasedontemplatewasintroducedinthispaper.KeyWords:Customize;CommonFileDialogBoxes;Template;Preview0引言在我们开发的CAD/CAM系统及其它应用软件中,经常需要用户进行一些文件操作,如:打开文件、保存文件等。VC++编程环境中,MFC为我们提供了简单易用的
3、CFileDialog,但毕竟“千篇一律,没有性格”,在实际应用中往往需要具有个性特色的用户界面和个性化的文件对话框。[1-3]目前,定制通用文件对话框,大多采用WindowsAPI及钩子(Hook)函数的方法来实现。为此,需要处理各种消息及编写窗口处理函数,因而显得不够简单、直观。本文直接在对话框模板界面上“可视化”加入相关控件,通过编写定制的类,采用VC++常用的对话框设计技术,对CFileDialog进行定制,从而实现各种格式的文件(包括用户自定义格式文件)的预览。并结合一个具体的工程实例,介绍利用模板定制通用文件对话框的技术和方法步骤。1利用模板定制通用文件对话框的实现方法不失一般性,
4、以位图(bmp)文件的预览作为例子,来具体说明如何利用模板来定制通用文件对话框:1.1在VC++中,用MFCAppWizard(exe)新建一个名为CustomOpen(当然也可以是其它任意名称)的新项目。对应用程序类型选择缺省设置,按下Finish按钮。自动创建的类为:Application:CCustomOpenApp在CustomOpen.h和CustomOpen.cpp中Frame:CMainFrame在MainFrm.h和MainFrm.cpp中MDIChildFrame:CChildFrame在ChildFrm.h和ChildFrm.cpp中Document:CCustomOpen
5、Doc在CustomOpenDoc.h和CustomOpenDoc.cpp中View:CCustomOpenView在CustomOpenView.h和CustomOpenView.cpp中特征:+Initialtoolbarinmainframe+Initialstatusbarinmainframe+PrintingandPrintPreviewsupportinview+3DControls+ActiveXControlssupportenabled+UsessharedDLLimplementation(MFC42.DLL)-1-http://www.elecfans.com电子发烧友
6、http://bbs.elecfans.com电子技术论坛1.2增加一个名为IDD_PREVIEW_FILEOPEN(也可以是其它任意名称)的对话框,在这个模板界面上“可视化”地加入相关的定制控件。通过选取插入资源…菜单或在ResourceView中来增加一个图1所示的对话框,打开对话框并将它命名为IDD_PREVIEW_FILEOPEN。按表1设置对话框及其控件的名称、ID和属性。其中:ID为stc32的Picture控件代表通用文件对话框,而IDC_PICTURE_PREVIEW即为定制控件,用来显示位图。用户可根据需要增添更多的其它定制控件。图1用IDD_PREVIEW_FILEOPE
7、N对话框来定制通用对话框表1IDD_PREVIEW_FILEOPEN对话框及其控件相关设置控件ID属性DialogIDD_PREVIEW_FILEOPENChild,NoneBorder,Clipsiblings,可见,3D-外观,控制Picturestc32NoVisible,Frame,BlackPictureIDC_PICTURE_PREVIEWVisible,Frame,Black,下沉1
此文档下载收益归作者所有