mscomm32控件使用

mscomm32控件使用
mscomm32控件使用

本文给出一个在PB6中如何采集串行口数据的实例及MSCOMM32.OCX 控件的一些基本知识。

若未授权,

[HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-

8ADB-00AA00C00905]

@ = "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"

若未注册,确定system32\mscomm32.ocx存在,

Regsvr32 mscomm32.ocx

一:问题描述

本文解决的是采集磅房的磅值读取问题。磅秤和计算机(COM1/COM2)之间使用RS-232标准串行线相连。波特率为1200,数据格式如下:每100ms发送一组数据,每组数据有5帧,每帧11位,1位起始位(0),8位数据位(D0-D7),2位停止位(1),无奇偶校验.定义如下:

第1帧:D0—D7 ----0FFH(起始位)

第2帧:D0—D2 ----为小数点位置(0-5)

D3 -----NC

D4 -----1表示称重稳定 0表示称重未稳定

D5 -----1表示称重为负 0表示称重为正

D6 -----NC

D7 -----1表示超载

第3帧:D0—D7 ----BCD1(称重值)

第4帧:D0—D7 ----BCD2(称重值)

第5帧:D0—D7 ----BCD3(称重值)

BCD1,BCD2,BCD3为由低到高的称重值的BCD码。

二:解决方案

使用VB中的MSCOMM32.OCX控件,先在PB中的OLE的insert control中注册该控件,如果注册完毕后使用时提示没有license ,则是没有注册码问题,网上提供了好多这方面的解决方法,但试过后都没能解决问题,我的解决方法是装VB,安装VB时一定要选择安装activeX。转完vb肯定能解决问题。

在窗口上添加该控件,名称为ole_1。在窗口的open事件里设置ole_1的属性。

ole_https://www.360docs.net/doc/b713237268.html,mport=1

ole_1.object.settings="1200,n,8,1"

ole_1.object.portopen=true

ole_1.object.rthreshold= 10 //每次取10个字节,在10个字节中肯定包含一个完整//(5个字节)的磅值数据

ole_1.object.inputlen=1

ole_1.object.inputmode=0

各属性的意义在下面有详细的解释。

在ole_1控件的oncomm事件里添加如下代码

choose case ole_https://www.360docs.net/doc/b713237268.html,mevent

case 2

ole_1.object.Rthreshold=0

string ls_t

int ii

int w1,w2,w3,flag1,flag2

for ii=1 to 10

ls_t = ole_1.object.input

flag1 = asc(ls_t) //取字节的数值

if flag1 = 255 then //判断是否为起始位 ls_t = ole_1.object.input

flag2 = asc(ls_t)

if flag2 = 8 then //判断数值是否正确 //读取BCD1, BCD2,BCD3的值

w1 = asc(ole_1.object.input)

w2 = asc(ole_1.object.input)

w3 = asc(ole_1.object.input)

end if

end if

next

//将BCD码转换为十进制数值

w1 = w1 - 6*int(w1/16)

w2 = w2 - 6*int(w2/16)

w3 = w3 - 6*int(w3/16)

//按高低位计算

st_1.text=string(w1 + w2*100+w3*10000) //在次读取10个数值,触发oncomm事件 ole_1.object.Rthreshold=10

case 1006

st_1.text="over run"

case 8020

st_2.text="read comm device error" case 1001

st_1.text="break signal received"

case else

st_1.text=string(ole_1.object.input) return

end choose

三 MSCOMM32控件的基本属性

MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Event-driven)方法,一是查询法。

1.MSComm控件两种处理通讯的方式

MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。

1.1 事件驱动方式

事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用MSComm 控件的OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅CommEvent 属性。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件。

1.2 查询方式

查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查CommEvent 属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器

的“确定”响应。

2.MSComm 控件的常用属性

MSComm 控件有很多重要的属性,但首先必须熟悉几个属性。CommPort 设置并返回通讯端口号。

Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。

PortOpen 设置并返回通讯端口的状态。也可以打开和关闭端口。

Input 从接收缓冲区返回和删除字符。

Output 向传输缓冲区写一个字符串。

下面分别描述:

CommPort属性设置并返回通讯端口号。

语法 https://www.360docs.net/doc/b713237268.html,mPort[value ] (value 一整型值,说明端口号。)

说明在设计时,value 可以设置成从 1 到 16 的任何数(缺省值为 1)。但是如果用PortOpen 属性打开一个并不存在的端口时,MSComm 控件会产生错误 68(设备无效)。

注意:必须在打开端口之前设置 CommPort 属性。

RThreshold 属性:在MSComm 控件设置CommEvent 属性为comEvReceive 并产生 OnComm 之前,设置并返回的要接收的字符数。语法object.Rthreshold [ = value ](value 整型表达式,说明在产生OnComm 事件之前要接收的字符数。)

说明当接收字符后,若Rthreshold 属性设置为0(缺省值)则不产生OnComm 事件。例如,设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件。

CTSHolding 属性:确定是否可通过查询Clear To Send (CTS) 线的状态发送数据。Clear To Send 是调制解调器发送到相联计算机的信号,指示传输可以进行。该属性在设计时无效,在运行时为只读。

