青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 5506|回复: 13

[讨论] UG二次开发中添加菜单的疑问?

[复制链接]
发表于 2009-3-4 19:55 | 显示全部楼层 |阅读模式
求教各位大虾,如何编写一个men文件,当进入建模环境之后这些菜单才显示出来?
发表于 2009-3-5 16:45 | 显示全部楼层
首先创建菜单脚本文件,可在用户工程路径下的startup 文件夹中创建,例如Test.men。
- ~8 \: G' u$ d3 g使用任何文本编辑器(如Windows“记事本”)都可对其进行编辑。
4 F( h8 n8 Y4 }自定义菜单的脚本文件代码如下:
7 r3 E. [0 G9 Y9 i# t( AVERSION 120 <1>- k7 h% A5 r; x. [8 ^
EDIT UG_GATEWAY_MAIN_MENUBAR <2>- b6 I7 G% n2 t& K; ]0 K+ S
HIDE UG_HELP <3>
; w1 B2 e: s% W. F8 o!一级菜单编辑( y1 x8 O3 w1 K
BEFORE UG_HELP <4>2 V* W/ s8 k# t& H6 z
CASCADE_BUTTON MENU_ID_1 <5>  h, _4 p  _0 l+ N' o7 X
LABEL TEST <6>- Q. n- x, y6 \3 j0 _* c' y
END_OF_BEFORE <7>
; q4 L' T% z) F+ w9 H7 E# i!二级菜单编辑
9 L6 r, C2 e0 }& T4 yMENU MENU_ID_1 <8>5 n% W& v: m% Z7 R
CASCADE_BUTTON MENU_ID_1_1 <9>
" i& O; y; ?! U1 C3 v9 g4 D6 SLABEL API TEST <10>( o. b: N3 ~/ h2 k
SEPARATOR <11>$ V9 l3 I% F0 d, P
BUTTON MENU_ID_1_2 <12>
! q, |7 g. ^  X1 \  kLABEL WINDOWS 计算器 <13>
' o! y" c3 W2 YACTIONS “CALC” <14>, d2 w6 p) z% C& Q1 D$ U8 V) c
END_OF_MENU <15># c" j6 u+ e# Y4 |0 _; u6 r
!三级菜单编辑# ]  g6 e1 C* ^7 _: V/ f, Y- l( j
MENU MENU_ID_1_1 <16>
/ M$ W% S0 C8 r/ D" Q5 `& MBUTTON MENU_ID_1_1_1 <17>
& N+ q) F8 I3 _2 C% E1 t- rLABEL RUN_API_PROGRAM <18># T2 r/ m* Z7 [0 k/ Q, K) b+ J
ACTIONS api_test.dlg <19>
8 \5 h& D) |8 I% Y& PEND_OF_MENU <20>
6 G9 ^- D0 G0 d; j注:!是注释说明符。+ T  O' @. z* a/ T
其中各行说明如下:
1 v* Z# W' D6 T, _" d<1> 菜单脚本文件兼容UG v12 的菜单脚本0 B+ l5 c- |# b3 v8 H* N
<2> 编辑UG 主菜单
) O8 s1 j/ f# u+ I8 |$ S, ~% q<3> 隐藏Help 菜单(即中文环境的【帮助】菜单)( F8 t2 a2 o8 ?$ Y+ g& h  T" k
<4> 表示第一级菜单位于【Help】菜单之前- e5 ~# `6 R& D8 b
<5> 定义第一级菜单的ID(本例为MENU_ID_1),CASCADE 关键字表明该菜单是下拉式菜单; K2 V0 _! M& d/ U3 ^
<6> LABEL 关键字定义菜单的标题(本例为TEST)
+ V- n- B; w1 J/ ^: r<7> 结束第一级菜单的编辑
* ^0 i9 i) S1 G, J<8> 编辑第二级菜单,它是MENU_ID_1 的下拉菜单0 j, T" k/ i1 m! a8 @
<9> 定义第二级菜单的ID(本例为MENU_ID_1_1),也是下拉菜单
9 ?! r+ S" ^) k/ L6 d<10>定义第二级菜单的标题(本例为API TEST)
8 q' @: }) B. J$ W, C% p" @: G; h<11>SEPARATOR 关键字定义菜单中的分割线7 y5 P9 g& h/ j0 N! o2 [% U; @3 w
<12>定义第二级菜单的ID(本例为MENU_ID_1_2),BUTTON 关键字表明是按钮类型
0 q  z7 V+ E* N9 d/ k2 u% p* q1 Q<13>定义菜单标题(本例为WINDOWS 计算器)7 d7 M- c2 g/ {/ ]8 u) C% J2 B
<14>ACTIONS 关键字定义该菜单项响应行为(本例为运行windows 计算器)
% D6 x% R6 C- O, A3 _9 K' a5 e<15>结束第二级菜单的编辑
6 Q* I' w' S" Y<16>编辑第三级菜单,它是MENU_ID_1_1 下拉菜单0 Y, v: e) i! t
<17>定义第三级菜单的ID(本例为MENU_ID_1_1_1),它是按钮类型2 Y1 Q" ^3 _. a; e( r& ]4 u
<18>定义菜单标题(本例为RUN_API_PROGRAM)8 V4 B1 \  Z0 e' H% |
<19>运行UI Styler 编写的界面api_test.dlg1 V- P* V( @7 B; T
<20>结束第三级菜单的编辑
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-5 20:54 | 显示全部楼层
2楼貌似没看懂意思% d- n' i+ B+ f. J3 Q& N0 w
2楼所说的方法得到的菜单在UG的整个运行过程中都存在,而我要的菜单是仅在建模环境下才出现,其余情况均不会出现
回复 支持 反对

使用道具 举报

发表于 2009-3-6 16:24 | 显示全部楼层
恩。。。
$ x9 N9 n0 T6 f! W  U2楼的是正解!
. v6 l! k$ W5 k, E/ X  r+ g楼主的这种菜单需要不知道能不能实现呢。。。2 X/ d: R8 A' h5 i
我也来关注一下!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-6 19:24 | 显示全部楼层
已解决,谢谢关注!
回复 支持 反对

使用道具 举报

发表于 2009-3-9 10:43 | 显示全部楼层
请问楼主是怎么实现只有当进入建模环境之后才出现菜单的呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-22 19:10 | 显示全部楼层
在Startup文件夹中放置如下菜单文件:
/ q" L  d. d# o; aVERSION 139/ A) S  R% v' h, X
EDIT UG_GATEWAY_MAIN_MENUBAR
' F% ~( w6 ]! k5 ?% |8 J2 hMODIFY
6 _2 ]/ T5 [, Z: l        APPLICATION_BUTTON UG_APP_MODELING
( l4 @$ r8 N& E8 ]. C3 S        LIBRARIES UGSmartTool.dll% H6 T0 S* B/ u) F& R
        MENU_FILES UGSmartTool.MEN% ~; @7 V7 B5 j3 L) K( S$ K
END_OF_MODIFY, D( t: f3 {2 Q' |
然后在application文件中存放相应的UGSmartTool.MEN和UGSmartTool.dll,UGSmartTool.MEN按照普通的菜单文件编写即可
; o+ q; a2 Q" @% n5 n清华出了本UG开发的书,里面讲到的扩展菜单就是这种功能
回复 支持 反对

使用道具 举报

发表于 2009-4-14 23:12 | 显示全部楼层
谢谢,说得很详细。。。。
回复 支持 反对

使用道具 举报

发表于 2009-5-25 20:52 | 显示全部楼层
谢谢,谢谢。学习了。
回复 支持 反对

使用道具 举报

发表于 2009-6-9 21:35 | 显示全部楼层
我来了,谢谢~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-28 16:44 , Processed in 0.080675 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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