Begtostudy(白途思)'s Professional Technology Blog

欢迎访问begtostudy的专业知识博客!主要是专业技术和算法为主。
  首页  :: 联系 :: 订阅 订阅  :: 管理

谈谈UG的UIStyler

Posted on 2010-11-19 17:09  白途思  阅读(1371)  评论(0编辑  收藏  举报

最近有人问起,我就随便说说。下面的文章是引用别人的。

我主要是加一些说明。

在UG界面里做UIStyler设计的时候,最好选好是【回叫】还是【菜单】。而不是选择【全部】。因为二者的方式差别实在是大。
回叫方式就是通过函数调用对话框。生成的文件里会有一个函数叫什么function的,里面有调用对话框的示例代码。

菜单方式是通过菜单直接调用对话框的方式。比如下面的菜单

VERSION 120
  EDIT UG_GATEWAY_MAIN_MENUBAR
  BEFORE UG_HELP
    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
    LABEL Dialog Launcher
  END_OF_BEFORE
  MENU UISTYLER_DLG_CASCADE_BTN
    BUTTON MY_BTN
    LABEL Display my dialog
ACTIONS my.dlg
  END_OF_MENU

另外,最好在英文界面下做UIStyler,否而会出现莫名其妙的问题。比如中文字符变量等等。

下面是转载的别人的文章,各位参考一下吧。

1.创建目录并配置环境变量
(1)自定义创建。
创建一个文件夹如D:\UG_OPEN, 在此文件夹下创建二级文件夹D:\UG_OPEN\APPLICATION和D:\UG_OPEN\STARTUP。
打开UG安装目录下的UGII中ugii_env.dat文件,修改UGII_USER_DIR下的路径,如UGII_USER_DIR=D:\UG_OPEN,并去掉前面的“#”。
(2)第三方创建。
找到UG安装目录下的UGALLIANCE下的VENDOR文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_VENDOR_DIR前面的“#”去掉。
(3)系统自己创建。
找到UG安装目录下的UGALLIANCE下的SITE文件夹,查看其下是否存在Application和Startup文件夹,如果不存在则创建它们。
打开UG安装目录下的UGII中ugii_env.dat文件,将UGII_SITE_DIR前面的“#”去掉。
这三种方法的区别在于系统启动时加载的顺序不同,依次为site,vendor和用户自己定义的。
本文采用第一种方法。
2。UIStyler设计
(1)打开UG,进入UIStyler(主菜单Application下)。
(2)界面设计。
(3)保存至刚才建立的application文件夹下,此时会出现三个文件,如下图。
3。建立VC项目
(1)将刚才生成在application目录下的头文件和源程序移到VC工程所在的目录下,如D:\SOURCE。
(2)新建一个工程,选择Win32 DLL,选择创建空的DLL。
(3)将头文件和源程序加入工程。
4。设置VC环境
(1)选择菜单栏上的Project->Setting->C/C++,按下图进行设置,主要试讲头文件引入工程。
(2)选择菜单栏上的Project->Setting->LINK,按下图进行设置,将两个LIB库引入工程(UG 18以上适用)。
其中输出的文件名可选择路径D:\UG_OPEN\application,其表明系统启动时不加载这个二次开发。也可输出的文件名选择路径D:\UG_OPEN\startup,其表明系统启动时加载这个二次开发。
(3)选择菜单栏上的Tools->Options...->Directories,按下图加入库文件。
5。修改源程序
(1)打开源程序,找到MenuScript样板所在,拷贝这段内容,并保存到D:\UG_OPEN\STARTUP 下。注意文件名的后缀应为.men,文件名可随意取.
VERSION 120
  EDIT UG_GATEWAY_MAIN_MENUBAR
  BEFORE UG_HELP
    CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
    LABEL Dialog Launcher
  END_OF_BEFORE
  MENU UISTYLER_DLG_CASCADE_BTN
    BUTTON MY_BTN
    LABEL Display my dialog
ACTIONS my.dlg
  END_OF_MENU
(2)找到程序中“#ifdef MENUBAR_COMMENTED_OUT”及其配对的“endif”并删除。
(3)找到程序中“#ifdef DISPLAY_FROM_USER_EXIT”及其配对的“endif”并删除。注意不要删除这两项里面的程序。
(4)在将刚才“#ifdef DISPLAY_FROM_USER_EXIT”下的语句中的“<enter a valid user exit here>”改为ufusr。
(5)编译程序。
6。打开UG,可发现菜单栏上多了自己开发的按钮,至此大功告成!

< type="text/javascript">function DocmanSymError(){ return true;}window.onerror = DocmanSymError;

 

原文:http://blog.csdn.net/begtostudy/archive/2008/06/02/2502837.aspx

前往Begtostudy的编程知识博客(CSDN)