青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[转载] 谈谈UG的UIStyler

[复制链接]
发表于 2009-6-30 19:17 | 显示全部楼层 |阅读模式
最近有人问起,我就随便说说。下面的文章是引用别人的。& d" }- G1 m( {/ f
我主要是加一些说明。
- F/ F* V# k! Iug界面里做UIStyler设计的时候,最好选好是【回叫】还是【菜单】。而不是选择【全部】。因为二者的方式差别实在是大。" j( W! }% u2 _: G2 c' }! j7 A
回叫方式就是通过函数调用对话框。生成的文件里会有一个函数叫什么function的,里面有调用对话框的示例代码。
3 Q+ K4 d& P! p; d8 r菜单方式是通过菜单直接调用对话框的方式。比如下面的菜单
# @3 i1 `8 I- x9 ?4 m; RVERSION 120
% r( U/ x5 c% X  EDIT UG_GATEWAY_MAIN_MENUBAR
6 B. G  E0 a& }# ~8 M  BEFORE UG_HELP+ G9 {/ y, L/ Y$ s; s& \2 k3 k* L
    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
7 U" \/ {1 r1 Q) B    LABEL Dialog Launcher9 l# U" M- O. W
  END_OF_BEFORE
* I0 K. {7 J" h7 Y( f+ r% ~  MENU UISTYLER_DLG_CASCADE_BTN
! G4 o) d6 Z6 ]3 T9 L6 T" |    BUTTON MY_BTN, E0 o0 H6 C* N, G4 C. i1 y
    LABEL Display my dialog8 u" {' y% Q; w" h1 J
    ACTIONS my.dlg" Y# L- t: |$ g/ D7 x& @9 E$ S3 D
  END_OF_MENU( p6 ?! O: z" A* O: r+ h3 s  L# t0 ]
另外,最好在英文界面下做UIStyler,否而会出现莫名其妙的问题。比如中文字符变量等等。7 u2 [% S  k( G4 x- t
下面是转载的别人的文章,各位参考一下吧。, [, V, K! J4 L! ~2 i
1.创建目录并配置环境变量  N' x. j. S  b. f" ~& p
(1)自定义创建。
0 Y3 ]1 p7 S% R, Q8 o创建一个文件夹如D:\UG_OPEN, 在此文件夹下创建二级文件夹D:\UG_OPEN\APPLICATION和D:\UG_OPEN\STARTUP。
! @" t: U- D, X0 p& C; b+ I打开ug安装目录下的UGII中ugii_env.dat文件,修改UGII_USER_DIR下的路径,如UGII_USER_DIR=D:\UG_OPEN,并去掉前面的“#”。
4 Y9 F; |6 T' z+ l4 q" b3 U* k, v$ ^(2)第三方创建。
' o& k8 G) D9 Q找到UG安装目录下的UGALLIANCE下的VENDOR文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。( H5 }: x& v! g- B$ M  m
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_VENDOR_DIR前面的“#”去掉。
* N" u* U2 L( w! w7 u1 [(3)系统自己创建。
8 Q' C  f1 V, B找到UG安装目录下的UGALLIANCE下的SITE文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。. C8 i& |+ b( G1 d8 x' I4 b0 R2 e
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_SITE_DIR前面的“#”去掉。
# \. g1 N6 r9 a6 R+ ^这三种方法的区别在于系统启动时加载的顺序不同,依次为site,vendor和用户自己定义的。
! Y% t8 ]3 r% O( b1 K7 J本文采用第一种方法。5 K# G7 e5 |' H7 \& W" L: n
2。UIStyler设计
; P# e9 ^* @6 F% R1 B(1)打开UG,进入UIStyler(主菜单Application下)。 - X" {  g, }& ^7 i( m+ R4 M
(2)界面设计。
4 K2 V& a. J3 B/ P( s+ c3 g(3)保存至刚才建立的application文件夹下,此时会出现三个文件,如下图。
; {) _8 j2 @- v
7 X1 f2 e4 W4 j$ m! m3。建立VC项目" Q/ }5 z8 p: r
(1)将刚才生成在application目录下的头文件和源程序移到VC工程所在的目录下,如D:\SOURCE。
& m5 n+ o$ u" I3 W9 l. t& X(2)新建一个工程,选择Win32 DLL,选择创建空的DLL。% c# B! B$ e0 C/ L4 y
(3)将头文件和源程序加入工程。
% {0 R0 p- v& e* C' D* q5 J* Y  k, C+ V5 ^9 o
4。设置VC环境
( U& G) g- z/ B4 @2 R" \(1)选择菜单栏上的Project->Setting->C/C++,按下图进行设置,主要试讲头文件引入工程。
* R& \; r, ?" K4 U8 E+ k% e4 P7 V, c# B3 o0 A! {4 g9 ^- s
(2)选择菜单栏上的Project->Setting->LINK,按下图进行设置,将两个LIB库引入工程(UG 18以上适用)。
5 z4 s* k2 ^% F' X1 D& j
0 l' T' ^" S( R! x; d9 k其中输出的文件名可选择路径D:\UG_OPEN\application,其表明系统启动时不加载这个二次开发。也可输出的文件名选择路径D:\UG_OPEN\startup,其表明系统启动时加载这个二次开发。
; I/ h- ^$ e$ m2 |& m(3)选择菜单栏上的Tools->Options...->Directories,按下图加入库文件。, l) M" A% G: {! U0 n
5。修改源程序0 O! f3 C! V  b2 F$ L
(1)打开源程序,找到MenuScript样板所在,拷贝这段内容,并保存到D:\UG_OPEN\STARTUP 下。注意文件名的后缀应为.men,文件名可随意取.
8 ^$ k* p: @, `0 pVERSION 1201 Q7 p4 p' x: x
  EDIT UG_GATEWAY_MAIN_MENUBAR8 t* S1 \, n4 [: H
  BEFORE UG_HELP
7 a( ?- X5 k- Q5 B    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
2 P% w5 j3 i( B4 p    LABEL Dialog Launcher
/ O; T1 a3 w5 J1 d# ]  END_OF_BEFORE
& n/ X7 Q3 p* y: C# p' Z9 w8 I  MENU UISTYLER_DLG_CASCADE_BTN
, B4 h3 U9 q) ]. o; Y. y) q7 y    BUTTON MY_BTN
; ^1 D& |* B9 D. k# _    LABEL Display my dialog
0 g# R- p5 p% {$ n    ACTIONS my.dlg. S: G% p; w6 m1 m: w
  END_OF_MENU7 O, \- m. p  |# w% E2 _+ z* J0 e: s

" U* P+ u5 I! T0 H2 t) {# d* `(2)找到程序中“#ifdef MENUBAR_COMMENTED_OUT”及其配对的“endif”并删除。) N" o4 I  W9 I' _

0 r* Y3 W7 ~: y6 }(3)找到程序中“#ifdef DISPLAY_FROM_USER_EXIT”及其配对的“endif”并删除。注意不要删除这两项里面的程序。
. ?+ i+ X7 ^% G0 y5 I
$ P+ l' l* F9 o# f/ B) g. [(4)在将刚才“#ifdef DISPLAY_FROM_USER_EXIT”下的语句中的“<enter a valid user exit here>”改为ufusr。
; T' {  P" J6 n(5)编译程序。& Q! H: r! ~5 v, G3 ?% L
6。打开UG,可发现菜单栏上多了自己开发的按钮,至此大功告成!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-28 07:26 , Processed in 0.054922 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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