青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 3336|回复: 0

[转载] 谈谈UG的UIStyler

[复制链接]
发表于 2009-6-30 19:17 | 显示全部楼层 |阅读模式
最近有人问起,我就随便说说。下面的文章是引用别人的。
1 D  d* h4 k7 ?- E0 u/ u我主要是加一些说明。6 M  X  w6 H0 {6 d8 L. \- L5 ]
ug界面里做UIStyler设计的时候,最好选好是【回叫】还是【菜单】。而不是选择【全部】。因为二者的方式差别实在是大。& H) Z: p6 P$ p  ~0 W2 i
回叫方式就是通过函数调用对话框。生成的文件里会有一个函数叫什么function的,里面有调用对话框的示例代码。
4 o. a: t& `8 v7 v菜单方式是通过菜单直接调用对话框的方式。比如下面的菜单
' v  q2 }3 q& P. ?) BVERSION 120
* g" c: u3 w9 a$ f5 f7 c  EDIT UG_GATEWAY_MAIN_MENUBAR: ?& `7 q1 f$ H! F6 ?2 M
  BEFORE UG_HELP
: J4 E, L/ s7 e; o    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
' M5 E( ^( A9 Q  v7 g3 n, G    LABEL Dialog Launcher! Z8 U. F9 L" z% }
  END_OF_BEFORE
, ^( E; U# ?. ^+ s, r+ J) q" x4 }  MENU UISTYLER_DLG_CASCADE_BTN* L: u' c5 l9 j" d
    BUTTON MY_BTN
6 R5 j. ]& F& A" s( o    LABEL Display my dialog
) l  v; @; ~0 Y: o* ~2 i; U( U    ACTIONS my.dlg
% U  P8 O7 ^+ ?! o( {  END_OF_MENU
0 g' Y" \, J2 N- e/ A- K另外,最好在英文界面下做UIStyler,否而会出现莫名其妙的问题。比如中文字符变量等等。5 D$ @; h1 K6 x8 d7 g
下面是转载的别人的文章,各位参考一下吧。
( r# @2 Y% |/ Q% _( }- T3 Z6 v1.创建目录并配置环境变量; Q; p( P! R# g9 `
(1)自定义创建。# M; _/ ~* c* [1 `
创建一个文件夹如D:\UG_OPEN, 在此文件夹下创建二级文件夹D:\UG_OPEN\APPLICATION和D:\UG_OPEN\STARTUP。1 j) P4 N& n0 W8 ^5 |  |' @- j$ w' m
打开ug安装目录下的UGII中ugii_env.dat文件,修改UGII_USER_DIR下的路径,如UGII_USER_DIR=D:\UG_OPEN,并去掉前面的“#”。
$ e: C' y8 n# W; ]3 Y(2)第三方创建。
' t  X5 N# f# m( e' m8 s找到UG安装目录下的UGALLIANCE下的VENDOR文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。
' e3 ^$ J( ]+ o6 E1 [0 P0 `打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_VENDOR_DIR前面的“#”去掉。
. v4 p; @0 z7 l) q; }) V7 M3 R(3)系统自己创建。/ Y/ z- i$ A/ ?0 ]4 G# `
找到UG安装目录下的UGALLIANCE下的SITE文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。
0 S/ u( n/ }4 o  w- C打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_SITE_DIR前面的“#”去掉。
) v% B% }) t& s" d) T这三种方法的区别在于系统启动时加载的顺序不同,依次为site,vendor和用户自己定义的。+ `3 q+ Y  Q5 V/ A+ Z
本文采用第一种方法。
9 B# e8 U3 a# P2。UIStyler设计
/ f+ J- s, `" K& }: q/ z8 y(1)打开UG,进入UIStyler(主菜单Application下)。
1 n1 U1 x/ }- P8 ?(2)界面设计。
. u7 A. b6 F) Q(3)保存至刚才建立的application文件夹下,此时会出现三个文件,如下图。6 Z  w- p; ]9 q1 l4 t2 s9 |) L

  w* k1 R4 B$ [2 Y% W% @3。建立VC项目( K; p% S9 @, |6 K; F! \
(1)将刚才生成在application目录下的头文件和源程序移到VC工程所在的目录下,如D:\SOURCE。% W; [1 g/ r& D1 s4 V7 @8 A
(2)新建一个工程,选择Win32 DLL,选择创建空的DLL。
& a& G) l9 B5 A2 d' o' u(3)将头文件和源程序加入工程。! S2 d6 G& M0 t8 r6 G& ]; r
3 q4 c# R5 j8 A8 t, v0 D
4。设置VC环境/ h0 V5 p) v( ]6 c/ u3 j
(1)选择菜单栏上的Project->Setting->C/C++,按下图进行设置,主要试讲头文件引入工程。
! b! W- J. {4 ^4 s  y/ o) E4 p
; _0 d9 E/ ], W# {(2)选择菜单栏上的Project->Setting->LINK,按下图进行设置,将两个LIB库引入工程(UG 18以上适用)。6 i2 n+ t& U4 R* L: W1 K$ O

0 i9 Y; x# f) ?( z, S6 k7 @其中输出的文件名可选择路径D:\UG_OPEN\application,其表明系统启动时不加载这个二次开发。也可输出的文件名选择路径D:\UG_OPEN\startup,其表明系统启动时加载这个二次开发。; l1 W7 s6 J* ^
(3)选择菜单栏上的Tools->Options...->Directories,按下图加入库文件。
: I- o6 M2 O% ?  p7 J5。修改源程序
) C5 ?8 \6 d5 B0 I(1)打开源程序,找到MenuScript样板所在,拷贝这段内容,并保存到D:\UG_OPEN\STARTUP 下。注意文件名的后缀应为.men,文件名可随意取.
$ v6 e! R  p% e- ?4 K$ J6 }: iVERSION 120& L) |6 B( r1 Q. ]0 [; W  J' R" K6 h* s
  EDIT UG_GATEWAY_MAIN_MENUBAR8 i" [6 F( P% ?+ x" ~
  BEFORE UG_HELP8 K1 a* D0 u7 Y7 @: E' `* u0 r
    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN) r$ c5 @' d- W
    LABEL Dialog Launcher
