版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章
界面设计01知识讲解02创建自定义对话框03创建自定义面板目录CONTENTS04添加和修改工具栏05添加和修改菜单栏PART01知识讲解01知识讲解CAD界面设计的基本概念是指在CAD软件中,用户与计算机交互的界面。CAD界面设计的基本概念和原则要考虑的因素:可用性易学性效率性一致性美观性01知识讲解通过合理的界面设计,可以使得程序更加易用和高效。对话框、面板、工具栏和菜单栏的作用和特点界面设计中常用的四种界面元素:对话框面板工具栏菜单栏01知识讲解对话框类型:模态对话框:在对话框关闭之前,用户不能对应用程序的其他界面进行操作。
非模态对话框:允许用户在该对话框和其他界面之间自由切换焦点。PART02创建自定义对话框02创建自定义对话框对话框是一种用于显示和编辑程序数据的界面元素。它可以包含各种控件,如文本框、复选框、单选框、下拉框、按钮等,用于接收和显示程序数据,并可以绑定相关的函数实现数据处理和计算等操作。对话框可以帮助用户更方便、更快捷地完成数据输入和编辑工作。任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现自定义对话框学习和了解创建自定义对话框的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成对话框的创建02创建自定义对话框创建操作流程:右键工程➝添加➝资源➝新建Dialog
打开资源视图➝Dialog➝设计自己的对话框任务实施02创建自定义对话框对话框的设计流程:添加控件➝右键控件添加类或变量➝添加事件➝在事件函数中实现功能
新建窗口并且添加如下代码://自定义函数ShowDialog()用于在显示对话框的函数
voidShowDialog()
{
CAcModuleResourceOverridetemp;
//使用CAcModuleResourceOverride确保对话框使用了正确的资源模块
TestDialogdia;
//创建一个TestDialog对象
dia.DoModal();
//调用对话框的DoModal()函数显示对话框
}PART03创建自定义面板03创建自定义面板面板是CAD界面中用于显示程序功能和工具的界面元素,一般位于CAD的侧边或底部。面板可以包含各种命令、工具、选项等,方便用户进行快速访问和使用。面板可以根据用户的需要进行自定义,以便快速地访问所需的功能。任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现自定义面板学习和了解创建自定义面板的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成自定义面板的创建03创建自定义面板创建自定义面板需要了解以下知识:1.ZWCAD中的面板:ZWCAD中的面板是指类似于工具栏或菜单的交互式用户界面元素,它们通常包含一组工具按钮、复选框、文本框等,用于执行各种任务。2.PaletteSet:PaletteSet是AutoCAD的一个API对象,用于创建一个或多个面板的容器,可以在AutoCAD主窗口内浮动、停靠或自动隐藏。3.CAdUiPalette:CAdUiPalette是AutoCAD的一个API类,用于创建面板。03创建自定义面板创建自定义面板的基本步骤包括:创建一个对话框或窗口,用于放置自定义面板。创建一个派生自CAdUiPalette类的自定义面板类。在自定义面板类中添加一个对话框或窗口实例,并实现Create()函数。创建PaletteSet实例,将自定义面板添加到PaletteSet中,并设置PaletteSet的样式和属性。显示PaletteSet。03创建自定义面板//自定义ShowPalette()函数用于实现面板的创建voidShowPalette(){CAcModuleResourceOverrideres;
//使用CAcModuleResourceOverride确保面板使用了正确的资源模块if(paletteSet.GetSafeHwnd()==NULL)
//如果选项板的句柄为NULL,表示尚未创建,需要创建并显示{//创建面板,设置其初始大小和样式CRectrect(0,0,250,500);//初始大小paletteSet.Create(TEXT("测试选项板"),WS_OVERLAPPED|WS_DLGFRAME,rect,acedGetAcadFrame(),PSS_EDIT_NAME|PSS_PROPERTIES_MENU|PSS_AUTO_ROLLUP|PSS_CLOSE_BUTTON);//创建palette实例并添加到paletteSet中pMyPalette=newMyPalette();pMyPalette->SetPaletteSet(&paletteSet);pMyPalette->Create();paletteSet.AddPalette(pMyPalette);//添加一个空的面板autopEmpty=newCAdUiPalette();pEmpty->SetPaletteSet(&paletteSet);pEmpty->Create(WS_CHILD|WS_VISIBLE,L"Palette",&paletteSet,0);//将空面板添加到面板集合中paletteSet.AddPalette(pEmpty);//显示面板集合paletteSet.EnableDocking(CBRS_ALIGN_ANY);paletteSet.RestoreControlBar();}acedGetAcadFrame()->ShowControlBar(&paletteSet,TRUE,FALSE);return;}任务实施PART04添加和修改工具栏04添加和修改工具栏工具栏是CAD界面中用于显示工具图标的界面元素,一般位于CAD的顶部或侧边。工具栏可以包含各种工具图标,用于快速选择和执行程序功能和命令。工具栏可以根据用户的需要通过添加和修改工具栏进行自定义。任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现添加和修改工具栏学习和了解添加和修改工具栏的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成工具栏的添加和修改04添加和修改工具栏COM(ComponentObjectModel)是一种面向对象的编程模型,它定义了组件之间交互的标准。在CAD的二次开发中,COM接口是一种用于实现组件之间通信的技术。通过COM接口,我们可以在ZWCAD中创建、添加和修改工具栏,以及向工具栏中添加各种工具按钮和命令等。com接口04添加和修改工具栏添加和修改工具栏的基本步骤包括:添加com类型的引用获取应用程序和命令组集合获取命令组新建工具栏并创建按钮04添加和修改工具栏//自定义函数AddToolBar()用于添加和修改工具栏voidAddToolBar(){IDispatch*pDisp=acedGetAcadWinApp()->GetIDispatch(TRUE);
//获取AutoCAD应用程序的IDispatch接口CZcadApplicationZcadApp{pDisp};
//将IDispatch接口包装成CZcadApplication对象CZcadMenuGroupsmenuGroups=ZcadApp.get_MenuGroups();
//获取ZWCAD的菜单组集合//创建一个VARIANT类型的索引变量VARIANTindex;VariantInit(&index);V_VT(&index)=VT_I4;V_I4(&index)=0;intcount=menuGroups.get_Count();CZcadMenuGroupmenuGroup=menuGroups.Item(index);
//获取菜单组集合中的第一个菜单组//创建一个VARIANT类型的项索引变量VARIANTitemIndex;VariantInit(&itemIndex);V_VT(&itemIndex)=VT_I4;V_I4(&itemIndex)=0;//创建一个VARIANT类型的布尔值变量VARIANTflyBool;VariantInit(&flyBool);V_VT(&flyBool)=VT_BOOL;V_BOOL(&flyBool)=false;CZcadToolbarstoolBars=menuGroup.get_Toolbars();
//获取当前菜单组中的工具栏集合CZcadToolbarnewToolBar=toolBars.Add(TEXT("测试工具栏"));//在工具栏集合中添加一个新的工具栏CZcadToolbarItemnewToolBarItem1=newToolBar.AddToolbarButton(itemIndex,TEXT("HelloWorld"),TEXT("HelloWorldhelptips"),TEXT("helloworld"),flyBool);
//在新工具栏中添加一个按钮}PART05添加和修改菜单栏05添加和修改菜单栏菜单栏是CAD界面中用于显示程序功能和选项的界面元素,一般位于CAD的顶部。菜单栏可以包含各种菜单和子菜单,用于快速访问和使用程序功能和选项。菜单栏可以根据用户的需要通过添加和修改菜单栏进行自定义。任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现添加和修改菜单栏学习和了解添加和修改菜单栏的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成菜单栏的添加和修改05添加和修改菜单栏添加和修改菜单栏的基本步骤包括:添加com类型的引用获取应用程序和命令组集合获取命令组新建菜单栏并创建按钮05添加和修改菜单栏//自定义函数AddMenu()用于添加和修改菜单栏voidAddMenu(){IDispatch*pDisp=acedGetAcadWinApp()->GetIDispatch(TRUE);
//获取AutoCAD应用程序的IDispatch接口CZcadApplicationZcadApp{pDisp};
//将IDispatch接口包装成CZcadApplication对象CZcadMenuGroupsmenuGroups=ZcadApp.get_MenuGroups();
//获取AutoCAD的菜单组集合//创建一个VARIANT类型的索引变量VARIANTindex;VariantInit(&index);V_VT(&index)=VT_I4;V_I4(&index)=0;//获取菜单组集合中的第一个菜单组intcount=menuGroups.get_Count();CZcadMenuGroupmenuGroup=menuGroups.Item(index);//创建一个VARIANT类型的项索引变量VARIANTitemIndex;VariantInit(&itemIndex);V_VT(&itemIndex)=VT_I4;V_I4(&itemIndex)=0;CZcadPopupMenuspopupMenus=menuGroup.get_Menus();
//获取当前菜单组中的弹出菜单集合CZcadPopupM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026网络资本面试题及答案
- 2026西语教资面试题及答案
- 2026小工种面试题目及答案
- 监理工程师考试《建设工程合同管理》试题及相关答案
- 2026-2031年中国麦克风行业市场深度分析与发展战略研究咨询报告
- 阳春瑞兴铁矿资源综合利用工程扩建项目环境影响报告表
- 2025-2026学年河北省保定市安新县四年级数学下学期期末学业水平测试模拟试题含答案解析
- 福建泉州经济技术开发区社区卫生服务中心招聘笔试真题2025
- 邯郸曲周县招聘专业技术人员笔试真题2025
- 慈溪市国有企业招聘笔试真题2025
- 绿色能源项目商务谈判确认函(7篇)
- 2026上海市就业援藏事业单位专项招聘9人笔试题库及参考答案详解(满分必刷)
- 2026年云南省昆明市重点学校初一入学数学分班考试试题及答案
- 医院门诊检验标本采集工作手册
- (正式版)DB31∕T 405-2021 《集中空调通风系统卫生管理规范》
- 建筑施工安全与消防管理试题
- 2026内控风险岗面试题及答案
- 内蒙古荣达可再生能源发展有限公司建设25kt-a脱硫副产物硫膏、硫渣提纯工业硫磺综合利用项目水土保持报告表
- 病历书写基本规范解读
- 仓库工程质量控制要点
- 2026中国医药批发企业供应链金融创新模式研究报告
评论
0/150
提交评论