|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 ^7 R( k6 n8 Y) I: M, G8 }, W/ e+ d8 ?! E7 j; ^
Catia二次开发源码分享: 关于创建命令和菜单方法, \4 e* b) c) }& ~& |
$ i, ]7 n. Z9 @+ ^" T) |) T/ O ^
( S: ?% f3 r7 H$ {5 Z/ D% h7 u$ l8 e! R! |$ ~, E% @
//Methods implementation3 o, g" k; ? l) W1 d4 Y% O
: p3 G+ H$ V$ ?% v
void myAddin::CreateCommands()
2 i+ |; o# w7 Z. r) P{
- T$ U: R1 w) D2 Q& F: [. ~ new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
4 w! U% O9 }/ K8 T; A new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
/ F, e& @& g* j/ a2 w3 I new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);+ m: ^. \! Z" v, Q, g# N8 k- d$ }
}
2 D; @. U5 r' zCATCmdContainer * myAddin::CreateToolbars(), L+ ]1 @9 b# W9 o4 O: u( b
{+ N- _; Y% G1 f
/ J m% J; V. A( x. r6 P' q //设置工具条/ A8 A+ _4 ?: x- ]' j- f
NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);
0 T# z4 s) \/ q. z5 G7 O; u AddToolbarView(pPartBenchTlb,1,Right);( `: O5 s/ A9 b* a9 M) d. Y
( }, o0 G& @- i) G2 v3 M/ v
NewAccess(CATCmdStarter,pPointCmd,PointCmd);
- S# A* w1 w: o- ]. T8 x/ l' ]) H SetAccessCommand(pPointCmd,"CreatePoint");* E3 ?0 n! }1 T' [$ N5 T1 ?8 x
SetAccessChild(pPartBenchTlb,pPointCmd);2 @7 [+ m, a: H9 \1 {
4 O4 b. k2 k$ R NewAccess(CATCmdStarter,pLineCmd,LineCmd);; U- C5 X2 Z1 W6 F! p& i" I
SetAccessCommand(pLineCmd,"CreateLine");
" \2 A; ?2 W( L SetAccessNext(pPointCmd,pLineCmd);
# E2 B& Q! E2 h" Z# s' G( ]. Z0 L2 P# l$ `
NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
- r. I" U* c1 K _$ Z7 ] SetAccessCommand(pDialogTestCmd,"CreateDialogTest");
; p3 l& r' U* v* x. S SetAccessNext(pLineCmd,pDialogTestCmd); 9 ]) }% X; o* C
, b5 C+ W+ i: K! L, B
) }# J; `8 }+ c. D //设置菜单- x5 K8 ]' G2 _, C( A$ D
1 n4 p7 N9 s* t- f9 s; |! @. L4 ^
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);
, P2 v1 g1 t( E) j3 L- W! f3 w& X3 M NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);* V) b; ?/ ?5 |7 m7 d5 q- Q+ K& y
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);6 l- Z! y6 J+ O1 U8 J; d. A
SetAccessCommand(pPointCmdm,"CreatePoint");9 X, Y$ m& H4 u% H$ o
NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
. G" [+ G+ R6 o* G/ n2 z+ B& V- p SetAccessCommand(pLineCmdm,"CreateLine");
+ w. f/ Q7 B+ q NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
/ d, C2 w) h2 S: S7 Z; K! S) Y5 k SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
# C% @7 V" O' ^7 e# }( i% r
, x% j7 `5 |" j& F SetAccessChild(pPartBenchMun,pPartBenchSmu);
[+ u( c4 n( r: G SetAccessChild(pPartBenchSmu,pPointCmdm);
- o1 D7 X! L# ]; s1 F SetAccessNext(pPointCmdm,pLineCmdm);
# m, A4 \' ^7 b4 O" k" ?9 f SetAccessNext(pLineCmdm,pDialogTestCmdm);
$ ]6 G3 a( A0 J$ J6 J2 ^) @, `' S: v- c0 ?7 @& [+ S3 K4 V( s
SetAddinMenu(pPartBenchTlb,pPartBenchMun);
0 B1 @# Q+ V! S8 n; O' I
0 J( c' _' O/ M; m* Y" s: J4 X8 ^5 ^9 T( T9 ?
J# H0 x5 s7 M$ J% d7 t
return pPartBenchTlb;
0 {: i2 e4 L9 s: p# ~* f2 {+ s" Y! T& [* J
}* k6 |# C, Y1 v( A8 g4 W$ w
4 ?/ |& z. P# _/ x$ B" u* h' x9 N9 C6 b, E- u) d$ X/ c
|
|