语法: object.CTSHolding(Boolean)

Mscomm 控件的 CTSHolding 属性设置值:

True Clear To Send 线为高电平。

False Clear To Send 线为低电平。

说明:如果Clear To Send 线为低电平(CTSHolding = False) 并且超时时,MSComm 控件设置 CommEvent 属性为 comEventCTSTO (Clear To Send Timeout) 并产生 OnComm 事件。

Clear To Send 线用于 RTS/CTS (Request To Send/Clear To Send) 硬件握手。如果需要确定 Clear To Send 线的状态,CTSHolding 属性给出一种手工查询的方法。

详细信息有关握手协议,请参阅 Handshaking 属性。

SThreshold 属性:MSComm 控件设置CommEvent 属性为comEvSend 并产生OnComm 事件之前,设置并返回传输缓冲区中允许的最小字符数。

语法 object.SThreshold [ = value ]

value 整形表达式,代表在 OnComm 事件产生之前在传输缓冲区中的最小字符数。

说明:若设置Sthreshold 属性为0(缺省值),数据传输事件不会产生OnComm 事件。若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 事件。如果在传输缓冲区中的字符数小于value,CommEvent 属性设置为comEvSend,并产生OnComm 事件。comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。例如,如果Sthreshold 等于5,仅当在输出队列中字符数从 5 降到 4 时,comEvSend 才发生。如果在输出队列中从没有比 Sthreshold 多的字符,comEvSend 事件将绝不会发生。

Handshake 常数

常数值描述

comNone 0 无握手。

comXonXoff 1 XOn/Xoff 握手。

comRTS 2 Request-to-send/clear-to-send 握手。

comRTSXOnXOff 3 Request-to-send 和 clear-to-send 握手皆可。

OnComm 常数

常数值描述

comEvSend 1 发送事件。

comEvReceive 2 接收事件。

comEvCTS 3 clear-to-send 线变化。

comEvDSR 4 data-set ready 线变化。

comEvCD 5 carrier detect 线变化。

comEvRing 6 振铃检测。

comEvEOF 7 文件结束。

Error 常数

常数值描述

comEventBreak 1001 接收到中断信号

comEventCTSTO 1002 Clear-to-send 超时

comEventDSRTO 1003 Data-set ready 超时

comEventFrame 1004 帧错误

comEventOverrun 1006 端口超速

comEventCDTO 1007 Carrier detect 超时

comEventRxOver 1008 接收缓冲区溢出

comEventRxParity 1009 Parity 错误

comEventTxFull 1010 传输缓冲区满

comEventDCB 1011 检索端口设备控制块 (DCB) 时的意外错误InputMode 常数

常数值描述

comInputModeText 0 (缺省)通过 Input 属性以文本方式取回数据。comInputModeBinary 1 通过 Input 属性以二进制方式检取回数据。

CDHolding 属性:通过查询Carrier Detect (CD) 线的状态确定当前是否有传输。Carrier Detect 是从调制解调器发送到相联计算机的一个信号,指示调制解调器正在联机。该属性在设计时无效,在运行时为只读。

语法 object.CDHolding

设置值:CDHolding 属性的设置值为:

设置描述

True Carrier Detect 线为高电平

False Carrier Detect 线为低电平

说明:注意当 Carrier Detect 线为高电平 (CDHolding = True) 且超时时,MSComm 控件设置CommEvent 属性为comEventCDTO(Carrier Detect 超时错误),并产生 OnComm 事件。

注意在主机应用程序中捕获一个丢失的传输是特别重要的,例如一个公告板,因为呼叫者可以随时挂起(放弃传输)。

Carrier Detect 也被称为 Receive Line Signal Detect (RLSD)。

数据类型 Boolean

DSRHolding 属性:确定Data Set Ready (DSR) 线的状态。Data Set Ready 信号由调制解调器发送到相连计算机,指示作好操作准备。该属性在设计时无效,在运行时为只读。

语法:object.DSRHolding

object 所在处表示对象表达式,其值是“应用于”列表中的对象。DSRHolding 属性返回以下值:

值描述

True Data Set Ready 线高

False Data Set Ready 线低

说明:当Data Set Ready 线为高电平(DSRHolding = True) 且超时时,MSComm 控件设置CommEvent 属性为comEventDSRTO(数据准备超时)并产生 OnComm 事件。

当为Data Terminal Equipment (DTE) 机器写Data Set Ready/Data Terminal Ready 握手例程时该属性是十分有用的。

数据类型:Boolean

Settings 属性: 设置并返回波特率、奇偶校验、数据位、停止位参数。

语法: object.Settings[ = value]

说明:当端口打开时,如果value 非法,则MSComm 控件产生错误380(非法属性值)。

value 由四个设置值组成,有如下的格式:

"BBBB,P,D,S"

BBBB 为波特率,P 为奇偶校验,D 为数据位数,S 为停止位数。value 的缺省值是:

"9600,N,8,1"

InputLen 属性:设置并返回 Input 属性从接收缓冲区读取的字符数。