' ]9 ]5 W* i  J& A1 a. f  END_OF_BEFORE
7 {2 [) Z+ Q4 p* j6 `' r  MENU UISTYLER_DLG_CASCADE_BTN8 O" A$ K$ k9 o* O
    BUTTON MY_BTN- _2 C# O9 c. J$ x9 N& ^% R
    LABEL Display my dialog
0 q! ~( I* k+ M0 ]; E# i/ i7 z    ACTIONS my.dlg# r0 f2 i. _, W0 |3 f7 i
  END_OF_MENU
/ o$ O7 R6 J) O' ]' u0 |2 N2 {& j  b' F1 N# N& I
(2)找到程序中“#ifdef MENUBAR_COMMENTED_OUT”及其配对的“endif”并删除。% H& {% d3 V5 d7 E& E
. _# K' q1 V+ [* j7 \! ^" Y" b
(3)找到程序中“#ifdef DISPLAY_FROM_USER_EXIT”及其配对的“endif”并删除。注意不要删除这两项里面的程序。
) O6 H4 B+ p. e6 b% ?- \3 [1 X, E( f( {8 X; U
(4)在将刚才“#ifdef DISPLAY_FROM_USER_EXIT”下的语句中的“<enter a valid user exit here>”改为ufusr。7 V- m# Z  }% Q; N; z* x
(5)编译程序。
7 `! t- w/ B2 b" b! d6。打开UG,可发现菜单栏上多了自己开发的按钮,至此大功告成!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-1-19 02:41 , Processed in 0.053235 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表