




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图形画板2008设计文档目录1. 图形后台框架1.1. 基本图形类框架如下:2. 界面框架2.1.快捷菜单2.2.主菜单2.3.工具栏3. 如何创建OFFICE风格的MFC工程4. 如何在工具栏上面添加按钮添加菜单主项42为菜单项添加事件4.3. 添加Ribbon 字符4.4. 将按钮添加到工具栏4.4.1. 创建主类别(CMFCRibbo nCategory )4.4.2. 创建面板(CMFCRibbonPanel)4.4.3. 添加按钮(CMFCRibbonButton )到面板1.图形后台框架1.1. 基本图形类框架如下:CSh«pr(IncClflSS42为菜单项添加事件42
2、为菜单项添加事件2.界面框架publicpublicpubllKCCircieCl>» + CShj p*CRcctongkr*C5Mp«CtMpwClast +CShape(Polygon Class主用应用了 Visual Studio 2008 SP1添加的新增强包,可以方面的创建岀像 OFFCIE2007 的Ribbon 界面Ribbon 工具栏是在 Mai nF rm.CPP中的 void CMai nF rame:l nitializeRibbo n()生成的整个工具栏CMFCRibbo nBar 分为2.1. 快捷菜单2.2. 主菜单主菜单按钮 CMFC
3、RibbonApplicatio nButt on主菜单 CMFCRibbonMainPanel23 工具栏主要分成3层结构:第一层:分类(容器)CMFCRibbo nCategory,如图中红色部分所示。第二层:面板(容器)CMFCRibbo nPan el,如图中红色部分所示。第三层:元素 CMFCRibbo nBaseElem,如图中红色部分所示。先有一个整体的概念3.如何创建 OFFICE 风格的MFC工程以下是创建 Visual C+ 2008 SP1 创建Office 风格的 MFC的步骤:首先,新建项目,选择Visual C+ 中的MFC应用程序,输入名称,点击确定接着选择Off
4、ice的项目类型,MFC的使用选择 在静态库中使用 MFC (这样可以保证在任何Windows 系统中都能正确运行,如果选择共享DLL,则只能在有 MFC7.0库的机子上正确运行,所以推荐选在静态库中使用 MFC )接下来的几个步骤都直接按默认即可这里我们先将 导航窗格”的勾去掉(由于本程序没有用到它,所以再此不详细介绍)这里将视图类的基类选为CScrollView,点击完成tfit生册类®然后运行一下,基本的雏形就岀来啦,简单吧4.如何在工具栏上面添加按钮4.1.添加菜单主项St册HELKfM»miviCX丽血 imro* iifkVMC(7> Rc$hiq:fom
5、hxxic urnnm - m<«u xOrw?Oo&_J Df#A2O0B jc* 彳rWfMQrB4map* j DMlog* Q k«A,:* S巩亦畑Mf4 OMAWKAME 客 R&POPUPJDTTi w>r«wsxw扌 String 1«b««_j门"J Jp £13 d»x】 t: uuP2:s2:s2 lllvklfvktlivtIIIJrwlMrSSL1 »)0 IM»*06 0 OviO> 国T 号I+ i, *CChrcM(M&
6、#187;>)4>®«ww iftufrti 3t«二询iptrnn TWHSc 自斑汽接着继续添加菜单子项,并在属性栏中设置相应的属性,注意Prompt要按照 解释n标题"这接着继续添加菜单子项,并在属性栏中设置相应的属性,注意Prompt要按照 解释n标题"这种格式,例如:Prompt 绘制一个圆n画圆做完要记得保存哦接着继续添加菜单子项,并在属性栏中设置相应的属性,注意Prompt要按照 解释n标题"这接着继续添加菜单子项,并在属性栏中设置相应的属性,注意Prompt要按照 解释n标题"这42 为菜单项添加
7、事件事件处理程序右键点击需要添加事件的选项,选择添加点击 添加编辑”,然后就到视图类的结尾找到这个事件的函数,开始编写事件,可以注意到函数处理程序名称”是根据 命令名”自动生成的,虽然自己也可以修改, 不过还是按默认的比较好,所以也说明上面提到的加入ID时候要根据这样的命名规则来命名4.3. 添加Ribbon 字符如下图所示在 String Table中添加所有需要放到工具栏中按钮的ID及其标题,别忘了保存哦"j h«w20MOfmJQOBjc:j A«<e*e<Ho*IW>U>4FPJU.<4.J B<frjp_J Oulog
8、 DO.A0OUIBOK gDULOQ DC.PfNCUlOG "J k«nE OtKora jg m_Di««JOOerrPE 曹 JD<_IUUJNFRAM£i IXMAMFRAME> Dn_popup_ionM 供.THEM(”诫Nil :M KXINDOWS. ME W .J riM 7 *bWKX5 RS80H MdW0>fl=s©POLlWJAJlED101<MF 樹H谀配 AM OtE *BiLMrM-Tb« 五 l10J©ft甘lt>$_RMON, H NCU1O610
9、3KVEOS 8®0f COlCR1»ttlF*EM.KBaON.KAKKOlO.l«C$_RB90N_KAltIKitflKAS)tOS f.e&QN.MffRO-107J TootwglMjUUMRAMEj. KXvUAJNfRAME_256 J VenMpnl&SJtf EX>N_TRANVOAh 1 tOS.STAlUS.PAlJH ©-$>TAlV$?ANti IDft KUVjfSe叽伙钿M41YH Q$JM邮OW$JUIA>4$楸 l&_VSWCAPnbw_UI O5.C ADON BtlHON n
10、»:t aptxx< bvtton, rp KKCAOTXXJtXT M_CAPnONJ4GlB-TP ©S'CAPTOJ'ILUGIJIMT RV期85阳 BJUEKW-WU K>S_raB90hl.0MN«ll:22n20»wRJlJ2JJ34孙“也勺念珮1 L 1 1 I i L 1 2 2ZZ 2 zAad 刀2|cm &町干駅&曲换匝IMfl堆2«*&蜃出官JW6 r*freJWE上咸仆QAMK暮AR 坞户文特盯幵(8) - 神他) 男J?力,Uh44 将按钮添加到工具栏通过上面的准
11、备,接下来,我们可以通过类视图定位到Ribbon初始化的位置ASSERT(bNameValid);然后按照上123章节介绍的层次,来将按钮添加到菜单栏ASSERT(bNameValid);ASSERT(bNameValid);441.创建主类别(CMFCRibbo nCategory)/为剪贴板”面板添加 主”类别:添加主页"分类面板bNameValid = strTemp.LoadStr in g(IDS_RIBBON_HOME);ASSERT(bNameValid);CMFCRibbo nCategory* pCategoryHome = m_wn dRibbo nBar.Add
12、Category(strTemp,IDB_WRITESMALL, IDB_WRITELARGE2);创建分类页bNameValid = strTemp.LoadString(IDS_RIBBON_DIY);添加 自定义基本图形 ”主分类面板,应现在String Table 中添加IDS_RIBBON_DIY及其标题ASSERT(bNameValid);CMFCRibbonCategory* pCategoryDIY = m_wndRibbonBar.AddCategory(strTemp,IDB_WRITESMALL,IDB_WRITELARGE2);/ 创建分类 IDB_WRITESMALL
13、是小图标, IDB_WRITELARGE2 是大图标,它们都是在资源里面创建的4.4.2. 创建面板( CMFCRibbonPanel )/ 创建 “绘图”面板bNameValid = strTemp.LoadString(IDS_RIBBON_SHAPE);ASSERT(bNameValid);CMFCRibbonPanel* pPanelDraw = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon (7);4.4.3. 添加按钮( CMFCRibbonButton )到面板/ 添加 VC 直线按钮到 “绘图 ”面板
14、bNameValid=strTemp.LoadString(IDS_RIBBON_VCLINE);ASSERT(bNameValid);pPanelDraw->Add(new CMFCRibbonButton(ID_DRAW_VCLINE,strTemp,11,2);/ 添加 BEZIER 曲线按钮到 “绘图 ”面板bNameValid=strTemp.LoadString(IDS_RIBBON_BEZIER);ASSERT(bNameValid);pPanelDraw->Add(new CMFCRibbonButton(ID_DRAW_BEZIER,strTemp,12,3);/
15、 添加矩形按钮到 “绘图 ”面板bNameValid=strTemp.LoadString(IDS_RIBBON_RECTANGEL);ASSERT(bNameValid);pPanelDraw->Add(new CMFCRibbonButton(ID_DRAW_RECTANGLE,strTemp,13,4);/ 添加 VC 圆按钮到 “绘图 ”面板ASSERT(bNameValid);bNameValid=strTemp.LoadString(IDS_RIBBON_VCCIRCLE);ASSERT(bNameValid);pPanelDraw->Add(new CMFCRibbo
16、nButton(ID_DRAW_VCCIRCLE,strTemp,14,5); / 添加 VC 椭圆按钮到 “绘图 ”面板 bNameValid=strTemp.LoadString(IDS_RIBBON_VCELLIPSE);ASSERT(bNameValid); pPanelDraw->Add(newCMFCRibbonButton(ID_DRAW_VCELLIPSE,strTemp,15,6);/ 添加多边形按钮到 “绘图 ”面板 bNameValid=strTemp.LoadString(IDS_RIBBON_POLYGON); ASSERT(bNameValid);pPanelDraw->Add(new CMFCRibbonButton(ID_DRAW_POLYGON,strTemp,16,7); / 添加画笔对话框按钮到 “绘图 ”面板 bNameValid=strTemp.LoadString(IDS_RIBBON_PENDIALOG);ASSERT(bNameValid);pPanelDraw->Add(new CMFCRibbonButton(ID_OPTIONS_PEN,strTemp);/ 添加线颜色按钮到 “绘图 ”面板 bNameValid=strTemp.LoadString(IDS_RIBBON_COLOR); ASS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变态测试题目及答案
- 广告设计师证书考试设计过程分析题及答案
- 产品原理测试题及答案
- 应急管理条例试题及答案
- 医院出纳财务笔试题及答案
- 整合营销传播的关键要素试题及答案
- php编程面试题及答案
- 品牌形象塑造的考察试题及答案
- 数学高数期末试题及答案
- 2024年广告设计师考试综合提升试题及答案
- 中欧班列简介(英文版)
- 交通驾驶员安全培训课件
- 成语使用课件
- 基于PLC交流变频调速系统的设计 毕业设计(论文)
- 2023年版劳动实践河北科学技术出版社一年级下册全册教案
- 人教版三年级科学(下)第二单元综合测试卷种凤仙花(二)含答案
- 小儿手足口病课件
- 发展少数民族医药实施方案
- 五年级下册热带雨林探险之旅(优秀5篇)
- 教学课件Arduino零基础C语言编程-2
- 乳腺的影像诊断课件
评论
0/150
提交评论