青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[转载] 谈谈UG的UIStyler

[复制链接]
发表于 2009-6-30 19:17 | 显示全部楼层 |阅读模式
最近有人问起,我就随便说说。下面的文章是引用别人的。% A  ?+ y/ K7 B3 D5 m+ O: a
我主要是加一些说明。1 B$ D$ T5 z+ }' s
ug界面里做UIStyler设计的时候,最好选好是【回叫】还是【菜单】。而不是选择【全部】。因为二者的方式差别实在是大。
: o& S  Z+ `7 R8 }回叫方式就是通过函数调用对话框。生成的文件里会有一个函数叫什么function的,里面有调用对话框的示例代码。
) Q) y6 z1 ?7 Y4 b" _$ Y' I菜单方式是通过菜单直接调用对话框的方式。比如下面的菜单8 h4 u; j! g5 I$ x$ v& w: L9 {5 Y
VERSION 120- [/ y  _, j+ x8 E3 |* x
  EDIT UG_GATEWAY_MAIN_MENUBAR
7 _; o6 V$ [, k- W& N$ n9 h  BEFORE UG_HELP# `& P. H# {  I% T% K
    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
8 b+ [  i) e& ]# h' _    LABEL Dialog Launcher" s4 ?- V  ~2 Z
  END_OF_BEFORE! d% F& V! y3 w6 y
  MENU UISTYLER_DLG_CASCADE_BTN
