用vc开发基于mfc的activex控件时,怎么样再使用一个别的activex控件,比如mscomm控件

newspoint 2002-10-09 09:56:33
用vc开发基于mfc的activex控件时,怎么样再使用一个别的activex控件,比如mscomm控件
...全文
52 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
newspoint 2002-10-12
  • 打赏
  • 举报
回复
我找到方法了,在控件的InitInstance()中调用AfxEnableControlContainer();可以象平常的对话框一样把activex控件加进工程,在控件类中添加一个该类型的变量,可以用CreateControl (
strControlProgid,
"",
WS_VISIBLE,
rc,
this,
IDC_MSCOMM1,
NULL,
FALSE,
NULL);
来创建activex控件,其中strControlProgid为该控件的Progid,要处理该控件的消息,象在对话框中一样,在头文件中添加DECLARE_EVENTSINK_MAP()宏定义,在实现文件中添加
BEGIN_EVENTSINK_MAP(CMASCCtrl, COleControl)
//{{AFX_EVENTSINK_MAP(CMascdriverDlg)
ON_EVENT(CMASCCtrl, IDC_MSCOMM1, 1 /* OnComm */, OnComm, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
即可,OnComm即是你的消息处理函数。
newspoint 2002-10-11
  • 打赏
  • 举报
回复
我对atl不熟悉,况且,就算按照com的方法来创建了comm控件,可怎么来响应它的数据到达事件呢?

上边哥们说,加Afx...Container()就解决了,能详细说说是如何做的吗?
jeffzhang 2002-10-10
  • 打赏
  • 举报
回复
我说说我的问题
我使用一个gis功能的activex,我要做一个空间聚类,要用那个activex的一些东西,我想把这个聚类的东西也作为一个activex发布,不管包含还是聚合都可以了,我在我的那个activex中创建那个gis控件时总是非法操作,看了看是好像是容器的问题,也不清楚了
xuefl 2002-10-10
  • 打赏
  • 举报
回复
关注中
masterz 2002-10-10
  • 打赏
  • 举报
回复
add ATL support to your MFC project
http://www.codeguru.com/atl/mfcatl.shtml
then you create mscomm control by ATL, refer to the following technic of creating mswinsck.ocx control
#import "c:\winnt\system32\mswinsck.ocx" no_namespace
...
IMSWinsockControlPtr pWinsock;
_bstr_t pstr("mswinsock.winsock");
CLSID clsidwinsock;
CLSIDFromProgID(pstr,&clsidwinsock);
pWinsock.CreateInstance(clsidwinsock);
if(pWinsock)
{
pWinsock->RemotePort=13;
pWinsock->RemoteHost=_bstr_t("time-a.nist.gov");
_variant_t varoptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
HRESULT hr= pWinsock->Connect();
if(FAILED(hr))
MessageBox(NULL,"failed","failed",MB_OK);
......

pWinsock->Close();
}
else
MessageBox(NULL,"can not create winsock","error",MB_OK);

jeffzhang 2002-10-10
  • 打赏
  • 举报
回复
我就是来查这个问题了,哪位高手给个提示了
jeffzhang 2002-10-10
  • 打赏
  • 举报
回复
我的问题解决了,我没有把它作为容器,在InitInstance()中加一句:AfxEnableControlContainer();就可以了。。。
你那个问题看看能不能解决
skqgd 2002-10-09
  • 打赏
  • 举报
回复
gz,我也想知道

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