My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 文档/视/框架
VC中基于文档(SDI/MDI)程序中能直接用串口MSComm通讯控件吗?
作者:roaringwind 时间:2001-10-08 10:08 出处:互联网 责编:MyFAQ
              摘要:VC中基于文档(SDI/MDI)程序中能直接用串口MSComm通讯控件吗?

 

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

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

 


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

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


对话框工具栏上的图标是不能拖到视(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仿真及数据处理  


 
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有