资源描述:
《深入浅出vc++串口编程之基于控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深入浅出VC++串口编程之基于控件·深入浅出VC++串口编程之基于控件源代码下载 MSComm控件 VisualC++为我们提供了一种好用的ActiveX控件MicrosoftCommunicationsControl(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算机串口收发数据。 要使用ActiveX控件MSComm,程序员必须将其添加入工程,其方法是: (1)单击主菜单project的子菜单AddToproject的ComponentsandControls选项; (2)在弹出的"C
2、omponentsandControlsGallery"对话框中选择RegisteredActiveXControls文件夹中的"MicrosoftCommunicationsControl,version6.0"选项,如下图: 单击其中的"Insert"按钮,MSComm控件就被增加到工程中了。与此同时,类CMSComm的相关文件mscomm.h和mscomm.cpp也一并被加入Project的HeaderFiles和SourceFiles中。当然,程序员可以自己修改文件名,如下图: 直接分析mscomm.h头文件就可以完备地获取这个控件的使用方法(主
3、要是public类型的接口函数),下面我们摘取了头文件的主要代码并对其关键部分给出了注释:#if!defined(AFX_MSCOMM_H__)#defineAFX_MSCOMM_H__#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000//MachinegeneratedIDispatchwrapperclass(es)createdbyMicrosoftVisualC++//NOTE:Donotmodifythecontentsofthisfile.Ifthisclassisregeneratedby//Mic
4、rosoftVisualC++,yourmodificationswillbeoverwritten.///////////////////////////////////////////////////////////////////////////////CMSCommwrapperclassclassCMSComm:publicCWnd{protected: DECLARE_DYNCREATE(CMSComm)public: CLSIDconst&GetClsid() { staticCLSIDconstclsid={0x648a5600,0x2c6
5、e,0x101b,{0x82,0xb6,0x0,0x0,0x0,0x0,0x0,0x14}}; returnclsid; } virtualBOOLCreate(LPCTSTRlpszClassName, LPCTSTRlpszWindowName,DWORDdwStyle, constRECT&rect, CWnd*pParentWnd,UINTnID, CCreateContext*pContext=NULL) {returnCreateControl(GetClsid(),lpszWindowName,dwStyle,rect,pPa
6、rentWnd,nID);} BOOLCreate(LPCTSTRlpszWindowName,DWORDdwStyle, constRECT&rect,CWnd*pParentWnd,UINTnID, CFile*pPersist=NULL,BOOLbStorage=FALSE, BSTRbstrLicKey=NULL) {returnCreateControl(GetClsid(),lpszWindowName,dwStyle,rect,pParentWnd,nID, pPersist,bStorage,bstrLicKey);} //A
7、ttributes public: //Operations public: voidSetCDHolding(BOOLbNewValue); BOOLGetCDHolding(); voidSetCommID(longnNewValue); longGetCommID(); voidSetCommPort(shortnNewValue); //设置端口号,如nNewValue=1表示COM1 shortGetCommPort(); voidSetCTSHolding(BOOLbNewValue); BOOLGetCTSHolding()
8、; voidSetDSRHolding(BOOLb