& o$ r  [$ f; p/ I, [    BUTTON MY_BTN2 R# n6 a# [$ C5 A3 |8 ?
    LABEL Display my dialog
$ V: N+ f, t- A6 W    ACTIONS my.dlg% b: v0 F/ T" \: ]7 g
  END_OF_MENU
6 Z# K/ ~3 ]2 R4 A  \6 G, Y$ ]/ y+ g另外,最好在英文界面下做UIStyler,否而会出现莫名其妙的问题。比如中文字符变量等等。4 I) |# a# m$ y$ }6 R( K) U
下面是转载的别人的文章,各位参考一下吧。5 v/ r9 a* B. y* ~( Y( O- I
1.创建目录并配置环境变量
# \& o! J3 g) h$ O+ `4 `5 C6 H  P! I(1)自定义创建。( W0 k. l8 t5 A
创建一个文件夹如D:\UG_OPEN, 在此文件夹下创建二级文件夹D:\UG_OPEN\APPLICATION和D:\UG_OPEN\STARTUP。; v4 |2 X+ y' ^3 ~, s( o5 d1 J
打开ug安装目录下的UGII中ugii_env.dat文件,修改UGII_USER_DIR下的路径,如UGII_USER_DIR=D:\UG_OPEN,并去掉前面的“#”。* f9 J; H4 y* N1 S2 G( E& e7 t# u+ S0 {
(2)第三方创建。# q5 g$ O1 d3 D8 a, ^
找到UG安装目录下的UGALLIANCE下的VENDOR文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。
. i, A& m: d8 Z3 H: u- E打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_VENDOR_DIR前面的“#”去掉。
7 F' k2 H, e, e  c% m(3)系统自己创建。
! o/ N1 a8 i- C. g0 W8 G" ]找到UG安装目录下的UGALLIANCE下的SITE文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。/ ?1 T, y( d. Q( Q
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_SITE_DIR前面的“#”去掉。
# {+ }$ c  s' E* o4 i这三种方法的区别在于系统启动时加载的顺序不同,依次为site,vendor和用户自己定义的。% t  R! G! k* ?+ j  @
本文采用第一种方法。
# J/ m/ C, ~! Q' }- F/ m2。UIStyler设计
" K+ G. u; j) R(1)打开UG,进入UIStyler(主菜单Application下)。
& Y7 ]. V4 |# c; @! }7 _(2)界面设计。* n- F5 ~+ B( b( U* Q1 ?" U+ ]- u9 ~' @
(3)保存至刚才建立的application文件夹下,此时会出现三个文件,如下图。
' _" y9 I7 G; N8 \+ E- z8 x( ]4 Y
) i4 j8 z4 ?! x9 n2 ^# J: g3。建立VC项目) V; |( l; o7 o7 Y5 d! P: C0 N' {* b
(1)将刚才生成在application目录下的头文件和源程序移到VC工程所在的目录下,如D:\SOURCE。
; ^' D+ b, _% h(2)新建一个工程,选择Win32 DLL,选择创建空的DLL。
" U, ]5 ^$ T  o9 f3 x: c(3)将头文件和源程序加入工程。/ Q! Z" i  d/ `3 j
) c6 e$ Y. W; p
4。设置VC环境) ~, u1 |& e: U; O3 g, d2 D' g* Z
(1)选择菜单栏上的Project->Setting->C/C++,按下图进行设置,主要试讲头文件引入工程。5 P7 O- T+ X6 _9 t$ N/ A
% S5 H! _- ], L5 r% A' H& t2 S
(2)选择菜单栏上的Project->Setting->LINK,按下图进行设置,将两个LIB库引入工程(UG 18以上适用)。& V# v5 e1 m# \5 k9 `' @" l
, k) n) t' ^) A7 H/ G9 e9 h
其中输出的文件名可选择路径D:\UG_OPEN\application,其表明系统启动时不加载这个二次开发。也可输出的文件名选择路径D:\UG_OPEN\startup,其表明系统启动时加载这个二次开发。
- V7 T- l- Q8 h6 O  @(3)选择菜单栏上的Tools->Options...->Directories,按下图加入库文件。; K: `2 Y! @6 j* o4 w3 F& A6 T
5。修改源程序/ A6 U3 P5 F( b* _5 X' l* o' A
(1)打开源程序,找到MenuScript样板所在,拷贝这段内容,并保存到D:\UG_OPEN\STARTUP 下。注意文件名的后缀应为.men,文件名可随意取.
2 s# B3 |' o2 X% N4 u. \- UVERSION 120) P- S0 E- A/ z0 w6 ^6 x1 j1 ^
  EDIT UG_GATEWAY_MAIN_MENUBAR
# K7 @, F8 M/ E# F  BEFORE UG_HELP
7 y" ~' h. J9 |& G% D9 T    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN$ t, r- R4 c8 @5 C
    LABEL Dialog Launcher) K$ ]% N7 q4 h9 I
  END_OF_BEFORE
& b* X8 p* T/ i; [, J% X; P  T  MENU UISTYLER_DLG_CASCADE_BTN
& j! W7 H- [# E0 Z9 r& d$ S$ _    BUTTON MY_BTN
1 }+ w' C8 L6 V5 e( k7 _, h! N    LABEL Display my dialog9 n& p. E+ D  K/ a8 K& r% t
    ACTIONS my.dlg* O2 `5 ^3 {0 R& w$ y7 y- f6 c0 h
  END_OF_MENU
9 K7 p; Z  k' b  m7 w* X. x. H9 K, G( z
(2)找到程序中“#ifdef MENUBAR_COMMENTED_OUT”及其配对的“endif”并删除。
) T1 n' {1 d6 U/ Y' n! g; G
* T8 w/ j$ C9 l0 _1 U(3)找到程序中“#ifdef DISPLAY_FROM_USER_EXIT”及其配对的“endif”并删除。注意不要删除这两项里面的程序。: B( N+ W# n" D/ H
+ P# \# I* i5 W# G$ J: J
(4)在将刚才“#ifdef DISPLAY_FROM_USER_EXIT”下的语句中的“<enter a valid user exit here>”改为ufusr。8 B: B: U, W; ]( N2 G4 x! g
(5)编译程序。
7 w' F3 ~& n9 H8 n$ r( N6 D2 H9 A* o6。打开UG,可发现菜单栏上多了自己开发的按钮,至此大功告成!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-19 18:03 , Processed in 0.051810 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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