1 、Windows API通信函数方法 。与通信有关的Windows API函数共有26个,但主要有关的有: CreateFile() 用 “comn”(n为串口号)作为文件名就可以打开串口。 ReadFile() 读串口。
2、WriteFile() 写串口。 CloseHandle() 关闭串口句柄。初始化时应注意CreateFile()函数中串口共享方式应设为0,串口为不可共享设备,其它与一般文件读写类似。以下给出API实现的源代码。
3、利用端口函数直接 *** 作 。这种方式主要是采用两个端口函数_inp(), _outp()实现对串口的读写,其中读端口函数的原型为: int _inp(unsigned shot port) 。该函数从端口读取一个字节,端口号为0~65535。 写端口的函数原型为: nt _outp(unsigned shot port, int databyte) 。
4、 MSComm控件 。MSComm控件是微软开发的专用通信控件,封装了串口的所有功能,使用很方便,但在实际应用中要小心对其属性进行配置。下面详细说明该类应用方法。
串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。
在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。
应用程序要使用串口进行通信,必须在使用之前向 *** 作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
用的控件是:trayicon具体用法如下:
在
borland
c++
builder
5.0
中编写tray程序是件很简单的事。在安装
borland
c++
builder
5.0
时选择full(完全)安装,安装完成后,在samples组件页中有一个trayicon组件,它封装编写tary所需的window
api函数,使用该组件编写tary程序不用加一句程序代码,真是易如反掌。
首先,我们先看一下trayicon组件常用的属性:
属性说明
animate设为true时,顺序更改icons属性设置的图标
animateinterva设置更改图标的时间(单位:毫秒)
hide设为true时,最小化时隐藏在任务栏上的标题栏
hint设置鼠标移动到tary图标上出现的提示信息
iconindex设置图标索引值
icons设置图标源(通常设置一个imagelist组件)
popupmenu设置要d出的菜单(通常设置一个popupmenu组件)
popupmenuon设置触发d出菜单的鼠标 *** 作
restoreon设置恢复最小化到正常状态的鼠标 *** 作
visible设为true时,在任务栏最右边显示图标
鼠标 *** 作说明:
值说明
imclick鼠标单击
imdoubleclick鼠标双击
imleftclickup单击鼠标左键,放开
imleftdoubleclick双击鼠标左键
immousedown按下鼠标键
immouseup按下鼠标键,放开
imnone不设置鼠标 *** 作
imrightclickup单击鼠标右键,放开
imrightdoubleclick双击鼠标右键
下面让我们来编一个简单的tary程序:
1、新建工程,添加一个trayicon组件、一个popupmenu组件和一个imagelist组件。它们的name属性
都用默认的名字:trayicon1、popupmenu1、imagelist1。
2、设置trayicon1的属性,如下:
属性值
linux
animate
true
animateinterva
1000
hide
true
hint
tary演示程序
iconindex
0
icons
imagelist1
name
trayicon1
popupmenu
popupmenu1
popupmenuon
imrightclickup
restoreon
imdoubleclick
visible
true
3、双击popupmenu1,d出菜单设计器,随意地加入几个菜单项。
4、双击imagelist1,加入支持的图片(*.ico、*.bmp)。
到此,不用编写一句程序代码,一个简单的tary程序就做好了。按f9编译运行,将鼠标移动到tary上面就会出现“tary演示程序”的提示信息;在tary上单击鼠标右键d出菜单popmenu1;按下程序窗口的最小化按钮,程序最小化后隐藏任务栏上的标题栏;双击tary将会恢复程序最小化;而且,tary图标以1000毫秒(1秒)的速度变换。够简单了吧?!
taryicon组件的演示源程序在
borland
c++
builder
5.0
安装目录下的\cbuilder5\examples\apps\trayicon。若你不想使用taryicon组件编写tary,只想使用api函数,可以参考安装目录\cbuilder5\examples\controls\traydemo下的源程序
注意以下几点:
1、这个控件的托盘图标要使用到timagelist控件,请设置其icons属性和对应的timagelist关联就可以
了,如果图标要变化,timagelist中要有多个图标,用trayicon控件的iconindex的值的改变来改变托
盘图标。
2、最小化和隐窗体应该用:
trayiconme->minimize()来实现
还原窗体用:trayiconme->restore()。
3、至于菜单的d出就在窗体上加一个popupmenu控件就可以了,popupmenu的设定和一般的设定没有什
么不同。然后把trayicon控件的popupmenu属性和popupmenu控件关联起来就可以了。当然,别忘了
设定一个popupmenuon属性,决定这个菜单的鼠标触发方式。
4、当鼠标指向托盘时,显出的字是trayicon的hint属性来设定的
MSCOMM控件需要手动添加的。单击主菜单project的子菜单Add To project的Components and Controls选项,在d出的"Components and Controls Gallery"对话框中选择Registered ActiveX Controls文件夹中的"Microsoft Communications Control,version 6.0"选项,单击其中的"Insert"按钮,MSComm控件就被增加到工程中了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)