|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
M9 S) g- W: w# ]+ s! }
8 ~! z8 B+ r3 E* R9 l* t( T1 iCatia二次开发源码分享: 关于创建命令和菜单方法
' Y1 y$ L8 }* }. r. ]- W4 M& N4 _& |# P8 u f. [" [. k
# @7 [2 M3 i$ z/ V) M
; ?+ [/ i- |$ S t: t
//Methods implementation' z! H$ N! z5 O0 r8 ?' ^- I; N* }
( {$ A' a t6 E, k& s5 G3 pvoid myAddin::CreateCommands(), Z5 _ `& G7 s+ }0 {
{6 W" c" T! B1 Q/ J
new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);5 c5 Q# x# G a9 j% J9 g
new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
% i. X/ G$ Z! `, U3 a new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);
b& u" G& H- @3 S8 r" J}* o' e) a, U9 v' x
CATCmdContainer * myAddin::CreateToolbars()
! g/ V3 g0 Q/ _1 M( I{
6 N! u. D& m3 ~
. T7 `; y: ?6 @- O- H //设置工具条5 M; S& B' O# }
NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);
% e1 {0 d; U7 f AddToolbarView(pPartBenchTlb,1,Right);
$ a& ^' l1 b3 K( v4 Y, ]+ s, b% T3 \& {( ?# \/ b8 N E9 {
NewAccess(CATCmdStarter,pPointCmd,PointCmd);# _9 p' D4 o7 c6 V$ E
SetAccessCommand(pPointCmd,"CreatePoint");1 n: Y0 Y. Q; d r. {
SetAccessChild(pPartBenchTlb,pPointCmd);- X9 Y, a6 [2 E4 o* l3 E/ Y. ]! n- u
" W# ~- |% @- w( N7 L NewAccess(CATCmdStarter,pLineCmd,LineCmd);
, a' B0 k: [- \ X& Z9 F% F SetAccessCommand(pLineCmd,"CreateLine");6 H$ l' `: a9 j4 @! }
SetAccessNext(pPointCmd,pLineCmd); + j# {9 H' K% W; b
) U0 R5 S0 }, i, D
NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);6 h: p N! r$ _1 @
SetAccessCommand(pDialogTestCmd,"CreateDialogTest");
9 T; p3 J+ |8 H+ q) G9 { SetAccessNext(pLineCmd,pDialogTestCmd); + N4 I3 f5 k4 b2 W
( _1 X. @6 n+ t& H
+ [) H- g) T; {' r: O# ~" }
//设置菜单
0 |; |" ?1 w! g9 z& s3 G. ^' v6 q- J3 F. z, x1 [
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);9 @ [* x' ~& |9 m* G
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);2 M$ B0 s6 N4 }9 p8 ~0 b
NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);2 _1 L; E; h2 ^! u
SetAccessCommand(pPointCmdm,"CreatePoint");
! y4 _& f5 G, C! j' D4 i NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);# _! a0 }2 j0 b# I, a- ] Q# M
SetAccessCommand(pLineCmdm,"CreateLine");" |& q v! P- _( P
NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
2 [/ E: S# D" I- I SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");+ g! W* q O8 O6 j }
. E- m6 L& }2 m SetAccessChild(pPartBenchMun,pPartBenchSmu);9 Y! p' [& F B9 ^9 Q7 k) W
SetAccessChild(pPartBenchSmu,pPointCmdm);4 M$ j. Q7 h" ]6 K' p9 {2 k# `
SetAccessNext(pPointCmdm,pLineCmdm);
, g1 B% i6 Q2 b) ?0 D SetAccessNext(pLineCmdm,pDialogTestCmdm);
* t+ N( `3 t+ Y; a1 N& ~+ d# j- m! B. r2 O" b* \% ~2 L
SetAddinMenu(pPartBenchTlb,pPartBenchMun);
( R0 y# u* H% I/ j$ p' z9 E# ]
% w0 q7 J9 E+ G: i9 f% T: N+ j' ]
L g+ S! [7 M- }
4 G6 b" h8 i0 z4 o return pPartBenchTlb;/ l6 m" k2 E. N C
# }7 [- b# k' _8 I7 A}: ~, I7 s( S6 G# X4 E; L
) {& @9 M. N6 _: w# X2 H) ~( v+ w
8 J. ^; L7 R# `- W; w; t1 x, h: U
|
|