语法 object.InputLen [ = value]

InputLen 属性语法包括下列部分:

value 整型表达式,说明 Input 属性从接收缓冲区中读取的字符数。

说明:InputLen 属性的缺省值是0。设置InputLen 为0 时,使用Input 将使 MSComm 控件读取接收缓冲区中全部的内容。

若接收缓冲区中InputLen 字符无效,Input 属性返回一个零长度字符串("")。在使用Input 前,用户可以选择检查InBufferCount 属性来确定缓冲区中是否已有需要数目的字符。该属性在从输出格式为定长数据的机器读取数据时非常有用。

EOFEnable 属性:确定在输入过程中MSComm 控件是否寻找文件结尾(EOF) 字符。如果找到 EOF 字符,将停止输入并激活 OnComm 事件,此时 CommEvent 属性设置为 comEvEOF,

语法:object.EOFEnable [ = value ]

EOFEnable 属性语法包括下列部分:

value 布尔表达式,确定当找到EOF 字符时,OnComm 事件是否被激活,如“设置值”中所描述。

value 的设置值:

True 当 EOF 字符找到时 OnComm 事件被激活。

False (缺省)当 EOF 字符找到时 OnComm 事件不被激活。

说明:当 EOFEnable 属性设置为 False,OnComm 控件将不在输入流中

寻找 EOF 字符。

错误消息(MS Comm 控件)

下表列出 MSComm 控件可以捕获的错误:

值描述

380 无效属性值 comInvalidPropertyvalue

383 属性为只读 comSetNotSupported

394 属性为只读 comGetNotSupported

8000 端口打开时操作不合法 comPortOpen

8001 超时值必须大于 0

8002 无效端口号 comPortInvalid

8003 属性只在运行时有效

8004 属性在运行时为只读

8005 端口已经打开 comPortAlreadyOpen

8006 设备标识符无效或不支持该标识符

8007 不支持设备的波特率

8008 指定的字节大小无效

8009 缺省参数错误

8010 硬件不可用(被其它设备锁定)

8011 函数不能分配队列

8012 设备没有打开 comNoOpen

8013 设备已经打开

8014 不能使用 comm 通知

8015 不能设置 comm 状态 comSetCommStateFailed

8016 不能设置 comm 事件屏蔽

8018 仅当端口打开时操作才有效 comPortNotOpen

8019 设备忙

8020 读 comm 设备错误 comReadError

8021 为该端口检索设备控制块时的内部错误 comDCBError

补充,如果是偶校验则将ole_1.object.settings="1200,n,8,1" 中的n改为e,奇校验为o

w1 = asc(ole_1.object.input)

//如果读入的是7位的acs码,则将w1 – 48 既为所要的值,48的16进制是30H,是十进制的0

如果ole_https://www.360docs.net/doc/b713237268.html,mevent的返回值为3 :clear-to-send 线变化,则是因为设备与电脑的连接线有问题,需要将标准rc-232线进行调线,即将2线和3线进行交换。即将设备的发送接到电脑的接收上,将设备的接收接到电脑的发送上。

VB常用控件习题与解答

常用控件习题与解答 一、填空题 1.在图片框上放置的控件称为图片框的(子)对象,而窗体是图片框的(父)对象。 2.窗体的“名称”(Name)属性只能在(属性窗口中)设置。 3.在程序中设置窗体Form1的Caption属性为"主窗体",使用的赋值语句是(Form1.Caption="主窗体")。 4.当窗体的Enabled属性为(True)时,指定窗体响应事件。 5.窗体的Unload事件是在QueryUnload事件发生之(后)发生。 6.程序中,把当前窗体移动到屏幕左上角使用的方法为(Move0,0)。 7.在窗体Form1中坐标为(1600,800)的位置上输出字符串“Visual Basic 6.0”使用的语句为(Form1.Currrentx=1600)、(Form1.Currenty=800)、和(Form1.Print "VisualBasic6.0")。 8.若使文本框有边框,需设置BorderStyle属性的值为(1)。 9.在程序运行期间,用户可以用文本框显示信息。文本框接收输入的内容的属性是 (Text)。 10.若使文本框内能够接受多行文本,则要设置Multiline属性的值为(True)。 11.要把图形文件“C:\sample\diannt.jpg”装载到图片框Picture1上,使用的语句为(Picturel.Picture=LoadPicture("C:\sample\diannt.jpg"))。 12.若使图片框自动调整大小以适应装入的图形,则要设置Autosize属性的值为(True)。 13.除了在程序使用LoadPicture函数装载图形外,还可以在设计阶段通过修改(Picture)属性装载图形。 14.若程序中要把一些文本内容输出到图片框PictureBox,应使用(Print)方法。 15.当单选按钮OpdonButton的Value属性为(False)时,表示该单选按钮处于未选中状态。 16.若使命令按钮Command1重新生效,则使用的赋值语句为(Command1.Enabled=True)。 17.若使命令按钮不能接收和响应任何事件,可以设置Visible属性的值为(False)。 18.只有控件对象的Enabled和Visible属性值都为(True)时,该控件对象才能接受焦点。 19.Tab顺序是由建立控件时的(先后顺序)确定的。 20.设置框架Frame上的文本内容需要使用(Caption)属性。 21.在框架上可以设置一组相关控件,这些控件作为框架的(子)控件,它们具有总体的激活/屏蔽特性。 22.若屏蔽框架上的控件对象,则需设置(Enabled)属性的值为False。 23.列表框ListBox中项目的序号从(0)开始,到(Listcount-1)结束。 24.要显示列表框List1中序号为3项目内容,语句为(PrintList1.List(3))。

