预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共98页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VisualBasic程序设计4.1多功能计算器任务 4.1.1任务描述 在第三章简单计算器的基础,增加以下功能: 1.将计算结果转换为十六进制。 2.就数字键设置为命令按钮组,使“0”~“9”数字按键的Index属性分别为0、1、2、3、4、5、6、7、8、9。 3.禁止键盘在文本框中输入数据。 4.使计算器总是悬浮在其它窗体上。 界面如下页所示。34.1.2界面设计4.1.3代码设计(1)API函数调用的一般方法7第1步:启动“API文本浏览器”9第2步:选择“文件-加载文本文件”菜单项加载WinAPI.txt文件。第3步:选择API类型:声明第4步:选择立刻用项SetWindowPos,将声明范围设置为“私有”。按添加按钮。第5步:就选定项下的VB代码复制第5步:将复制的VB代码粘贴到窗体代码编辑器中的“通用-声明”部分。习题P115一、单项选择题2.数字区命令按钮的Click事件3.禁止用户在文本框中输入数字习题P116二、填空题4.修改“计算结果”按钮的Click事件代码4.修改“计算结果”按钮的Click事件代码5.编写ChangeMe函数代码5.编写ChangeMe函数代码习题P116三、问答题4.2数组的使用2.声明静态数组(2)方法23.动态数组习题P115一、单项选择题习题P116二、填空题习题P116三、问答题4.2.2控件数组数字区命令按钮的Click事件数字区命令按钮的Click事件也可编写如下:…… Case9 IftxtLabel.Text=""Then txtFirst.Text=txtFirst.Text+“9” Else txtSecond.Text=txtSecond.Text+“9” EndIf EndSelect EndSub 利用Select或If选择结构,通过对Index属性值的判断,响应不同按钮元素的单击事件。习题P116一、单项选择题习题P116二、填空题4.2.3枚举及自定义数据类型4.2.3枚举及自定义数据类型2.自定义类型 自定义类型与枚举类型一样,也是一种构造型数据,称为记录类型。使用方法如下: (1)定义 PublicTypeStudent 学号AsString*10 姓名AsString*10 年龄AsInteger 籍贯AsString EndType 该语句定义了一个名为Student的数据类型。 (2)声明变量 DimxAsStudent (3)使用 x.学号=“2004001” x.姓名=“张红”枚举和自定义类型是一种有效的数据组织方式。尽管不使用它们也照样可以开发出功能强大的应用程序,但有效地应用这两种方式,可以使程序代码更清晰、简洁。如果要使用这两种方式,最好能在模块中用Public定义,以便整个应用程序使用。4.3过程和函数的定义和调用4.3.1为什么要编写自定义过程习题P116三、问答题4.3.2Sub过程如果希望定义整个应用程序均可以使用的公有过程,则最好在标准模块(Module)进行。2.调用习题P116一、单项选择题4.3.3Fucttion函数4.3.4参数传递机制简介1.引用传递参数PrivateSubChange(xAsInteger,yAsInteger) ’本程序将参数x,y的值互换 DimtAsInteger t=x x=y y=t ’在窗体是输出结果 Print“x=”;x,”y=”;y EndSub PrivateSubForm_Click() DimaAsInteger DimbAsInteger a=3:b=4 Changea,b Print“a=”;a,”b=”;b EndSub (演示)2.按值传递参数4.4键盘和鼠标使用技巧习题P116三、问答题4.4.1响应键盘事件1.焦点处理实现控件焦点的两种方法实现控件焦点的两种方法习题P116二、填空题习题P116三、问答题2.窗体的键盘事件1.KeyDown和KeyUp事件分析(2)Shift参数3.KeyPress事件常用键盘码与ASCII码的对应关系习题P116一、单项选择题习题P116四、程序设计题代码设计:4.SendKeys过程例:在所示界面中,为了加快用户的输入速度,希望每当用户按完回车键后,控制焦点自动移到下一个,就可以在文本框控件数组中加入以下代码:PrivateSubText2_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then SendKeys"{tab}" EndIf EndSub PrivateSubText3_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then SendKeys"{tab}" EndIf EndSub (演示)习题P116四、程序设计题PrivateSu