标准MFC WinSock ActiveX控件开发实例
2009-05-04 20:06:26 来源:WEB开发网第二个参数,窗口句柄,我们传送了m_hWnd,这是因为MFC ActiveX也属于一个窗口,并且是可见的,因此可以成功。
编写WindowProc(),代码看起来如下:
LRESULT CMFCWinSockCtrl::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
switch(message)
{
case WM_MYWINSOCK://响应自定义的消息
switch(WSAGETSELECTEVENT(lParam))
{
case FD_READ://有新数据到达
FireRecvSockEvent();
break;
case FD_CLOSE://对方已断掉当前连接
FireCloseWinsock();
break;
}
break;
default:
break;
}
return COleControl::WindowProc(message, wParam, lParam);
}
本部分结束语:
好了,现在一个可以运行的控件已经完成,里面提供有Connect()和DisConnect()接口,和RecvSockEvent()及CloseWinsock()事件。以及WinSock的使用方法。
在下一部分(高级篇)将讲解两个重要接口SendData()和GetData(),下期内容如下:
long SendData(const VARIANT FAR& Data, const VARIANT FAR& DataType,const VARIANT FAR& DataLength, const VARIANT FAR& TimeOut)
long GetData(VARIANT FAR* Data, const VARIANT FAR& DataType, const VARIANT FAR& DataMaxLength, const VARIANT FAR& TimeOut)
VARIANT和SAFEARRAY的复杂用法。
控件开发出来后在VC和VB环境下的使用方法。
声明:
部分资料来源于网络,本文所用的所有源代码仅供非商业用途,并请保留原版权,否则后果自负!
欢迎大家拍砖,或指正不足的地方,一起探导更好的方法。
欢迎访问www.vcfans.cn,感谢您的支持!
更多精彩
赞助商链接