佚名通过本文主要向大家介绍了
在COM中,如何传递一个CDC的指针?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在COM中,如何传递一个CDC的指针?
描述:
解决方案1:
描述:
对于一个进程内com对象,如何传递一个CDC的指针给COM对象?可以实现吗?
解决方案1:
我们可以建一个对话框的EXE工程,完成对COM的调用。
首先要取得COM重接口的头文件和实现文件(还用一种是import *.tlb导入类型库)
我们就可以用COM中的接口了。
如果在COM中这样定义了一个接口interface IShow:public IUnknown
{
LRESULT ShowText(HDC hdc,LPCSTR pstr);
}
在EXE中的调用为
HDC hdc=GetDC(NULL);
IShow *pShow=NULL;
HRESULT hr=CoCreateInstance(CLSID_XXXX,NULL,CLSCTX_INPROC_SERVER,IID_IShow,(void**)&pShow);//相关参数请看后面的VCKBASE的介绍
if(FAILED(hr))
{
return 0;
}
pShow->ShowText(hdc,"this is a test");
参考:
http://www.vckbase.com/document/listdoc.asp?mclsid=17&sclsid=1701