|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 S$ i. l1 {. }, ?( G) b3 A5 y. a. S4 R D8 E/ Z4 x8 _0 C
Catia二次开发源码分享: 关于创建命令和菜单方法
+ q- h( C2 O3 R6 Q8 u
& O; V! J, Q1 P5 Q; s2 ^3 U$ R9 n
& ?& P; b6 i, h* D+ E
+ ~5 ^. ?. k8 R" r& O+ u//Methods implementation: A& o1 p9 c, u5 Y4 K4 C {: G
6 f( J7 u. a) e5 I. X7 \4 Svoid myAddin::CreateCommands(), \* j8 n0 F' F1 K
{+ m" y( e3 Z( }0 b
new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);0 D' C! T/ _% k1 J7 E ]
new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
& O; x9 w5 p- }5 C% s5 j new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);+ Y5 B8 n& S ~! r1 H
}7 r" c- e# H2 o/ [& q, b
CATCmdContainer * myAddin::CreateToolbars()
, B6 p x' {% [' }0 Y& ?! |{
: z1 U6 {" K2 z% O( ~6 U S. } + B/ u" h+ L8 L- r) o) u
//设置工具条+ m! Y: b# C; b) \$ M; b' Z9 y9 u
NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);# n) W* {. D+ _; J; d$ ]4 c
AddToolbarView(pPartBenchTlb,1,Right);
+ I) Y5 [% E3 K( t& F1 _; Y( T+ R( c$ p% ]& Y4 E7 _1 q6 S
NewAccess(CATCmdStarter,pPointCmd,PointCmd);5 ?0 e7 e7 E4 c8 d. D+ u
SetAccessCommand(pPointCmd,"CreatePoint");
& k) a! E3 b: d8 ~" Q/ O2 \8 ]* g SetAccessChild(pPartBenchTlb,pPointCmd);% X, k* A- t( s# n/ H
: x! S* P9 v0 x5 w NewAccess(CATCmdStarter,pLineCmd,LineCmd);0 M2 h. S j) l5 G$ b `5 `
SetAccessCommand(pLineCmd,"CreateLine");
9 x( H( T7 R6 S8 |- Q SetAccessNext(pPointCmd,pLineCmd);
2 c( |/ n, n' d
% m7 l. u# p5 F) G4 ~& i NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
+ s! F1 e; u) ^* w/ n1 K- U+ ?, p9 { SetAccessCommand(pDialogTestCmd,"CreateDialogTest");
/ m) E% P1 {2 U SetAccessNext(pLineCmd,pDialogTestCmd); " N* K6 ?! s# J8 p) i6 \
- n; R! l, s0 n- Q2 f
" g% M1 \/ Q s( z5 J' t, }- f //设置菜单: ]$ V+ I: ?7 I5 l- c
. ?9 F+ J8 ~ |! h5 v6 r( o
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);. M- C2 r. T1 A: @
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
/ _2 t/ V, z# e, S0 S NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);: j# {7 z- }) Y3 d: E" F6 i4 u; l
SetAccessCommand(pPointCmdm,"CreatePoint");6 J0 }# P$ u8 I3 w3 u+ [: j
NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);0 z8 g4 _' n' t
SetAccessCommand(pLineCmdm,"CreateLine");
) a' a" _' E( W% n0 P! i! X NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
$ g2 O4 k4 T2 U# U SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
# S1 v3 T1 B9 X1 e5 q $ `/ t) v0 f5 ~' ?/ q
SetAccessChild(pPartBenchMun,pPartBenchSmu);- b4 h# M/ h6 u' D, z8 I* @
SetAccessChild(pPartBenchSmu,pPointCmdm);
; n. o( Z7 e' z0 q( E SetAccessNext(pPointCmdm,pLineCmdm);
/ U! S3 d) n0 I7 j# @( E) O SetAccessNext(pLineCmdm,pDialogTestCmdm); 3 U7 k4 P* R3 O0 _/ h& U- x
2 `( u) d, ]/ _3 O SetAddinMenu(pPartBenchTlb,pPartBenchMun);
& k2 l) ]& a+ x4 v2 @* M7 H; y. P% f! D/ o
+ ?0 `: q" I" Z! |- S, F" ^( y2 K
return pPartBenchTlb;
C; G7 ?8 Q( u
* ^# W" g/ f! y}0 t2 X* l6 M2 H! Z
+ \: ]: W8 y* F& \4 f; D" ^8 L2 m
4 U: V" b7 Q- n) n" K0 |! ? |
|