iCAx开思工具箱
标题:
如何在CATIDrawing里实现对SHEET里全部内容得COPY?
[打印本页]
作者:
zcsq
时间:
2005-9-4 12:22
标题:
如何在CATIDrawing里实现对SHEET里全部内容得COPY?
想通过COPY/PASTE命令实现拷贝SHEET里的所有内容粘贴到另一SHEET里,包括BackgroundView和MainView,不知COPYPASTE()能否实现,各位有做过得码?给点意见亦可。3X
本人尝试着做了一下,可一直未行通。
作者:
zcsq
时间:
2005-9-4 22:57
各位高手请给点意见呀,谢谢!
作者:
HNBoTree
时间:
2005-9-6 10:16
我现在也在做二维的,这方面急需帮助,先顶一下。
作者:
zcsq
时间:
2005-9-6 11:19
楼上得有没联系方式,交流一下呀!我得QQ10860995
作者:
acoka
时间:
2005-9-6 13:16
可以用Ctrl-c, v复制,
所以应该可以用CATICutAndPastable
作者:
zcsq
时间:
2005-9-7 18:14
acoka兄好,CATICutAndPastable应该是可以用的。下面是我做的部分程序,现在可以获取一个SHEET里的所有VIEW,但是在使用paste()命令后,ListOfVarBaseUnknown 类型便领listPastedObjects.Size()却为0,不知为什么?
请各位高手继续指点一、二。
多谢!
CATIdent idAppliCont2 = "CATFeatCont";
CATUnicodeString targetAppliContId ("CAAOsmTargetContainer");
CATBaseUnknown *pTargetContainer = NULL;
rc=
ATCreateApplicativeContainer(&pTargetContainer,
pDocDrawing,
dAppliCont2,
IID_CATIContainer,
"",
targetAppliContId);
if (SUCCEEDED(rc)) cout << "Target applicative container created OK" << endl << flush;
else
{
cout << "ERROR in creating target applicative container" << endl << flush;
return 4;
}
if(pTargetContainer!=NULL)cout<<"pTargetContainer!=0"<<endl;
//create object to copy.........................
CATLISTV(CATISpecObject_var) oElems= spSheet1->GetViewList();
cout<<" the objects to copy's number is " <<oElems.Size()<<endl;
ListOfVarBaseUnknown listToPaste;
if(oElems.Size())
{
for (int i=1; i<=oElems.Size(); i++)
{
listToPaste.Append(oElems
);
}
}
cout<<" listToPaste 's number is " <<listToPaste.Size()<<endl;
CATICutAndPastable *piCutAndPastableOnTargetCont = NULL;
rc = pTargetContainer -> QueryInterface(IID_CATICutAndPastable,
(void**) [$piCutAndPastableOnTargetCont)]
pTargetContainer -> Release();
pTargetContainer = NULL;
if(FAILED(rc))
{
cout<<"queryinterface CATICutAndPastable ERROR!"<<endl;
// pSourceContainer -> Release();
return 3;
}
if(SUCCEEDED(rc)&&piCutAndPastableOnTargetCont != NULL)
cout<<"queryinterface CATICutAndPastable OK!"<<endl;
// Paste the requested objects in the target container.
ListOfVarBaseUnknown listPastedObjects=NULL;
listPastedObjects= piCutAndPastableOnTargetCont->
aste(listToPaste, NULL,NULL);
cout<<"listPastedObjects number is:"<<listPastedObjects.Size()<<endl;
作者:
acoka
时间:
2005-9-7 20:03
你是要把一个view拷到另一个sheet里去?
你可以试试看是不是该换个pTargetContainer
作者:
zcsq
时间:
2005-9-8 09:12
Q:你是要把一个view拷到另一个sheet里去?
A:是的
QQ:你可以试试看是不是该换个pTargetContainer
应该是要改换pTargetContainer,ke 但不知道如何入手去改。
ATCreateApplicativeContainer(&pTargetContainer,
pDocDrawing,
dAppliCont2,
IID_CATIContainer,
"",
targetAppliContId);
几个参数中,不知如何设置param2,3,4,才合适。
多谢acoka!
作者:
zcsq
时间:
2005-9-9 16:55
请各位继续指点呀,多谢了!
作者:
hick
时间:
2005-9-13 08:54
仔细看看 CATICutAndPastable 的用法
作者:
zcsq
时间:
2005-9-14 14:37
标题:
可以拷贝了,但只适合自己画的图,如果
可以拷贝了,但只适合自己画的图,如果是交互由3维到2维的图,却拷不了,维什么?哪位能帮帮我呀?
谢谢!
作者:
zcsq
时间:
2005-9-14 14:45
标题:
可以拷贝了,但只适合自己画的图,如果
可以拷贝了,但只适合自己画的图,如果是交互由3维到2维的图,却拷不了,维什么?哪位能帮帮我呀?
谢谢!
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3