regsvr32 命令小集注册OCX控件,注册控件=

regsvr32 命令小集注册OCX控件,注册控件 进程文件:regsvr32 or regsvr32.exe 进程名称:Microsoft DLL Registration Service 英文描述: regsvr32.exe is a processes belonging to the Windows OS and is used to register dynamic-link libraries and ActiveX controls in the registry. 中文描述: regsvr32.exe用于注册和取消注册Windows操作系统的DLL(动态链接库)文件和ActiveX控件。 这个命令行工具将dll 文件注册为注册表中的命令组成。 语法 regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname 其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。 参数 /u 反注册控件 /s 指定regsvr32 安静运行,且不显示任何消息框。

/n 指定不调用DllRegisterServer。此选项必须与/i 共同使用。 /i:cmdline 调用DllInstall 将它传递到可选的[cmdline]。在与/u 共同使用时,它调用dll 卸载。 dllname 指定要注册的dll 文件名。 /? 在命令提示符显示帮助。 例: 要为“Active Directory Schema”注册 .dll,请在MS-DOS 提示符处键入以下命令: c:\regsvr32 schmmgmt.dll Regsvr32是系统文件 很多朋友都用过Windows系统下提供的regsvr32.exe这个命令。不要瞧不起这个小命令。有时候它可能帮你解决大问题。 系统故障解决小方法:系统及系统自带的软件(如:ie,wmplayer等)出错,大部分由于动态链接库(DLL) 文件或ActiveX 控件(OCX) 文件

VF 表单常用属性

VF 表单常用属性 Caption表单的标题 Name表单的名字 AutoCenter表单是否居中(值为.T.时,运行自动居中) Movable表单是否可移动(值为.F.时,运行时不可移动 Closable标题栏中关闭按钮是否失效(值为.F.时失效) ControlBox是否取消标题栏中所有按钮(值为.F.时取消) MaxButton指定表单最大化按钮是否失效(值为.F.时失效) MinButton指定表单最小化按钮是否失效(值为.F.时失效) 若上述两属性都为.F.,则取消最大与最小化按钮 WindowState设定运行时是否是最大化或最小化,值为0(普通),1(最小化),2(最大化) Visible设定表单是否可见,值为.F.时不可见Enabled Enabled设定表单是否可用,为.F. 时不可用 标签控件常用属性 Autosize标签的显示内容 FontName设置标签显示内容的字体 FontSzie设置标签显示内容的字体大小 ForeColor设置字的颜色 BackColor设定标签的背景色 Visible设定表签是否可见,值为.f.时不可见 文本框控件常用属性 Value文本框中的内容(值) Name文本框的名字 FontName设置文本框显示内容的字体 FontSzie设置文本框显示内容的字体大小 ForeColor设置字的颜色 BackColor设定文本框的背景色 Visible设定文本框是否可见,值为.f.时不可见 Enabled设定文本框是否激活可用,值为.f.时不可用 PasswordChar设定文本框是否为密码框 ReadOnly设定文本框是否只读,值为.t.时只读 ControlSource设定文本框的数据源(通过此属性设置,与表的字段发生联系) 命令按钮常用属性

窗体中的常用控件 单选3分

窗体中的常用控件单选3分 1.在计算机控件中,每个表达式前都要加上("=") 2.用于显示更新数据库中的字段的控件类型是(绑定型) 3.关于控件的叙述,(选项组不能设置为表达式)的说法正确 4.(表)不是窗体控件 5.纵栏式窗体同一时刻能显示(一条记录) 6.无论是自动创建窗体还是报表,都必须选定要创建该窗体或报表基于的(报表) 7.没有数据来源的控件类型是(非绑定型) 8.关于控件的叙述,(在窗体设计视图窗口中的工具箱中只能看到部分控件)说法错误 9.能够接受数字型数据输入的窗体控件是(文本框) 10.在教师信息输入窗口中,为职称字段提供"教授""副教授""讲师"等选项供用户直接选择,应使用控件是(组合框) 11.要用文本框来显示当前日期,应设置文本框的控件来源属性是(=Data()) 12.窗口事件是指操作窗口时所引发的事件,(取消)不属于窗口事件 13.如果想再加入控件时,控件自动与网格对其,则应在加入控件前,执行"格式(对其网格)"命令 14.当窗体的内容比较多无法在一页中全部显示时,可以使用(选项卡)进行分页,若要进行页面切换,用户只需单击选项卡上的标签即可 15.(选项组)是用来显示一组有限选项集合的控件 16.在学生表中使用"照片"字段存放相片,当使用向导为该表创建窗体时,照片字段使用的默认控件是(绑定对象框) 17.为窗体上的控件设置Tab键的顺序,应选择属性对话框中的(数据选项卡) 18.使用窗体设计视图,不能创建(报表) 19.如果在窗体上输入的数据总是取自某一个表或查询中记录的数据,或者取自某固定内容的数据,可以使用(组合框或列表框)控件 20.(只要单击选项组中所需的值,就可以为字段选定数据值)的说法正确 21.(命令按钮)代表一个或一组操作 22.(可以向组合框中输入新值,而列表框不行) 23.创建窗体的数据源不能是(报表) 24.若要求在文本框中输入文本时达到密码"*"号的显示效果,则应设置的属性是("输入掩码"属性) 25.(窗体设计器)不是窗体的组成部分 26.关于控件的叙述,(在选项组中每次只能选择一个选项)的说法是正确的 27.

各种控件的详细使用介绍

各种控件的详细使用介绍:常用属性,常用事件,常用的方法 控件的分类(控件根据所属的基类,进行划分) 根据是否能容纳其他控件,可以分为: 容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件) 非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像) 另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件) 非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。(命令按钮,命令按钮组,线条,标签,计时器,形状,图像) 一、标签控件(Label)——非容器类控件,非数据绑定控件 用以显示文本,显示提示信息。标签上的显示文本由caption属性指定。 其中的文本在表单运行时不能被用户直接修改。 常用属性: 常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件 Click 单击事件mouseup 释放鼠标左键事件

