|
最近有人问起,我就随便说说。下面的文章是引用别人的。1 o0 j2 p ? g
我主要是加一些说明。
( @. A0 {- Z1 u- b3 v. z" S& g在ug界面里做UIStyler设计的时候,最好选好是【回叫】还是【菜单】。而不是选择【全部】。因为二者的方式差别实在是大。3 K5 r8 ~- C5 e: x# _% q! ~
回叫方式就是通过函数调用对话框。生成的文件里会有一个函数叫什么function的,里面有调用对话框的示例代码。
& Y9 m+ v2 V$ A) c菜单方式是通过菜单直接调用对话框的方式。比如下面的菜单( N2 [1 [% T0 i- r; p8 d w e
VERSION 120) \2 b, \: l k* Z0 A
EDIT UG_GATEWAY_MAIN_MENUBAR
" ^+ \3 F/ h, z2 j/ F* Y( p6 } BEFORE UG_HELP
n1 ~! f' \/ J6 l* g; h2 r1 j CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
+ ]; T( M/ x: x) h8 T LABEL Dialog Launcher
" y9 v% |# b+ s9 }/ ]! ]6 e END_OF_BEFORE
% ^; \& o6 ?, f6 @7 O. M, f MENU UISTYLER_DLG_CASCADE_BTN
# q! y5 u7 _5 T) U2 t BUTTON MY_BTN
! }) {3 R! t4 |! d LABEL Display my dialog, ]+ {& [( S( T5 G( z6 [" _6 i
ACTIONS my.dlg# x& S# K/ H3 T C \
END_OF_MENU" |* t# `7 }" G
另外,最好在英文界面下做UIStyler,否而会出现莫名其妙的问题。比如中文字符变量等等。
7 _$ A. L' I. k( E5 x) m7 ^下面是转载的别人的文章,各位参考一下吧。+ o" f9 z, r$ N8 n' O/ g, {, _! E& D
1.创建目录并配置环境变量8 L! A! A1 z1 P* ~) \) L# p: |+ Y. ^
(1)自定义创建。7 x5 O' D# v2 g( R4 B- E1 S0 t7 Z% ]
创建一个文件夹如D:\UG_OPEN, 在此文件夹下创建二级文件夹D:\UG_OPEN\APPLICATION和D:\UG_OPEN\STARTUP。# R7 I8 A2 P1 y
打开ug安装目录下的UGII中ugii_env.dat文件,修改UGII_USER_DIR下的路径,如UGII_USER_DIR=D:\UG_OPEN,并去掉前面的“#”。
1 ^$ M' C5 C1 @. u5 l3 g(2)第三方创建。
1 O5 c5 W' a0 e: f' u找到UG安装目录下的UGALLIANCE下的VENDOR文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。" S% _( t6 o: z! u
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_VENDOR_DIR前面的“#”去掉。
1 s1 ?9 v2 O' \3 H6 _/ i7 K1 |( l(3)系统自己创建。% M' } C6 V5 ^! q. z8 A6 y* }" M
找到UG安装目录下的UGALLIANCE下的SITE文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。. w: ~# U& G# v' k3 p) w8 y2 \ k
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_SITE_DIR前面的“#”去掉。
# Q& h4 P, b( F7 l0 m这三种方法的区别在于系统启动时加载的顺序不同,依次为site,vendor和用户自己定义的。4 O9 S3 z- d0 x' C% w0 a/ z( u
本文采用第一种方法。 c/ q* ~9 T* r. T& i: K
2。UIStyler设计
* B1 |( l6 x& N& e9 h(1)打开UG,进入UIStyler(主菜单Application下)。 9 n- }8 q8 E+ ~- P; k4 d4 C
(2)界面设计。
0 U2 {4 e- S" S1 K' [. ^7 z; |(3)保存至刚才建立的application文件夹下,此时会出现三个文件,如下图。) @& v; X$ U! e% Y% [$ y
& K1 _: B+ h: L' A: @- @/ U3。建立VC项目# E! A% e0 p4 q0 T4 C0 l& B- `
(1)将刚才生成在application目录下的头文件和源程序移到VC工程所在的目录下,如D:\SOURCE。+ G* u% k" e) W+ E% ?
(2)新建一个工程,选择Win32 DLL,选择创建空的DLL。
1 v5 E, b) M; a4 ?/ h(3)将头文件和源程序加入工程。4 z$ ~: h* N9 J4 O
0 ~7 V, j5 n) b6 P
4。设置VC环境* w- z( k' g0 S$ h& W7 H9 {) V
(1)选择菜单栏上的Project->Setting->C/C++,按下图进行设置,主要试讲头文件引入工程。4 B9 l, G$ U$ k% [) d
$ a4 g" v7 g# x; x8 _4 ~/ Z! K
(2)选择菜单栏上的Project->Setting->LINK,按下图进行设置,将两个LIB库引入工程(UG 18以上适用)。$ S$ h: R$ y" \/ H s: ^, @
/ ^* P# ^2 D: Z) e S2 N; y
其中输出的文件名可选择路径D:\UG_OPEN\application,其表明系统启动时不加载这个二次开发。也可输出的文件名选择路径D:\UG_OPEN\startup,其表明系统启动时加载这个二次开发。4 b' K: Q2 A1 [! w( S5 K
(3)选择菜单栏上的Tools->Options...->Directories,按下图加入库文件。: I% A# Z* q- W! m- H! ?) u
5。修改源程序
7 _) w# K' _1 F8 e* j" n) g: V(1)打开源程序,找到MenuScript样板所在,拷贝这段内容,并保存到D:\UG_OPEN\STARTUP 下。注意文件名的后缀应为.men,文件名可随意取.
& B* Q5 {1 y) E3 k8 V8 ]* N# t/ FVERSION 120+ r+ J1 {/ f/ [5 ]1 w& P1 P) B3 V
EDIT UG_GATEWAY_MAIN_MENUBAR
2 R/ c; s: \5 G BEFORE UG_HELP
( D5 U" [% q$ E, M& E( O' h# G CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN$ z, s; ?4 |0 w$ z2 |$ w+ R7 n% l' E
LABEL Dialog Launcher. E2 ^8 N% b( F2 [$ G. f+ e
END_OF_BEFORE; t9 ]8 {# W5 }0 _2 N5 t( u( H. A
MENU UISTYLER_DLG_CASCADE_BTN2 t3 B6 J* B; w
BUTTON MY_BTN
, V2 _* ^$ ]/ @8 B& \# x7 Z LABEL Display my dialog# A: `) f& G6 e! @3 \
ACTIONS my.dlg# Y$ i% p2 Z2 R& k6 n1 M, \
END_OF_MENU/ p/ ]1 i3 ~; P1 x; ^$ l
- _8 `/ y) t; p* V( L+ {5 K(2)找到程序中“#ifdef MENUBAR_COMMENTED_OUT”及其配对的“endif”并删除。
0 `3 @' N1 \5 A- I
+ Z: O/ U$ V2 Q. I/ B% ]3 n(3)找到程序中“#ifdef DISPLAY_FROM_USER_EXIT”及其配对的“endif”并删除。注意不要删除这两项里面的程序。
6 E9 c( W9 [* V2 D8 q4 A$ G, _9 ~9 V+ o, Q
(4)在将刚才“#ifdef DISPLAY_FROM_USER_EXIT”下的语句中的“<enter a valid user exit here>”改为ufusr。7 l" o* A/ t4 v
(5)编译程序。; i+ }! n$ f7 H7 X2 T+ H3 R2 `
6。打开UG,可发现菜单栏上多了自己开发的按钮,至此大功告成! |
|