




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 VisualBasic程序设计基础 计算机学院教学实验中心王丽E Mail WL 2 VisualBasic程序设计实例 电子公告牌 运动的小球 蝴蝶飞 文件与文件箱 算术练习器 简易计算器 我的写字板 3 VisualBasic程序设计实例 蝴蝶飞 计算机程序的基本概念及设计基本方法 对象与事件驱动编程的基本概念及围绕对象编程的基本方法 对象的属性 事件和方法的概念及用法 VisualBasic6 0可视化编程开发环境 4 VisualBasic程序设计实例 传统高级语言编程的主要工作是设计算法和编写程序 程序的各种功能和显示的结果都要由程序语句来实现 而VB开发应用程序 包括两部分工作 设计用户界面和编写程序代码 特点 1 5 VisualBasic程序设计实例 传统编程方法是根据程序应实现的功能 写出完整的程序 执行时从第一句开始 直到结束为止 程序员必须周到地考虑程序运行的细节 VB程序执行的基本方法是由 事件 来驱动子程序的运行 特点 2 6 VisualBasic程序设计实例 1创建程序界面即界面设计 2设置属性 3编写代码 4调试运行 7 VisualBasic程序设计实例 类 VB中的每个对象都是用类定义的 用饼干模子和饼干之间的关系作比 就会明白对象和它的类之间的关系 饼干模子是类 它确定了每块饼干的特征 比如大小和形状 用类创建对象 对象就是饼干 反映对象特征的参数 如 名称 颜色 大小 位置 可见否等 能被对象 窗体或控件 辨识的行为 如 鼠标的单击 按键盘中某键等 直接控制和操作对象的动作 如 对象可移动等 8 VisualBasic程序设计实例 反映对象特征的参数 如 名称 颜色 大小 位置 可见否等 属性 1 对象名 属性名称 新设置的属性值 2 BackColor 背景颜色 3 Caption 标题 1 Name 名称 4 Enabled 允许 5 Picture 图形 7 Top Left 顶边 左边位置 6 Visible 可见性 8 Interval 时间间隔数 9 VisualBasic程序设计实例 能被对象 窗体或控件 辨识的行为 如 鼠标的单击 按键盘中某键等 事件 2 4 Load 系统加载 2 MouseDown 按下鼠标键 1 Click 单击 3 KeyDown 按下键盘中的某键 PrivateSub对象名称 事件名称 事件响应程序代码Endsub 5 Timer 计时器 10 VisualBasic程序设计实例 直接控制和操作对象的动作 如 对象可移动等 方法 3 2 Circle 画圆 3 Move 移动 1 Print 输出 写字 对象名称 方法名称 11 VisualBasic程序设计实例 12 VisualBasic程序设计实例 类 电子公告牌 思考 进入VB 13 VisualBasic程序设计实例 电子公告牌 14 VisualBasic程序设计实例 应用程序 窗体模块 标准模块 声明部分 通用过程 事件过程 声明部分 通用过程 15 VisualBasic程序设计实例 16 VisualBasic的基本数据类型 17 VisualBasic程序设计实例 类 运动的小球 思考 18 VisualBasic程序设计实例 19 VisualBasic程序设计实例 Randomize x 幸运数字生成器 例 20 VisualBasic程序设计实例 类 蝴蝶飞 Bfly2 bmp Bfly bmp 思考 对象 Picture LoadPicture 文件 对象 Visible True 对象 Visible False X和Y交换位置 T X X Y Y T 对象T Picture 对象X Picture对象X Picture 对象Y Picture对象Y Picture 对象T Picture 进入VB 21 VisualBasic程序设计实例 蝴蝶飞 X和Y交换位置 T X X Y Y T 对象T Picture 对象X Picture对象X Picture 对象Y Picture对象Y Picture 对象T Picture 22 VisualBasic程序设计实例 思考 1 DG1 BMP DG2 BMP DG3 BMP DG4 BMP DG5 BMP BOX BMP BOX1 BMP BOX2 BMP 2 你能作出什么 23 VisualBasic程序设计实例 1 DG1 BMP DG2 BMP DG3 BMP DG4 BMP DG5 BMP 跳舞的小姑娘 24 VisualBasic程序设计实例 类 文件与文件箱 思考 鼠标拖放事件 25 VisualBasic程序设计实例 文件与文件箱 鼠标拖放事件 PrivateSub对象名 DragDrop SourceAsControl XAsSingle YAsSingle EndSub PrivateSubForm DragOver SourceAsControl XAsSingle YAsSingle StateAsInteger EndSub 4个参数 其中Source是一个对象变量 其类型为Control 该参数含有被拖动对象的属性 x y是拖动时鼠标光标的坐标位置 State参数是一个整数值 可以取以下3个值 0鼠标光标正进入目标对象的区域 1鼠标光标正退出目标对象的区域 2鼠标光标正位于目标对象的区域之内 26 VisualBasic程序设计实例 文件与文件箱 鼠标拖放事件 27 按钮1的事件处理程序 表示 出题 PrivateSubCommand1 Click 首先产生两个随机数和一个随机的运算符x Int Rnd 10 1 随机数位于1到10之间y Int Rnd 10 1DimcAsIntegerc Int Rnd 4 产生一个随机数 用于产生随机的运算符Ifc 0Thenop Ifc 1Thenop Ifc 2Thenop Ifc 3Thenop 然后显示题目Label1 Caption x 显示出来所出的题目Label2 Caption opLabel3 Caption yText1 Text 文本框初始化为空 检验不能整除的题目Ifop Andx0ThenMsgBox 这道题太难了 请重新出题 vbInformationEndIfText1 SetFocus 让文本框获得焦点EndSub OptionExplicit 要求所有变量均定义DimxAsInteger yAsInteger x y两个变量表示要运算的两个数DimopAsString op表示操作符 即 或 算术练习器 例 变量的作用域 注意 28 按钮2的事件处理程序 表示 判分 PrivateSubCommand2 Click DimansAsDouble ans用于表示运算的结果SelectCaseopCase ans x yCase ans x yCase ans x yCase ans x yCaseElseans 0EndSelectIfans Val Text1 Text Then 如果正确Picture1 ForeColor vbBlue 用蓝色显示Picture1 Print x op y Text1Else 如果不正确Picture1 ForeColor vbRed 用红色显示Picture1 Print x op y Text1EndIfEndSub 算术练习器 例 续 PrivateSubForm Load Randomize 程序一开始 进行随机数的初始化EndSub 29 VisualBasic程序设计实例 属性 1 2 AutoRedraw 自动重画 3 BorderStyle 边框类型 1 Name 名称 30 VisualBasic程序设计实例 属性 1 4 Caption 标题 5 ControlBox 控制框 6 Height Width 高 宽 7 Icon 图标 8 Picture 图形 函数 对象 Picture LoadPicture 文件 9 BackColor 背景颜色 10 ForeColor 前景颜色 函数 RGB n1 n2 n3 函数 QBCOLOR n App path DG01 bmp 31 VisualBasic程序设计实例 事件 1 1 Click 单击 事件 2 DblClick 双击 事件 3 Load 装入 事件 4 Unload 卸载 事件 5 Paint 绘画 事件 6 Resize 改变窗体大小 事件 32 VisualBasic程序设计实例 2 Circle 画圆 3 Move 移动 1 Print 输出 写字 对象名称 方法名称 4 Show方法 格式 窗体名称 Show 模式 装入和显示窗体 0和1 为1 vbModal 时 表示窗体是 模态型 窗体 只有在关闭该窗口后才能对其他窗口进行操作 5 Hide方法 格式 窗体名称 Hide Hide方法使窗体隐藏 即不在屏幕上显示 但仍在内存中 33 VisualBasic程序设计实例 34 VisualBasic程序设计实例 工程 添加窗体 打开 添加窗体 对话框 35 VisualBasic程序设计实例 工程 工程属性 打开 工程属性 对话框 指定启动窗体 缺省 第一个创建的窗体为启动窗体 36 VisualBasic程序设计实例 工具 菜单编辑器 或 Ctrl E 37 VisualBasic程序设计实例 工具 菜单编辑器 Ctrl E 38 VisualBasic程序设计实例 由一组相同类型的控件组成 这些控件共用一个相同的控件名字 具有同样的属性设置 数组中的每个控件都有唯一的索引号 IndexNumber 即下标 其所有元素的Name属性必须相同 SubComtest Click IndexAsInteger EndSub PrivateSubComtest Click IndexAsInteger FontSize 12IfIndex 0ThenPrint 单击第一个命令按钮 ElseIfIndex 1ThenPrint 单击第二个命令按钮 ElseEndEndIfEndSub 39 VisualBasic程序设计实例 SubComtest Click IndexAsInteger EndSub 例子 40 VisualBasic程序设计实例 控件数组 简易计算器 41 VisualBasic程序设计实例 固有控件相同 可把它放在窗体上 使用户能够或加强同一个应用程序的交互能力 它具有事件 并可集成到其他控件中 它的扩展名是 ocx 一般在system目录下 过去叫OLE控件 OCX或OLE自定义控件 ActiveXControl 外部控件 是已经编好的程序 可用于VB中一般存在于 ocx dll文件中加入外部控件的步骤 1 工具箱上点右键 选Component 组件 从中进行选择 如 MicrosoftWindowsCommonControl2 从工具箱上 选控件 加入到窗体中 外部控件 42 VisualBasic程序设计实例 使用外部控件 ActivX控件 43 3位的水仙花数的第1种算法 遍试法 Dima1AsInteger a1在百位上的数Dima2AsInteger a2在十位上的位Dima3AsInteger a3在个位上的数DimnAsInteger sAsInteger 两个符合3位的水仙花数用的临时变量Print 3位的水仙花数的第1种算法 Forn 100To999a1 n 100a2 n 10Mod10a3 nMod10s a1 3 a2 3 a3 3Ifn sThenPrint 3位的水仙花数 nNext 水仙花数 3位的水仙花数如 13 53 33 153 VisualBasic程序设计实例 44 四 ActivX控件 6位的水仙花数 进度条Forn 100000To999999f n 100000e n 10000Mod10a n 1000Mod10b n 100Mod10c n 10Mod10d nMod10s a 6 b 6 c 6 d 6 e 6 f 6Ifn sThenprintnDoEventsMe ProgressBar1 Value n 10000 进度条Next 水仙花数 6位的水仙花数 进度条 45 创建一个简单的ActiveX控件文件 新建工程 在弹出的对话框中选选 ActiveX控件 编译生成 ocx文件文件 生成MyActiveX工程 ocx 使用自己创建的ActiveX控件与一般的ActiveX一样添加到工具箱上 测试自己已创建的ActiveX控件添加一个 标准工程 注意将自己的ActiveX控件关闭 46 PrivateSubTimer1 Timer DimwAsIntegerw Weekday Now SelectCasewCase1Label1 Caption Chr 13 Date 星期日 Time Case2Label1 Caption Chr 13 Date 星期一 Time Case3Label1 Caption Chr 13 Date 星期二 Time Case4Label1 Caption Chr 13 Date 星期三 Time Case5Label1 Caption Chr 13 Date 星期四 Time Case6Label1 Caption Chr 13 Date 星期五 Time Case7Label1 Caption Chr 13 Date 星期六 Time EndSelectEndSub 47 MDI应用程序可含有3类窗体 普通窗体 标准窗体 MDI父窗体和MDI子窗体 MDI父窗体简称父窗体或MDI窗体 而把MDI子窗体简称为子窗体 MDIChild属性 子窗体设置为True 例子 48 为MDIForm1建立File莱单 例子 PrivateSubForm Resize 扩展文本框 使它充满子窗体的内部区域Text1 Height ScaleHeightText1 Width ScaleWidthEndSub PrivateSubmnuFileNew Click 建立Form1的一个新实例 名为NewDocDimNewDocAsNewForm1 显示新窗体NewDoc ShowEndSub 49 更复杂的界面 更复杂的界面 SDI 单文档界面如 记事本MDI 多文档界面如 WORD 50 加入一个MDIForm加入一个frmAbout将MDIForm设为启动对象 Project Property StartObject 在MDIForm中加入菜单 Ctrl E 将Form1的MDIChild置为True F4属性窗中设 在Form1上加入菜单 Ctrl E 使用MDI及菜单 使用MDI及菜单 我的书写器 示例 51 使用MDI及菜单 MDI例子 我的书写器 示例 52 使用ActiveX控件 使用ActiveX控件 工具箱加入ActiveX控件 工具箱上点右键 选Components MicrosoftRichTextBoxControlMicrosoftWindowsCommonControl6 0MicrosoftCommonDialogControl 53 使用RichText及通用对话框 RichTextBox控件 用途 54 使用RichText及通用对话框 在设计时设置滚动条 RichTextBox控件 续 55 RichTextBox控件 续 用LoadFile和SaveFile方法打开和保存文件 PrivateSubOpenFile RichTextBox控件的名称是 rtfData CommonDialog名为 dlgOpenFile 为文件名声明String变量 显示 打开文件 对话框 并将变量设置为文件名 DimstrOpenAsStringdlgOpenFile ShowOpenstrOpen dlgOpenFile FileName 用LoadFile方法打开该文件 rtfData LoadFilestrOpenEndSub 56 使用RichText及通用对话框 RichTextBox控件 续 PrivateSubSaveFile DimstrNewFileAsStringdlgOpenFile ShowSavestrNewFile dlgOpenFile FileNamertfData SaveFilestrNewFileEndSub 57 用SelFontName SelFontSize和SelFontColor设置字体属性 PrivateSubForm Load DimiAsIntegerWithcmbFontsFori 0toScreen Fonts Count 1 AddItemScreen Fonts i TextEndWithEndSubPrivateSubcmbFonts Click rtfData SelFontName cmbFonts TextEndSub 58 通用对话框 通用对话框 说明 59 通用对话框 方法所显示的对话框ShowOpen显示 打开 对话框ShowSave显示 另存为 对话框ShowColor显示 颜色 对话框ShowFont显示 字体 对话框ShowPrinter显示 打印 或 打印选项 对话框ShowHelp调用Windows帮助引擎 通用对话框 续 60 通用对话框 object FileName pathname 通用对话框 续 返回或设置在对话框中选择的文件名 61 通用对话框 object Filter description1 filter1 description2 filter2 通用对话框 续 返回或设置在对话框的类型列表框中所显示的过滤器 62 通用对话框 object DefaultExt string 通用对话框 续 为该对话框返回或设置缺省的文件扩展名 63 通用对话框 通用对话框 续 64 使用ClipBoard GetTextSetText 使用ClipBoard 65 使用工具条 在Form1上加入ToolBar在其中加多个按钮 Buttons InsertButton在Form1上加入ImageList在其中加多个图片 ImageList InsertPicture为工具条设图片 在ToolBar1 ImageList中选ImageList1然后设每一个Button的Image为工具条编程 其中利用Button Index 使用工具条 66 使用状态栏 在Form1上加入StatusBar加入多个Panel 数组 设定Panel的类型设定图片对StatusBar进行编程Statusbar1 Panel 3 Text 使用状态栏 67 VisualBasic程序设计实例 工具 菜单编辑器 或 Ctrl E 弹出式菜单 PrivateSubRich1 MouseDown ButtonAsInteger ShiftAsInteger xAsSingle yAsSingle IfButton 2Then 右键PopupMenumnuPop x y 弹出菜单EndIfEndSub 对象 PopupMenu菜单名 Flags x y BoldCommand 68 DimfnAsString 正在处理的文件名PrivateSubForm Load RichTextBox1 Top Me Toolbar1 Height 250RichTextBox1 Left 20RichTextBox1 Height Me ScaleHeight Me Toolbar1 Height 100RichTextBox1 Width Me ScaleWidth 40StatusBar1 Panels 1 Date Time EndSubPrivateSubForm Resize RichTextBox1 Height Me ScaleHeight Me Toolbar1 Height 100RichTextBox1 Width Me ScaleWidth 40EndSubPrivateSubmnuFileNew Click DimfrmAsNewForm1frm ShowEndSub PrivateSubmnuFileExit Click EndEndSub 69 PrivateSubmnuFileOpen Click Me CommonDialog1 Filter 文本文件 txt rtf txt rtf 所有文件 Me CommonDialog1 ShowOpen 打开文件对话框fn Me CommonDialog1 FileName 文件名Rich1 LoadFilefn 打开文件Me Caption fn 我的编辑器 窗口标题EndSubPrivateSubmnuFileSave Click Me CommonDialog1 DefaultExt rtf 缺省的扩展名Iffn Then 如果没有名字Me CommonDialog1 ShowSave 打开对话框fn Me CommonDialog1 FileName 得到文件名EndIfRich1 SaveFilefn 保存文件EndSubPrivateSubmnuEditCopy Click IfRich1 SelText ThenExitSub 若没有选定 则不复制Clipboard SetTextRich1 SelText 将选定的文字放入剪贴板EndSub 70 PrivateSubmnuEditPaste Click Rich1 SelText Clipboard GetText 粘贴EndSubPrivateSubmnuEditCut Click 剪切Clipboard SetTextRich1 SelText 将选定的文字放入剪贴板Rich1 SelText 将选定的文字置为空EndSubPrivateSubmnuEditSelectAll Click Rich1 SelStart 0Rich1 SelLength Len
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论