【范例】参考实验作业HomeWork7-1-1.scx。 二、文本框与编辑框——非容器类控件,数据绑定控件 文本框——用以显示或编辑表中的非备注型字段的数据。 编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。 两者均为数据绑定控件,非容器类控件 文本框的常用属性: ?ControlSource 指定与文本框绑定的数据源 ?Value 指定文本框的当前选定的值 例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字?PasswordChar 用设定的字符来显示用户输入的值,而实际输入保存在value属性中。 例如:PasswordChar=*或者其他的符号。文本框中显示为*或其他符号

表单的基本知识点

表单基本型控件的常用属性 1标签 Caption标题name控件名、fontsize字体大小、fontname文本字体 Alignment指定标题文本在控件内文本的对齐方式 Autosize 是否自动调整控件大小以容纳其内容 Backstyle 指定对象的背景是否透明 Borderstyle 指定对象的边框样式 2命令按钮组 Caption标题width指定对象的宽度height 指定高度 Default 指定按下enter时,哪一个命令按钮会响应 Enabled指定控件能否响应由用户引发的事件 Visible 指定对象是可见还是隐藏 3文本框 Readonly 是否设置为只读Value 设置文本框中的内容 Passwordchar 是否显示占位符,常用* Recordsource指表格数据源Recordsourcetype指表格数据源类型 注意.有两张表格,一张表格显示一数据表内容,另一张表格显示与该数据表内容对应的另一数据表的内容,这种题先添加数据环境,并使数据环境中的这两张表有联线(需先设置表间的永久联系);对两张表格RecordSourceType属性均设为“别名”,RecordSource属性设为数据表文件名。 5列表框 Multiselect 是否可进行多重选择Rowsource指列表框或组合框数据源 Rowsourcetype指列表框或组合框数据类型 6页框(也称为选项卡) PageCount(设置页数)ActivePage(设置活动页)Caption(设置每页的标题是Page1或Page2等各页的标题) 7组合框 属性:RowSourceType(数据源类型)、RowSource(数据源)、Style(设置下拉组合框还是下拉列表框 8选项按钮组 ButtonCount(设置选项数目)、Caption(设置选项的标题 9计时器 InterVal设置时间间隔 常用事件 Lode在表单对象建立之前引发Init在对象建立时引发 Destroy在对象释放时引发Unload 在表单对象释放时引发 引发顺序Load init destroy unload Click是单击事件Rightclick是右击事件 常用方法 Show是显示HIDE是隐藏 RELEASE是释放REFRESH是刷新 有关的命令 Create form 建立表单Modify form 打开表单设计器 退出或关闭thisform.release 或release thisform 建立CREATE CLASS 新类OF 类库AS 父类 修改modify CLASS 类名OF 类库 删除remove class 类名of 类库创建类库create classlib 类库名

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.360docs.net/doc/b713237268.html, " 定义第3行第2列的文本内容为:“https://www.360docs.net/doc/b713237268.html,” 右键选中MSFlexGrid的 Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5 MSFlexGrid1.RowSel = MSFlexGrid1.Row '右键选种当前行---备用u3u3: 'MSFlexGrid1.Col = 0 'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1 '右键选种当前单元格---备用u3u3: 'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5 'MSFlexGrid1.Col = MSFlexGrid1.Col 'Text1.Text = MSFlexGrid1.Text End If End Sub

InstallShield注册控件

InstallShield注册控件(DLL、OCX) . 分类: Installshield 2009-05-01 23:08 1405人阅读评论(1) 收藏举报 (我在Installshield 2009下进行的操作,其他版本请参照执行) 由于开发中使用了OCX控件,如果目标机器上没有对应的OCX文件会造成应用程序无法正常运行,用InstallShield2009注册OCX控件时我走了弯路,最开始是使用INF文件,在InstallScript里写 rundll32 + INF文件名。这样可以正确加载OCX控件,但是在卸载时会把加载的OCX文件卸载掉。经过查找资料,发现InstallShield是自己带了自加载OCX等自动注册控件的功能。流程如下: 第一步:Project Assistant —> Application Files —>Destination Computer 右键[Destination Computer]->Show PreDefined Folder->选中“System Folder” /*注意,[SystemFolder]其实就对应目标机器的system32目录,具体可以查看帮助,或者在Installation Designer-Media-Path Variables里面查看其他变量定义 第二步:左边列表将显示[SystemFolder],将需要注册的*.ocx和*.dll文件拖到这个文件夹中,选中这些文件,右键属性,勾中"Self Register" 第三步:在Installation Designer —>Orgnization—>Setup Design—>Default Feature ,Default Feature目录下有你刚才设置自动注册的文件,选中该文件名,右边就有相关的属性,Shared 属性选为 Ture,Permanent属性选为True(卸载时就会保留在系统中),这样你的注册控件就能顺利在目标机器上注册,能被其他程序锁使用,反安装的时候也不会被卸载掉。

表单控件属性与方法总结

表单控件属性与方法总结表单控件属性 表单的文件名:.scx 表单

输出类控件 标签:第一次创建:name:label1 数据绑定时的字段名显示,默认的名称:lbl字段名 图像:image1. 通用型字段中如果存放的是图片,数据绑定指定的控件就是图像控件 线条:line1

形状:shape1 对控件对象的多重选定:shift+选择 输入类控件 文本框:text1 可以接受4种:c n d(t) l。可以作为以上4种数据类型的绑定控件:Txt字段名

方法:表示对象的行为 Setfocus:设置焦点 Thisform.控件名.方法名 事件: Gotfocus:对象获得焦点时 Lostfocus: 对象失去焦点时 Interactivechange:当键盘或鼠标改变文本框的值时发生 文本框和标签 分别用文本框控件和标签控件显示系统时间,系统日期,系统的日期时间Time()=c型 Date()=d型 Datetime()=t型 文本框用value可以接受c、n、d、l、t 标签用caption接受,只能是c 注意:在属性中设置也要加=

属性设置例子: THISFORM.TEXT1.VALUE=DATE() THISFORM.TEXT1.VALUE=DATETIME() THISFORM.TEXT1.VALUE=TIME() https://www.360docs.net/doc/b713237268.html,BEL1.CAPTION=TIME() https://www.360docs.net/doc/b713237268.html,BEL1.CAPTION=TTOC(DATETIME()) https://www.360docs.net/doc/b713237268.html,BEL1.CAPTION=DTOC(DATE()) 列表框list1和组合框combo1 1.列表框的列表项全部显示,而组合框只显示一项 2.组合框分为下拉组合框和下拉列表框,前者允许选择和输入数据项,后者和列表框一样只有选取功能

控件使用

、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.360docs.net/doc/b713237268.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。

ActiveX控件注册的几种方法

ActiveX控件注册的几种方法 本文中的程序原为V C++所编写,略改动一些,将程序用C++Builder编写。 ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件。由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须作任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样。如:在VC++中开发的ActiveX控件,不作任何修改即可应用于VB中。由此可见,通过使用ActiveX控件即可实现快速小型的组件重用、代码共享,从而提高编程效率。 ----从Internet下载的ActiveX控件,或从其他途径得到的ActiveX控件,用户应该怎样做才能正确使用呢?一般来说,一个外来ActiveX控件要在Windows中被正确使用,首先必须将控件文件(*.OCX)复制到硬盘中,然后将其在Windows中注册,未在Windows中注册过的ActiveX控件是不能使用的。注册ActiveX控件一般来说有三种途径,适用范围不同,各有各的优点,下面分别讨论。 一、使用Regsvr32.exe程序 对ActiveX控件进行注册 ----对于未注册过的ActiveX控件可使用此软件对其进行注册,外来ActiveX控件要应用到自己的程序中也必须进行注册。该文件位于Windows目录的system子目录下。使用方法如下:点击“开始”→“运行”;在运行对话框中输入以下命令: regsvr32 <文件名>注册一个ActiveX控件 regsvr32 /u <文件名>解除某ActiveX控件的注册 ----我们使用一些带ActiveX控件的应用程序时,有时会出现不能运行的情况,这有可能是其自带ActiveX控件未注册所至,这时不妨使用上述命令一试。 二、使用安装程序 制作软件:InstallShield

excel表单控件与ActiveX控件概念

工作表中的表单、表单控件和ActiveX 控件概念 是的,确实如此。在Microsoft Excel 中,使用少量或者无需 使用Microsoft Visual Basic for Applications (VBA) 代码即可 创建出色的表单。使用表单以及可以向其中添加的许多控件和 对象,您可以显著地增强工作表中的数据项并改善工作表的显 示方式。 ? ? 什么是表单? 无论是打印表单还是联机表单都是一种具有标准结构和格式的文档,这种文档可让用户更轻松地捕获、组织和编辑信息。 ?打印表单含有说明、格式、标签以及用于写入或键入数据的空格。您可以使用Excel 和Excel 模板创建打印表单。 ?联机表单包含与打印表单相同的功能。此外,联机表单还包含控件。控件是用于显示数据或者更便于用户输入或编辑数据、执行操作或进行选择的对象。通常,控件可使表单更便于使用。例如,列表框、选项按钮和命令按钮都是常用控件。通过运行(VBA) 代码,控件还可以运行指定的和响应事件,如鼠标点击。 您可以使用Excel 通过多种方式创建打印表单和联机表单。 Excel 表单的类型 您可以在Excel 中创建多种类型的表单:数据表单、含有表单和ActiveX 控件的工作表以及VBA 用户表单。可以单独使用每种类型的表单,也可以通过不同方式将它们结合在一起来创建适合您的解决方案。 数据表单

为在无需水平滚动的情况下在单元格区域或表格中输入或显示一整行信息提供了一种便捷方式。您可能会发现,当数据的列数超过可以在屏幕上查看的数据列数时,使用数据表单可以使数据输入变得更容易,而无需在列之间进行移动。如果以标签的形式将列标题列出的文本框这一简单表单足以满足您的需求,而且您不需要使用复杂的或自定义的表单功能(例如列表框或调节钮),则可以使用数据表单。 Excel 可以为您的或自动生成内 置数据表单。数据表单会在一个对 话框中将所有列标题都显示为标 签。每个标签旁边都有一个空白文 本框,您可以在其中输入每一列的 数据,最多可以输入32 列数据。 在数据表单中,您可以输入新行, 通过导航查找行,或者(基于单元 格内容)更新行及删除行。如果某 个单元格包含,则公式结果会显示 在数据表单中,但您不能使用数据 表单更改该公式。 含有表单和ActiveX 控件的工作表 工作表是一种类型的表单,可让您在网格中输入数据和查看数据,Excel 工作表中已经内置了多种类似控件的功能,如注释和数据验证。单元格类似于文本框,因为您可以在单元格中输入内容以及通过多种方式设置单元格的格式。单元格通常用作标签,通过调整单元格高度和宽度以及合并单元格,您可以将工作表用作简单的数据输入表单。其他类似控件的功能(如单元格注释、超链接、背景图像、数据验证、条件格式、嵌入图表和自动筛选)可使工作表充当高级表单。 为增加灵活性,您可以向工作表的“”添加控件和其他绘图对象,并将它们与工作表单元格相结合和配合。例如,您可以使用列表框控件方便用户从项目列表中选择项目。还可以使用调节钮控件方便用户输入数字。 因为控件和对象存储在绘图画布中,所以您可以显示或查看不受行和列边界限制的关联文本旁边的控件和对象,而无需更改工作表中数据网格或表的布局。在大多数情况下,还可以将其中许多控件链接到工作表中的单元格,而无需使用VBA 代码即可使它们正常工作。您可以设置相关属性来确定控件是自由浮动还是与单元格一起移动和改变大小。例如,在对区域进行排序时,您可能有一个希望与基础单元格一起移动的复选框。不过,如果您有一个希望一直保持在特定位置的列表框,则您可能希望它不与其基础单元格一起移动。 Excel 有两种类型的控件:表单控件和ActiveX 控件。除这两个控件集之外,您还可以通过绘图工具(如、、SmartArt 图形或文本框)添加对象。 以下部分介绍这些控件和绘图对象,此外,还更为详细地介绍如何使用这些控件和对象。

实验二 常用控件的使用

实验二常用控件的使用 一、实验目的 (1)掌握常用控件的属性和事件,掌握常用控件的使用,掌握常用控件编程; (2)熟悉并创建Windows窗体应用程序的过程; (3)掌握基于常用控件:MenuStrip、ToolStrip、StatusStrip、Panel、TreeView及 Splitter等构建类似资源管理器的主界面; (4)掌握Timer、ListView、ComboBox、DatePicker等常用控件的属性及应用。 (5)掌握动态构建TreeView节点的方法。 二、实验环境 ?PC机,Windows XP(2000)操作系统及以上; ?Visual Studio 2010(或2008)。 三、实验要求 (1)要求创建类似登录界面,并将登录时输入的信息:用户名传递给主窗体; (2)要求主窗体设置为多文档窗体; (3)要求实现动态创建TreeView控件; (4)实现TreeView节点、MenuStrip、ToolStrip单击事件; (5)实现在StatusStrip上显示登录的用户名、系统当前的日期、实时的时间。 四、实验内容 1、创建基于Windows窗体的应用程序项目; 2、创建登录窗体: (1)用户名和密码输入信息; (2)登录、退出等按钮; (3)实现按钮的单击事件; 3、主窗体的创建 (1)主窗体中要求实现:菜单、工具栏、功能树、状态栏; (2)功能树的创建要求动态创建,建议采用递归算法方式实现,建议树节点 参考信息如下:

(3)主窗体布局参考资源管理的方式实现,具体的布局方式参考下图。 4、数据的模拟 (1)功能树部分的数据可采用二维数组方式; (2)菜单至少建立2个以上菜单项; (3)工具栏至少建立两个以上工具栏项目; 5、部分参考代码: (1) 将字符串类型的窗体名称转换成Form类型 (2) 在主界面显示单文档窗体的参考代码 其中:this代表MDI窗体; GetForm为在(1)中定义的函数。

KVDBGrid控件使用方法

KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上

移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:

【免费下载】用WEB控件实现注册与登录页面

1、实验题目 用web 控件实现注册与登录页面 2、实验目的和要求 1. 利用所学知识进行页面开发,充分运用所能使用的服务器控件来实现需求。灵活掌握数据库的连接与访问。 2. 要求页面友好,交互性强。 3. 上机前预习实验,同学们相互间可以讨论;上机过程中要求独立完成;设计出具有各自风格的页面。 3、实验内容 1、创建数据库,创建数据表users 用来存储用户信息,包含用户名和密码等字段。 2、用web 控件实现简单的用户注册页面。要运用文本框、单选框、复选框、下拉列表、多行文本框、按钮、文件上传等控件实现注册页面,并实现简单验证。点击提交按钮后讲用户填写的信息写入数据库的数据表,并以文本的形式显示出来。 3、用web 控件实现简单的用户登录页面 运用文本框、label 、按钮等控件实现简单的用户登录页面,登录按钮旁加上新用户注册按钮,连接到用户注册页面。用户输入用户名和密码后连接数据库进行验证,输入正确则提示用户欢迎登录,并显示欢迎图片;否则提示用户名或密码错误,显示相应错误提示图片。 4、实验代码 登录界面代码: Imports System.Data.SqlClient Imports System.Data Partial Class 登录页面 Inherits System.Web.UI.Page Protected Sub Btnzhuce_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btnzhuce.Click Response.Redirect("regist.aspx")End Sub Protected Sub BtnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnLogin.Click Dim UserLoginName As String = TextBoxname.Text.Trim() Dim UserPwd As String = TextBoxpass.Text.Trim() Dim conn As New SqlConnection() Dim cmd As New SqlCommand() conn.ConnectionString = "server=localhost;database=student;uid=sa;pwd=" Dim sqlcomtext As String = "select * from users where Uname='" & TextBoxname.Text & "' and Upass='" & TextBoxpass.Text & "'" conn.Open() Dim Sqlcom As SqlCommand = New SqlCommand(sqlcomtext, conn) If Sqlcom.ExecuteScalar() <> Nothing Then Session.Add("Uname", "UserLoginName") conn.Close() Response.Redirect("main.aspx") Else 、管路敷设技术通过管线敷设技术,不仅可以解决吊顶层配置不规范问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

vb常用控件习题(含问题详解)

1.下列控件中没有Caption属性的是________。 A)框架B)列表框C)复选框D)单选按钮 2.复选框的Value 属性为1 时,表示________。 A)复选框未被选中B)复选框被选中 C)复选框有灰色的勾D)复选框操作有误 3.用来设置斜体字的属性是________。 A)FontItalic B)FontBold C)FontName D)FontSize 4.将数据项“China”添加到列表框List1中成为第二项应使用________语句。 A)List1.AddItem “China”,1 B)List1.AddItem “China ”, 2 C)List1.AddItem 1,“China”D)List1.AddItem 2,“China ” 5.引用列表框List1最后一个数据项,应使用________语句。 A)List1.List(List1.ListCount)B)List1.List(ListCount) C)List1.List(List1.ListCount-1)D)List1.List(ListCount-1) 6.假如列表框List1有四个数据项,那么把数据项“China”添加到列表框的最后,应使用________语句。 A)List1.AddItem 3,“China ” B)List1.AddItem “China ”, List1.ListCount-1 C)List1.AddItem “China ”, 3 D)List1.AddItem “China”,List1.ListCount 7.执行了下面的程序后,列表框中的数据项有________。 Private Sub Form_Click() For i = 1 to 6 List1.AddItem i Next i For i = 1 to 3 List1.RemoveItem i Next i End Sub A)1,5,6 B)2,4,6 C )4,5,6 D)1,3,5 8.如果列表框List1中没有选定的项目,则执行 List1.RemoveItem List1.ListIndex 语句的结果是________。 A)移去第一项B)移去最后一项 C)移去最后加入列表中的一项D)以上都不对 9.如果列表框List1中只有一个项目被用户选定,则执行 Debug.Print List1.Selected(List1.ListIndex)语句的结果是________。 A)在Debug窗口输出被选定的项目的索引值 B)在Debug窗口输出True C)在窗体上输出被选定的项目的索引值 D)在窗体上输出True 10.在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若干城市的名称。但单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是______。 A)Private Sub List1_Click()

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件

ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

相关文档
最新文档