|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ w0 H9 U: M0 S# z6 p, E# V: O
2 i) U9 D) p# M3 T3 K. G- B' qCatia二次开发源码分享: 关于创建命令和菜单方法
+ ]. X0 s# P$ y# T' o1 N/ q3 W, h# L! K# g
" \+ ^ a, V: r% d. _; G, R& H/ y! A. G8 N: y- q
//Methods implementation
6 n6 p. j3 u; y2 G# l% K. g% P+ v# I* v m( I
void myAddin::CreateCommands(). L* S' }3 J: _' q& [: m6 g
{
' j% R6 Q9 G% ]4 G% y new ParTCmdHeader("CreatePoint","CmdModule","PointCmd",(void *)NULL);
& J' L& t* ~: f new PartCmdHeader("CreateLine","CmdModule","LineCmd",(void *)NULL);
/ @* }2 W% B& \! x$ N5 J* ` new PartCmdHeader("CreateDialogTest","CmdModule","DialogTestCmd",(void *)NULL);. h. N2 E' q: S2 p
}
2 P; f6 V7 y1 j" cCATCmdContainer * myAddin::CreateToolbars()1 D1 m$ g! b' P, ~6 u" ^: B1 i
{4 ^ {) D& S) o& J- v+ Q
/ }6 Y6 C* F3 i7 p; y( }
//设置工具条
' V* ?& O8 P; P/ @7 y8 v9 ]$ n0 c NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb);, L$ q4 d% ^8 e! S$ P1 {
AddToolbarView(pPartBenchTlb,1,Right);+ @* r# s% C. { K& q4 E/ Z
- X v. W( O; P& ?! v NewAccess(CATCmdStarter,pPointCmd,PointCmd);2 W. `" ^+ X, G2 s+ ~' f. e3 s N
SetAccessCommand(pPointCmd,"CreatePoint");
! i ~' R/ Z, ^3 |* _* L SetAccessChild(pPartBenchTlb,pPointCmd);/ F; ^4 S8 B4 z( r7 J* O, |
# Y# z* p! C( \& y1 w+ H
NewAccess(CATCmdStarter,pLineCmd,LineCmd);+ c" E* l7 H8 [1 }
SetAccessCommand(pLineCmd,"CreateLine");; p' X Q# I, B& f" e7 U1 o
SetAccessNext(pPointCmd,pLineCmd);
% i' p4 X# N! |1 [2 N9 G; ^
6 v* t. {9 Y f) W NewAccess(CATCmdStarter,pDialogTestCmd,DialogTestCmd);
. p# s2 C3 w( `9 T% C- b SetAccessCommand(pDialogTestCmd,"CreateDialogTest");% k. i. L% u$ m& f
SetAccessNext(pLineCmd,pDialogTestCmd); 7 N3 C8 J3 j. }$ K' |9 D! C
! I2 K, B; J& q& B+ D7 c: D 4 [( [9 o( n- x2 Y
//设置菜单3 t1 P1 V( n. y+ z- G
2 ]# t! }& v& E' ?) n3 j' L( c
NewAccess(CATCmdContainer,pPartBenchMun,PartBenchMun);" M& g; d1 f1 a' l2 J
NewAccess(CATCmdContainer,pPartBenchSmu,PartBenchSmu);
8 m0 H w# s0 P9 t1 W* A; { NewAccess(CATCmdStarter,pPointCmdm,PointCmdm);8 O- ^+ B" E% f S3 s- w
SetAccessCommand(pPointCmdm,"CreatePoint");
) J* `) O& e6 |8 f! W1 J/ f! @ NewAccess(CATCmdStarter,pLineCmdm,LineCmdm);
# Q% K! ^1 c4 m# o+ u SetAccessCommand(pLineCmdm,"CreateLine");
: X$ p2 z) E+ x, W- r NewAccess(CATCmdStarter,pDialogTestCmdm,DialogTestCmdm);
M! d0 D3 h# y4 ^9 x# n SetAccessCommand(pDialogTestCmdm,"CreateDialogTest");. ~- Q: E* O" H1 B9 @+ m
S, w% D2 _6 P SetAccessChild(pPartBenchMun,pPartBenchSmu);
) a' N0 z# d1 `/ G; G& ^ SetAccessChild(pPartBenchSmu,pPointCmdm);; {2 ~# G$ Z1 J+ j) ^" N8 n( d
SetAccessNext(pPointCmdm,pLineCmdm); 5 E$ Z; r. w9 g1 _) o' I
SetAccessNext(pLineCmdm,pDialogTestCmdm);
& w& u" n7 ~4 A7 I3 D' k$ d, {* z! ^
SetAddinMenu(pPartBenchTlb,pPartBenchMun);8 t4 a4 w9 E/ p
" ?& o5 ^! W( S8 K
7 v, ?% t5 ]# _1 f' o6 h" I
9 i3 `* e" ?1 i" J. g return pPartBenchTlb;
' C k3 I( ^' E, C# A' x+ H
D% Y" E$ q1 F8 J0 O}! E5 j, k/ S: g" W
3 M- q$ G5 l G: s" m6 M
4 u% C' G- q1 k r
|
|