|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
CATIA二次开发入门教程28-PLM之家注册系统学习开发之MultiList
3 u; N1 T- }, r9 X% F1 W此控件的功能是将前面的信息通过列表的形式展示出来,最重要的是对信息的判断的同时,对删除和导出button的可用性进行处理,点击添加信息按钮,结果如下,如果发现重名或者信息不符合会进行报错!
, |* G& j6 [5 J: p l7 v; A- M+ n5 [3 U4 n+ r
( C& J% K" E; N, q9 T
1 R6 |5 |( ]- i. H- r4 s6 o8 ]7 o4 l4 f
[mw_shl_code=c,true]//-------------------------------------------------------------------------/ k; Z3 ` o) }4 h0 @
void PLMHomeRegeditFunctionCmdDlg::OnPushButtonAddInfoPushBActivateNotification(CATCommand* cmd, CATNotification* evt, CATCommandClientData data)
/ i2 p1 @' j# n" K4 {{
, `6 d4 N$ ?/ a( V) W; L9 O0 V) | //Add information + X! T2 ~% ~1 Y% F1 H& I5 N8 ?
2 D7 n- w6 u' U3 m0 a. I
CATUnicodeString oCellContents[25];. T0 B5 c1 f n$ V( q
////////////////判断是否所有的信息都填写
, v3 T+ m( s" N8 K& R4 n* c8 ^ if(_EditorName->GetText()=="")8 R# D: b- f. s9 W8 m
{# A, P" M+ H1 Z! a# X
PrintMessage("请完善用户名信息!");
9 v8 [% R1 {$ m2 G return;$ s9 e$ C; P* x* K/ C; N
}
5 {2 I3 U' G# P$ J" y if(_RadioButtonMale->GetState()!=CATDlgCheck && _RadioButtonFemale->GetState()!=CATDlgCheck)* `: v- G& Q I
{
* K* T. q! }5 u9 h6 f7 B PrintMessage("请完善性别信息!");
0 t2 }3 f0 {: B2 i6 |3 y- w return;1 E9 ?" a& K9 _+ n* q+ D% \/ X6 y8 o
}1 Q( d3 H5 a0 |* _1 [0 w
if(_CheckButtonCAA->GetState() != CATDlgCheck && _CheckButtonNXOpen ->GetState()!= CATDlgCheck && _CheckButtonTC->GetState()!=CATDlgCheck)1 s" b% t% ?3 f7 Q' m
{# H! ~1 U$ q5 ~5 {" b% u1 b4 v2 S
1 p* ?. y2 d b2 h PrintMessage("请完善科目信息!");" B! @ G5 {" [+ C
return;
, p# ~- U! ?& y Y# C( `" V$ @ }
. l, L; h# Z' y6 U9 d if( _EditorTel->GetText().GetLengthInChar() != 11)
, S' V, t% V4 p. q+ X/ L {9 j6 K" s1 [1 e! C; W6 S! J9 R4 u
f" h$ z6 r* p C8 K' K PrintMessage("请完善电话信息!");
S$ {1 i u6 y/ j C return;
" i$ S" D5 }4 W7 {& Z }
5 h F" o( N3 G+ f6 q5 T9 a& x& L n //////////////判断是否有相同的名字已经添加在MultList中
, `3 ?* P# ^0 L/ y. _* e bool isIn = false;
9 [) C0 I5 k7 o8 O- d for(int i=0;i<_MultiListInfor->GetLineCount();i++)6 H: u# t7 t. ?7 ]' S% N
{ ! `$ k; V- j* H/ [+ @
_MultiListInfor->GetColumnItem(0, oCellContents,i);
) Z/ z* S5 T7 v* ~ if(oCellContents==_EditorName->GetText())
* I- a K/ d8 O; H {
3 i6 F, o& s9 O0 H4 ]$ h PrintMessage("同名存在,请重新输入!");
I- F+ w( f7 F2 M2 i isIn = true;: q$ k+ S C7 U; [
break;
. \' p3 G, l+ U5 O# d8 ?2 b }
* T2 x- ~3 L3 S! r9 k) ^5 x }% c( o+ B6 D6 r; T. c0 K1 P
7 \- n5 n8 ^8 B ?4 O
if (isIn)1 v" I- K/ e: I4 G& t/ K6 C
{
& M0 t4 J, `9 c! [" c" ] N return;
" R, o2 D; D0 V1 Z# c% d }+ P# U+ ]' U4 {; d
else 3 f2 [8 i4 A! v3 E _. i! N* E+ G, F* M
{5 Z% _% y% C+ E3 ]! E
///////////将收集到要添加的信息放在ColumnTitles[6]中,. u7 y! f) h {2 f; o, D: v
CATUnicodeString ColumnTitles[6];5 Y# N/ K. ` h2 c
//收集姓名信息
/ t, a2 R* s: ?+ z0 G9 j- K7 F ColumnTitles[0]=_EditorName->GetText();
7 n7 P5 Z/ u* n# I //收集性别信息% H; \5 U' F d0 e/ E
if(_RadioButtonMale->GetState()==CATDlgCheck) //收集性别信息$ V3 O. h* `; E
ColumnTitles[1]="男"; Y/ l v# @9 p8 E+ s& k. y2 ^
else if(_RadioButtonFemale->GetState()==CATDlgCheck) b6 ?) x; ?( a# |, q5 \8 P" {9 k6 n
ColumnTitles[1]="女";
5 X. N( w2 b( @) V$ j //获取年龄
1 x+ b j9 H ]; s# F @ CATUnicodeString iAgeText;
: C6 C5 ~2 n2 r) `& U) S6 v7 K8 d _ComboAge->GetLine(iAgeText,_ComboAge->GetSelect());
- j, p. t) ]4 T/ o9 d& | ColumnTitles[2] =iAgeText;! Y- s0 O- p# D2 v; B7 C3 `
//获取电话& m' T1 I* D% x. _
ColumnTitles[3] = _EditorTel->GetText(); h6 K, n8 r* T) C+ F O0 w2 i
//获取时长
3 ]5 y# b0 L7 U char msg[256];- z. P' ^* {- g' F5 l
int tempInt = (int)(_SpinnerTime->GetCurrentValue());
, Y+ H- q$ w$ V' m+ I9 i9 k4 h itoa(tempInt,msg,10);0 m5 A- I. i! K
CATUnicodeString iTimeText = CATUnicodeString(msg);
8 x4 W u* K9 e- ^$ u ColumnTitles[4] = iTimeText;/ a" s( v2 s. M* J" O5 J
//收集学科信息5 {6 D0 j- {) f9 X1 w. B- O
CATUnicodeString iText;
8 X2 ~) ^. T$ _8 e7 P& E" p b if (_CheckButtonCAA->GetState() == CATDlgCheck)
; |8 L+ R. |& p- \+ Q {% o1 d7 i) }8 k- H3 m
iText += _CheckButtonCAA->GetTitle();
5 h- }+ N, B5 ?! p( B }! A) h, s. N) \4 D
5 D/ p2 I$ \0 A. F7 I9 N0 Q
if (_CheckButtonNXOpen->GetState() == CATDlgCheck)0 y+ V! ^. G( X4 R7 s
{+ b5 r% w9 x- t# F+ Y9 J. w
iText += _CheckButtonNXOpen->GetTitle();
6 f( m* o- f5 [ }
6 W7 E4 c8 I* t# s8 t4 Z" D
0 [* e/ c* M2 ^' @" c if (_CheckButtonTC->GetState() == CATDlgCheck)
/ ~4 `$ y1 v: c( }( M {( L* W' k" i, S- V- Y* u% T
iText += _CheckButtonTC->GetTitle();; V+ C2 D/ U+ \+ R9 r: k
} V' O, g+ M# y. y9 @' o, _* \' y
9 k' D, E& a4 }1 @6 }- q
" R4 ]& M/ u( Q, v( Q O ColumnTitles[5] = iText;; B5 u; R+ M$ k1 _- [
t1 n6 y/ N8 H5 @+ J0 r- { ///////////在MultiLIst中添加信息用到的函数是SetColumnItems
, {( Z) I* E% h* s _MultiListInfor ->SetColumnItems(0,&ColumnTitles[0],1,-1,CATDlgDataAdd);$ O, }+ {. u" o
_MultiListInfor ->SetColumnItems(1,&ColumnTitles[1],1,-1,CATDlgDataAdd);, W' A8 o, H; ^0 x6 r6 d
_MultiListInfor ->SetColumnItems(2,&ColumnTitles[2],1,-1,CATDlgDataAdd);" C; Y' c9 x! t
_MultiListInfor ->SetColumnItems(3,&ColumnTitles[3],1,-1,CATDlgDataAdd);' Y( D7 o# n7 j9 X; k. y8 y9 c' E6 ]
_MultiListInfor ->SetColumnItems(4,&ColumnTitles[4],1,-1,CATDlgDataAdd);" n' Y; P) h1 s' H7 C3 s x
_MultiListInfor ->SetColumnItems(5,&ColumnTitles[5],1,-1,CATDlgDataAdd);
5 D' o' q# e2 B4 P5 v* s. }$ b# g( T2 R _8 r A; L3 n
_PushButtonDelete->SetSensitivity(CATDlgEnable);1 G: w, _5 q Q. y+ M$ O; T7 D
_PushButtonExport->SetSensitivity(CATDlgEnable);
! ~2 O# h+ B1 {; w$ M6 ]6 } }
* ]; |* V; e u! n4 }( o}
% {) P) J4 _) ]7 I ^- b/ y[/mw_shl_code]6 P+ v# N' ?6 v5 g
|
|