|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) S0 V- y8 y5 i2 R
9 B3 ^2 y8 Q P3 E
Catia二次开发源码分享: 关于创建命令和菜单方法
* k* X3 M" F$ X4 i5 ?
; k7 }1 B; t. R& F" L0 ^" v) c ~6 X0 d8 w0 { Q
( b, P# [4 Q. z! L' G//Methods implementation
7 ]4 v# ~9 G( S6 _+ H9 D1 ^" u/ X3 v0 ]" z) k$ c- X' n8 X
void myAddin::CreateCommands()
: |5 s8 Z0 A9 y; r{
8 b6 k0 M' s6 ]8 R new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
, N, m' D; _9 d/ P5 s# | new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
) v% p# Z" P# P new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);. |5 r7 v4 X3 b
}
5 f& F: F# z! F# r% Y. Q6 r4 f9 OCATCmdContainer * myAddin::CreateToolbars()' i2 B7 J* \. Q: y
{5 J8 x7 m6 x: T4 x8 @
( i5 ~+ L( ]/ p8 h* o
//设置工具条* k* G5 Y: Z2 V- `+ `1 n- G
NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);0 T% m- ~, x! S
AddToolbarView(pPartBenchTlb,1,Right);* D& f1 g7 F0 s. W3 p; q: |7 ]
6 x7 Q. y+ U- C3 E
NewAccess(CATCmdStarter,pPointCmd,PointCmd);
/ b9 v8 @4 u' V% I SetAccessCommand(pPointCmd,"CreatePoint");
- M8 y9 R; ~6 J$ }* h% a$ a+ ~ SetAccessChild(pPartBenchTlb,pPointCmd);9 P4 z5 i6 ]; w0 l! n0 V2 v0 `
+ C2 u: b8 j( [% N; H
NewAccess(CATCmdStarter,pLineCmd,LineCmd);* ^. _* ]- Y) @. Q2 G: A* ~
SetAccessCommand(pLineCmd,"CreateLine");" E& L: k2 Y7 s' @( ]8 k, P
SetAccessNext(pPointCmd,pLineCmd);
8 I- g& ?( o9 t; W$ Z: P2 E
* ]: z& }3 a; x8 C1 {0 Y9 v: N8 V NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);8 R/ \8 N; i3 h7 p
SetAccessCommand(pDialogTestCmd,"CreateDialogTest");( _+ j1 i! \7 P
SetAccessNext(pLineCmd,pDialogTestCmd);
7 o8 r6 ~1 B+ m; J. R) [( C; L
$ Q- @+ [- ~* ?4 n' q
//设置菜单
5 |: \' D O5 W6 [: e' f4 W1 F' `( {, f+ B
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);1 D* k7 h. j8 S
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
: z$ }4 o4 {2 @' ] NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);
9 u4 R( P9 w5 K) _9 Z* {- x) y SetAccessCommand(pPointCmdm,"CreatePoint");& G0 T% |$ |+ [6 `: N, y4 L
NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);! M( Z# _) u! s8 i7 f
SetAccessCommand(pLineCmdm,"CreateLine");4 n+ a0 E) y. z3 o: K; j
NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);: Y9 U ~2 I2 Q c' P* t. ?/ ^
SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");
* O5 O- F0 B/ l, Y! G5 q" l+ m " A9 U3 P& `* b9 j+ D3 F7 G
SetAccessChild(pPartBenchMun,pPartBenchSmu);
. u) v F) _9 ?! |5 C9 k8 F) [ SetAccessChild(pPartBenchSmu,pPointCmdm);; {: q9 \9 y: S+ Y& T! x! D
SetAccessNext(pPointCmdm,pLineCmdm); " M) n: \: l8 J s" U7 I
SetAccessNext(pLineCmdm,pDialogTestCmdm);
?2 G- M7 x0 J* ~. z7 I' O% m* g' q# V5 q
SetAddinMenu(pPartBenchTlb,pPartBenchMun);6 u9 f3 L3 q) }/ u* t
0 c2 ?! `. D3 Q( i. v. W; N2 v" U
+ s% i. i1 S. |7 Y- b, G @
) p# u+ c' b F2 u y
return pPartBenchTlb;# ]/ U k4 O3 E5 D8 U* y
% N2 j8 ^% Z$ E0 h! _# F1 e
}3 t& I" A1 v9 L0 k6 i7 I
2 c T( D3 N8 h) {1 M% ^$ F
2 S+ @8 b M2 E" i4 j% }, M0 [ |
|