VC中基于文档(SDI/MDI)程序中能直接用串口MSComm通讯控件吗? (转)

VC中基于文档(SDI/MDI)程序中能直接用串口MSComm通讯控件吗? (转)[@more@]

 

1165983683000.gif

VC中基于文档(SDI/MDI)程序中能直接用串口MSCOmm通讯控件吗?

◆龚建伟技术主页◆ 龚建伟 熊光明

1165983683000.gif

 


  读了我写的串口调试助手源程序(MScomm控件)及详细编程过程,有不少网友问到在VC中基于文档(SDI/MDI)程序中能不能直接用MSComm通讯控件。答案是NO!

  MScomm控件(几乎是所有的控件)都必须有一个可以寄身的对话框。必须从工具栏中把控件图标拖入对话框中,如图所示。

1165983683000.jpg


对话框工具栏上的图标是不能拖到视(VIEW)中去的,它的寄生所在就是对话框,因此MSComm是离不开对话框的。也有人说过变通的方法,如做一个隐藏的对话框,即不让对话框显示,只用oncomm串口事件处理函数,除非经过特殊处理,否则是行不通的。下面是一位网友的出错经历:

  我做了个串口通信的程序(SDI),在工程中插入ms communications control,version 6.0,但用其方法时出现assert failure,用debug,问题好像是m_pCtrlSite=FALSE,我是在CMyView中加入public:CMSComm m_ComPort,再在消息映射中initialising com,但一调用方法,就出错。

  那么,如何在SDI/MDI中应用串口通讯呢?

  一种方法自己用api或者用一些较为成熟的类如CSerialPort类等。

  如果执意要用MSComm通讯控件,则必须在VIEW中的oncreate()函数中加上一些特殊的处理,将对话框程序中的自动初始化控件自已来做一个初始化,具体程序我将尽快放在我的主页上。 

  还有,应该注意的是:如果一个视类派生自CFormViewo类,它还是可以用那个控件的,因为这个类具有许多无模式对话框的特点。另外还有一个类,数据库中CRecordView类也依赖于特定的对话框模板资源,是基于MDI的,也可以用MSCOMM控件。详细说明请参阅:VC中OdbC数据库技术应用源程序详解之二。


◆龚建伟技术主页◆

串口通迅(编程源码)、串口调试助手、端口网络通信技术,VC/C编程,移动机器人控制相关技术,Matlab仿真及数据处理 


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-998629/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-998629/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值