|
solidworks中动态创建树控件问题
www.dimcax.com
我写了一段代码想动态创建树控件,但是运行到 root=ptreectrl.insertitem(_t("station 1"))时出现assertion failed错误afxcmn.inl line:242 assert(iswindow(m_wnd)),请帮忙看看,如何解决。# v8 ~* g( @6 f% i u, n
+ i4 h4 o8 r+ s 谢谢了。
* \- u4 u! z, i6 n+ h b- g4 y* k
ccombstr imagefile;. \6 y v: v \0 o$ d! s
ccomptr<imodelviewmanager> imodelviewmgr;4 w7 b( m. g; f1 a+ h5 m
ccomptr<imodeldoc2> imodeldoc;
9 b8 f* t% j! d+ w2 x x ccomptr<ifeatmgrview> ifeatmgrview;, l) [+ i7 ~( ^! r7 |" q2 ~
ccomptr<iunknown> iunknown;/ {% w9 r" s( v/ g/ ^0 l7 i3 q
hresult hr;# w7 u! \, ?/ t* e. ]
htreeitem root; + h6 d& ^, v. f/ |5 s
long panetype;. g) v6 u& @/ ]8 k
ctreeview* ptreeview;
5 x* d# w0 z8 v1 c# z) v lprect lprect=null;
9 \! l' b9 ^( q6 o3 l' n7 @ u variant_bool bret;. q( y* b- ?: r* }! e( p! o( a8 j
2 p& r2 w9 z; m' b/ b2 o5 r hr=iswapp->get_iactivedoc2(&imodeldoc);
2 l* r n8 f* y u. h" r hr=imodeldoc->get_modelviewmanager(&imodelviewmgr);3 s/ e/ |" f6 a0 x
8 a& `" m) o0 [) u hr=ibmp->createbitmapfilefromresource(idb_bitmap6,&imagefile);* k4 d1 s, }* s( o: i5 c5 c4 a
6 q6 @! t# }4 a1 k; p# ^; m hr=imodelviewmgr->createfeaturemgrcontrol2(imagefile,_t("mscomctllib.treectrl"),_t(""),_t(""),swfeatmgrpanetop,&ifeatmgrview);
$ o; a# m% v' a6 e+ h5 }- h
$ h) |0 i! x- t( g# p! w
* x/ s8 q$ f5 w2 d! \; p hr=ifeatmgrview->igetcontrol(&iunknown);. x; w6 u" w% |3 x
/ g6 h! {" ]/ y. z8 c
hr=iunknown->queryinterface(iid_iolecontrol,(void**)&ptreeview);
' x- {( f$ }- p! r4 o5 g$ x ctreectrl& ptreectrl = ptreeview->gettreectrl();
, s, e! q, h' v: x. o' l+ s6 y" c' b |7 i, i+ z
' s. v3 i% q3 ^, s3 | root=ptreectrl.insertitem(_t("station 1"));7 {# p9 z g5 ?
hr=imodeldoc->put_featuremanagersplitterposition(0);, g% w3 ]- h% y& e
hr=ifeatmgrview->activateview(&panetype); |
|