ImageVerifierCode 换一换
格式:DOCX , 页数:75 ,大小:671.37KB ,
资源ID:23749041      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23749041.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(4UG二次开发实用教程 第四章.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

4UG二次开发实用教程 第四章.docx

1、4UG二次开发实用教程 第四章第4章 用户界面开发技术UG用户可以通过用户界面与应用程序及UG系统进行交互操作,界面开发工具包括:菜单编辑工具UG/Open MenuScript、对话框编辑工具UG/Open UIStyler、系统对话框以及MFC等,用户可以综合运用各种界面开发工具来开发出适合用户自己的菜单、快捷工具条和对话框,从而实现应用程序与UG系统用户界面下的无缝集成。4.1 UIStyler对话框UIStyler是用户开发UG对话框的可视化工具,它可以避免复杂的图形用户接口(GUI)编程,其设计对话框的方式与Visual C+很相似,即利用对话框中基本单元的组合生成不同的对话框,对话

2、框中所有控件设计都是实时可见的。UG/Open UIstyler主要提供了以下的功能:1、提供了让用户创建UG风格对话框的可视化环境,并能生成UG/Open UIStyler文件和C代码,从而使用户在使用时不必考虑图形界面的实现。2、利用可视化环境快速生成UG风格的对话框,从而减少开发时间。3、通过选取和放置控件,从而实现所见即所得。4、可以在对话框中实现用户自定义的位图。5、提供了属性编辑器,从而允许用户设置和修改控件属性。6、UG/Open UIStyler生成的对话框可与UG/Open MenuScript、UG/Open API、 UG/Open GRIP 集成,便于用户执行二次开发程

3、序。 4.1.1 UIStyler对话框的应用4.1.1.1对话框的应用环境UG的UIStyler应用模块提供给用户可视化建立UG风格对话框的功能。在UG主菜单中选择菜单项“ApplicationUser Interface Styler.”,进入UIStyler应用模块,UIStyler可视化界面如图4-1所示。图4-1 UIStyler可视化界面4.1.1.2对话框设计UIStyler可视化界面包括基本对话框、对象浏览器、属性编辑器、控件栏和控件编辑工具五部分。用户在控件栏中选择控件后放置在基本对话框中,通过对象浏览器查看在基本对话框中设置的控件对象信息、利用控件编辑工具调整控件布局,通过

4、属性编辑器编辑对话框及指定控件的属性。利用UIStyler创建对话框并保存,系统将自动生成三个文件:1*.c文件:对话框C语言源文件的模板文件,用户复制该模板文件,补充回调函数代码,将生成对话框应用程序文件,.dll文件应放在应用程序主目录的startup子目录下,在UG系统启动是加载;2*.h文件:定义*.c文件中函数原型的*.c文件的头文件;3*.dlg文件:对话框文件,该文件需要被复制到应用程序主目录的application子目录下,由用户应用程序调用。4.1.1.3对话框的应用步骤(1)设计对话框界面草图;(2)利用UIStyler工具创建对话框;(3)设置对话框中的回调函数;(4)保

5、存对话框;(5)将系统自动生成的对话框C语言模板文件复制到VC+项目中;(6)修改C文件,添加回调函数代码,编译连接文件;(7)将对话框文件(.dlg)复制到相应的目录下,将共享库文件(.dll)复制到相应的目录下;(8)运行、测试及调试应用程序。具体每一步的详细介绍请参考系统帮助文件中ToolsUser Interface Styler。在UIStyler对话框开发过程中,涉及到编程的仅5、6两个步骤。4.1.1.4基本对话框图4-2是一个最简单的对话框,由三个系统按钮和对话框标题组成。对话框的属性包括基本属性、被选择属性和回调函数。图4-2 基本对话框1、对话框基本属性对话框的基本属性如图

6、4-3所示。其中包括对话框标题、提示信息、对话框前线名称、调用对话框的形式以及导航按钮等。图4-3对话框基本属性对话框标题(Dialog Title):对话框标题显示在对话框的标题栏中。提示信息(Cue):对话框提示信息将显示在UG的提示栏中。前缀名称(Prefix Name):对话框前缀名称将作为所有对话框控件名和对话框回调函数名的前缀,默认值为CHANGE。注意:同一工程中的不同对话框应选用不同的前缀名称。对话框类型(Dialog Type):对话框类型有Bottom和Top两种,Bottom类型表明该对话框需使用导航按钮,Top类型则相反,一般采用Bottom类型。对话框调用点(Laun

7、ch Dialog From):对话框调用点是指对话框被调用的位置和方式,包括回调函数调用、菜单调用、User Exit调用和所有调用方式。导航按钮设置(Navigation Buttons):UIStyler提供了OK、BACK、APPLY和CANCEL4种导航按钮。对所有的对话框,OK和CANCEL按钮都是必须的。对已经选择的导航按钮,还可以指定其激活状态。在导航按钮激活栏里没有被激活的导航按钮,在对话框被调用时,按钮是不能被单击的。对话框尺寸(Allow Dialog to Resize):当对话框的允许尺寸改变属性被设置时,对话框在调用时,允许用户改变对话框的尺寸。2、对话框选择属性对

8、话框的选择属性如图4-4所示。包含了对话框激活开关、对话框选择方式和对话框选择范围定义。选择方式定义了在当前对话框被激活时,在窗口中选择对象的方式是否变化。其共有3种,即无变化(继承上次选择操作的属性定义)、单选、鲁棒选择等。选择范围定义了当前对话框被激活时,被选择对象所有范围是否变化。其有4种方式,即不变化、在装配中、仅在工作部件中、在工作部件和子装配中。图4-4对话框选择属性2、对话框基本回调函数对话框的基本回调函数如图4-5所示。所有对话框都有6种基本回调函数,它们分别是APPLY按钮的回调函数、BACK按钮的回调函数、CANCEL按钮的回调函数、OK按钮的回调函数、对话框构造函数和对话

9、框析构函数。对话框构造函数在UG构造对话框完成之后,用户应用执行之前调用。由于此时对话框上的所有控件都可以被使用,因此构造函数是初始化对话框的最佳位置。对话框析构函函数是在UG对话框关闭之前被调用,此时,对话框中的控件仍然可以被访问到。对话框析构函数为用户提供了诸如释放内存等析构操作的位置。图4-5对话框回调函数4.1.2 UIStyler控件4.1.2.1控件种类UIStyler提供的控件有静态文本(label)、整型数值输入框(Integer)、浮点型数值输入框(Real)、字符串输入框(String)、宽字符输入框(Wide String)、多行文本框(Multi-line Text)、

10、按钮(Push Button)、复选框(Toggle)、分隔线(Separator)、位图(Bitmap)、布局按钮(Button Layout)、下拉列表框(Option Menu)、单选按钮(Radio Box)、工具组(Tool Palette)、整型数滑动条(Scale Integer)、实型数滑动条(Scale Real)、单选列表框(Single Selection List)、多选列表框(Multi-Select List)、单选框(Selection Box)、滚动窗口(Scrolled Window)等控件,控件具体用法与VB等可视化语言相似,UIStyler控件种类如图4-

11、6所示。图4-6 对话框控件4.1.2.2控件访问4.1.2.2.1常用数据类型和函数访问UIStyler控件经常用到的数据类型是结构UF_STYLER_item_value_type_s、函数UF_STYLER_create_dilaog()、函数UF_STYLER_ask_value()和函数UF_STYLER_set_value()。1、UF_STYLER_item_value_type_s结构UF_STYLER_item_value_type_s通常在查询对话框控件属性和设置对话柜控件属性时使用。如函数UF_STYLER_ask_value()的输出参数和函数UF_STYLER_set

12、_value()的输入参数。结构见UF_STYLER_item_value_type_s定义如下:struct UF_STYLER_item_value_type_s int reason;const char *item_id;int subitem_index;int count;int item_attr;int indicator;UF_STYLER_value_t value;表4-1 结构UF_STYLER_item_value_type_s的成员说明成员成员说明reason表明触发回调函数的原因,一般不需要用户修改item_id表示控件的标识subitem_index用来标识某些

13、控件(比如:Option Menu、Radio Box)子对象count当value是数组时,表示数组的长度item_attr当前结构变量描述的控件属性indicator指明value的数据类型valueunion类型的数据,表明控件的值。注意:必须利用函数UF_STYLER_free_value释放为字符串或数组申请的内存。表4-2 对话框控件的常用属性属性描述Label控件的文本描述,一般表示控件用途;如果控件设置了位图属性,则显示为文本提示信息Object Identifier控件标识Value控件内容,可以在构建对话框时定义,也可以通过程序进行设定Bitmap位图文件,可以是 UBM、

14、XPM或BMP文件Sensitive控件的激活开关,TRUE为激活,FALSE为非激活Focus键盘聚焦,即对话框弹出时键盘的输入位置Visibility控制控件的可见性,TRUE为控件可见,FALSE为不可见Item Type控件类型List Deselect取消列表框中选项的选中状态List Insert在列表框中插入若干选择项List Delete删除列表框中的指定选项List Show设置列表框中显示的选择项2、UF_STYLER_ask_value()函数通过函数UF_STYLER_ask_value()查询对话框控件的属性。该函数只能用在对话框定义的回调函数中,其语法格式如下:ex

15、tern int UF_STYLER_ask_value(int dialog_id,UF_STYLER_item_value_type_p_t value);表4-3 函数UF_STYLER_ask_value()的成员说明参数参数描述dialog_id输入参数。表示被查询控件所属对话框的标识,通常是由styler对话框传递回调函数的value输入/输出参数。作为输入参数,value指明查询对象和该对象的属性;作为输出参数,value返回被查询控件的属性。必须利用函数UF_STYLER_free_value释放字符串或数组申请的内存。3、UF_STYLER_set_value()函数函数UF

16、_STYLER_ask_value()用来改变控件属性。该函数只能用在对话框定义的回调函数中,其语法格式如下:extern int UF_STYLER_set_value(int dialog_id,UF_STYLER_item_value_type_p_t value);表4-4 函数UF_STYLER_set_value()的成员说明参数参数描述dialog_id输入参数,表示被查询控件所属对话框的标识,通常是由styler对话框传递回调函数的value输入参数,用于指明被修改的控件、控件属性和控件属性值4.1.2.2.2访问字符串输入框(String)设置字符串输入框的控件属性时涉及的变

17、量与参数如表4-5所示。表4-5 String控件属性的设置属性变量和输入参数变量输入参数Bitmapitem_attrUF_STYLER_BITMAP item_id被设置的控件标识value.string位图文件名,UBM、XPM或BMP文件 Labelitem_attrUF_STYLER_LABEL item_id被设置的控件标识value.string显示在输入框左边的文本内容 Valueitem_attrUF_STYLER_VALUE item_id被设置的控件标识value.string显示在输入框中的文本内容 Sensitiveitem_attrUF_STYLER_SENSITI

18、VITYitem_id被设置的控件标识 value.integerTRUE为控件激活,FALSE为非激活 Visibilityitem_attrUF_STYLER_VISIBILITYitem_id被设置的控件标识 value.integerTRUE为控件可见,FALSE为不可见 Focusitem_attrUF_STYLER_FOCUSitem_id被设置的控件标识下面的一段代码实现设置字符串控件可见性的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_VISIBILITY;value.item_id = ite

19、m_id; /控件标识value.value.integer = TURE; /可见UF_STYLER_set_value( dialog_id, &value );UF_STYLER_free_value( &value );获取字符串输入框的控件属性时涉及的变量与参数如表4-6所示。表4-6 String控件属性的获取 属性参数输入参数输出参数变量数值变量数值Valueintem_attritem_idUF_STYLER_VALUE控件标识IndicatorCountValue.stringUF_STYLER_STRING_VALUE1字符串输入框的内容Sensitiveintem_att

20、ritem_idUF_STYLER_SENSITIVITY控件标识IndicatorCountValue.integerUF_STYLER_INTEGER_VALUE1TURE为激活;FALSE为非激活Visibilityintem_attritem_idUF_STYLER_VISIBILITY控件标识IndicatorCountValue.integerUF_STYLER_INTEGER_VALUE1TURE为可见;FALSE为非可见Item Typeintem_attritem_idUF_STYLER_ITEM_TYPE控件标识IndicatorCountValue.integerUF_S

21、TYLER_INTEGER_VALUE1UF_STYLER_STRING_TYPE下面的一段代码实现获取字符串控件的输入值的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_VALUE;value.item_id = item_id; /控件标识UF_STYLER_ask_value( dialog_id, &value );char sNeeded133;strcpy( sNeeded, value.value.string );UF_STYLER_free_value( &value );4.1.2.2.3访问

22、按钮控件(Push Button)设置按钮的控件属性时涉及的变量与参数如表4-7所示。表4-7 Push Button控件属性的设置属性变量和输入参数变量输入参数Bitmapitem_attrUF_STYLER_BITMAP item_id被设置的控件标识value.string位图文件名,UBM、XPM或BMP文件 Labelitem_attrUF_STYLER_LABEL item_id被设置的控件标识value.string显示在按钮上的文本内容Sensitiveitem_attrUF_STYLER_SENSITIVITYitem_id被设置的控件标识 value.integerTRUE

23、为控件激活,FALSE为非激活 Visibilityitem_attrUF_STYLER_VISIBILITYitem_id被设置的控件标识 value.integerTRUE为控件可见,FALSE为不可见 Focusitem_attrUF_STYLER_FOCUSitem_id被设置的控件标识Default Actionitem_attrUF_STYLER_DEFAULT_ACTIONitem_id被设置的控件标识下面的一段代码实现设置按钮控件的位图显示的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_BITM

24、AP;value.item_id = item_id; /控件标识value.value.integer = “E:bitmapPushButton.bmp”; /位图文件的路径UF_STYLER_set_value( dialog_id, &value );UF_STYLER_free_value( &value );获取按钮控件属性时涉及的变量与参数如表4-8所示。表4-8 Push Button控件属性的获取属性参数输入参数输出参数变量数值变量数值Sensitiveintem_attritem_idUF_STYLER_SENSITIVITY控件标识IndicatorCountValue.

25、integerUF_STYLER_INTEGER_VALUE1TURE为激活;FALSE为非激活Visibilityintem_attritem_idUF_STYLER_VISIBILITY控件标识IndicatorCountValue.integerUF_STYLER_INTEGER_VALUE1TURE为可见;FALSE为非可见Item Typeintem_attritem_idUF_STYLER_ITEM_TYPE控件标识IndicatorCountValue.integerUF_STYLER_INTEGER_VALUE1UF_STYLER_ACTION_BUTTON_TYPE下面的一段

26、代码实现获取按钮控件激活状态的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_SENSITIVE;value.item_id = item_id; /控件标识UF_STYLER_ask_value( dialog_id, &value );if( value.value.integer ) ;UF_STYLER_free_value( &value );4.1.2.2.4访问单选按钮(Radio Box)设置单选按钮的控件属性时涉及的变量与参数如表4-9所示。表4-9 Radio Box控件属性的设置属性变量和输

27、入参数变量输入参数Labelitem_attrUF_STYLER_LABEL item_id被设置的控件标识value.string控件的描述文本内容Valueitem_attrUF_STYLER_VALUE item_id被设置的控件标识subitem_index被选中的按钮索引,必须在选择范围之内Sensitiveitem_attrUF_STYLER_SENSITIVITYitem_id被设置的控件标识 value.integerTRUE为控件激活,FALSE为非激活 subitem_index被选中的按钮索引,必须在选择范围之内Visibilityitem_attrUF_STYLER_V

28、ISIBILITYitem_id被设置的控件标识 value.integerTRUE为控件可见,FALSE为不可见 Default Actionitem_attrUF_STYLER_DEFAULT_ACTIONitem_id被设置的控件标识下面的一段代码实现设置单选按钮控件标签的功能:UF_STYLER_item_value_type_t value;value.item_attr = UF_STYLER_LABEL;value.item_id = item_id; /控件标识strcpy( value.value.string, “控件标签名” ); /标签名称UF_STYLER_set_v

29、alue( dialog_id, &value );UF_STYLER_free_value( &value );获取单选按钮的控件属性时涉及的变量与参数如表4-10所示。表4-10 Radio Box控件属性的获取属性参数输入参数输出参数变量数值变量数值Valueintem_attritem_idUF_STYLER_VALUE控件标识IndicatorCountValue.stringUF_STYLER_STRING_VALUE1被选中对象的值Sensitiveintem_attritem_idUF_STYLER_SENSITIVITY控件标识IndicatorCountValue.integerUF_STYLER_INTEGER_VALUE1TURE为激活;FALSE为非激活Visibilityintem_attritem_idUF_STYLER_VISIBILITY控件标识IndicatorCountValue.integerUF_STYLER_INTEGER_VALUE1TURE为可见;FALSE为非可见Item Typeintem_attritem_idUF_STYLER_ITEM_TYPE控件标识IndicatorCountVal

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1