版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 .schwtVB学习笔记Visual Basic 面向对象与可视化程序设计清华大学出版社廖彬山等2000年版0 目录1. 基础知识-11.1 对象的命名规则-11.2 书写规则-11.3 变量-11.4 运算-21.5 数组-21.6 控制结构-2 1.7 过程-41.8 消息框和输入框-41.9 注册表函数-61.10 Format函数-61.11 对象基础-82. 窗体和控件-92.1 窗体-92.2 控件-93. 图形处理-123.1 坐标系-123.2 图形方法-123.3 填充方式和填充颜色-133.4 线宽和线型-133.5 绘图模式DrawMode-143.6 颜色设置-143
2、.7 图形控件-153.8 图形设备接口(GDI)画笔 画刷 绘图函数-153.9 DirectDraw 编程初步 DirectX的2D图形部件-154. 菜单和工具栏-164.1 设计菜单-164.2 工具栏 -164.3 状态栏 -164.4 MDI应用程序-165. 文件管理-175.1 与目录和文件操作有关的语句和函数-175.2 文件系统控件-175.3 文件的打开、关闭和读写-175.4 文件系统对象-186. ActiveX部件编程-196.1 ActiveX部件的使用-196.2 OLE容器控件-196.3 ActiveX控件的创建-196.4 ActiveX文档的创建-197
3、. 数据库编程-207.1 数据库基础-207.2 DAO与本地数据库访问-207.3 RDO与远程数据库访问-207.4 ADO 和 ADO Data控件-207.5 数据环境设计器-207.6 数据报表设计器-208. VBScript 和 ASP-218.1 Web开发历史-218.2 HTML简介 - -218.3 VBScript脚本语言-218.4 ASP脚本编程环境-229. DHTML应用程序-269.1 VB中新建“DHTML应用程序”-2610 IIS应用程序-2710.1 概述-2710.2 开发过程-2711. 调试和错误处理-2811.1 错误类型 -2811.2 设
4、计、运行和中断模式-2811.3 程序的调试-2811.4 处理运行时错误-28321 基础知识1.1 对象的命名规则名字前缀+名字 (例:cmdDisplay)对象类型前缀对象类型前缀窗体(Form)frm标签(Label)lbl复选框(CheckBox)chk直线控件(Line)lin组合框(ComboBox)cbo列表框(ListBox)lst命令按钮(CommandButton)cmd菜单(Menu) mnu公共对话框(CommonDialog)dlgOLE容器(OLE)ole数据(Data)dat单选钮(OptionButton)opt目录列表框(DirListBox)dir图片框(
5、PictureBox)pic驱动器列表框(DriveListBox)drv形状控件(Shape)shp文件列表框(FileListBox)fil文本框(TextBox)txt框架(Frame)fra定时器(Timer)tmr水平滚动条(HScrollBar)hsb垂直滚动条(VScrollBar)vsb图像框(Image)img1.2 书写规则:1.2.1 单行语句分成多行 续行符号_ ,后面不能有注释。1.2.2 将多个语句合并到同一行上 : 冒号分隔1.2.3 在代码中加注释 单引号1.2.4 使用不同进制的数字 &H(16进制) &O(8进制)1.3 变量1.3.1 命名
6、约定数据类型前缀类型声明符数据类型前缀类型声明符Intergerint%Longlng&CurrencycurSinglesng!Doubledbl#BytebytBooleanblnStringstr$DatedtmObjectobjVariantvnt用户定义类型udt1.3.2 声明变量 隐式声明 显式声明 强制显式声明 类型声明符Option Explicit 强制 intAge%=32隐式1.3.3 作用域过程级 (Dim、 Static) 模块级 (Private、 Dim) 全局变量(Public)1.3.4 数据类型数值整形、长整形、单精度浮点、双精度浮点、货币左15右
7、4位精确定点Byte无符号,二进制数值String Boolean 转换时0-False 1-TrueDate 格式1: #月/日/年# 格式2: #时:分:秒 AM或PM#格式3:#月/日/年 时:分:秒 AM或PM#加减计算:1代表1天,1/24代表1小时Variant 包含Empty Null Error类型转换函数Cb00l、Ccur CDbl CLng CStr CVErr Cbyte Cdate Cint CSng Cvar1.4 运算1.4.1 算术运算+、-、*、/、(整除)、MOD(取余)、1.4.2 连接运算 + & 1.4.3 关系运算 >、 >= 、
8、<、 <= 、= 、<>不等于1.4.4 逻辑运算 Not、And 、Or、Xor、Eqv逻辑等于、Imp 逻辑蕴含 A Imp B : A真,B假,结果假;其它结果真1.5 数组1.5.1 固定数组 Dim intSums(9) Dim intSums(3 to 15) Dim intSums(3, 15)两维UBound(数组名,维 ) LBound(数组名,维 )返回数组某维的上界和下界1.5.2 动态数组Dim intSums( )ReDim intSums(9)1.5.3 数组赋值 左边数组必须是动态数组1.6 控制结构 判定结构和循环结构1.6.1 条件结构
9、单行结构 if condition then statementelse statement块结构 if condition1 then Statement1 Else condition2 then statement2. else statementn End if1.6.2 选择结构Select case testexpression Case expressionlist1statement1 Case else statementnEnd selectCase 语句可以设置多个比较值 case 1,3,5 case 90 to 100 case 1, 3 to5, 71.6.3 DO
10、 循环无限循环,可加判断终止Do If condition Exit do Loop前测循环(condition为true或非零,则循环执行)Do while condition StatementsLoop后测循环(condition为true或非零,则循环执行)Do StatementsLoop while condition前测循环(condition为false,则循环执行)Do until condition StatementsLoop后测循环(condition为false,则循环执行)Do StatementsLoop until condition1.6.4 For循环For
11、 counter start to end step incrementStatementsexit forNext counter数组或对象集合中:for each循环For each element in group Statementsexit forNext element1.7 过程1.7.1 子过程语法:Private | Public Static sub procedurename(arguments) StatementsEnd sub 调用:Call procname(arguments)或:procname arguments1.7.2 函数语法:Private | Pu
12、blic Static function funname(arguments) as type Statements Funname=expressionStatementsEnd function 调用: = funname(arguments)或:Call procname (arguments)放弃返回值使用Exit Function前一定先给函数赋值1.7.3 按地址传递和按值传递默认按地址byref 按值byval1.7.4 可选参数Optional 参数 as type = xxx默认值1.7.5 不定数量的参数 ParamArray 动态数组1.7.6 数组参数 动态数组1.8
13、消息框和输入框1.8.1 消息框按函数调用:value=MsgBox(prompt,buttons,title,helpfile,context)按语句调用: MsgBox prompt,buttons,title,helpfile,context Prompt 最大1024字符,超过一行用chr(13) & chr(10) 回车换行Buttons 4组,按钮类型+图标样式+默认按钮+强制返回性按钮类型和数目值常数显示按钮0vbokonly确定1vbokcncel确定 取消2vbabortretryignore终止 重试 忽略3vbyesnocancel是 否 取消4vbyesno是
14、否5vbretrycancel重试 取消图标样式值常数显示图标16vbcriticalx32vbquestion?48vbexclamation!64vbinformationi默认按钮值常数默认按钮0vbdefaultbutton11256vbdefaultbutton22512vbdefaultbutton33强制返回性值常数含义0vbapplictionmodal程序强制4096vbsystemmodal系统强制,否则全挂起返回值值常数单击的按钮1vbok确定2vbcancel取消3vbabort终止4vbretry重试5vbignore忽略6vbyes是7vbno否除了第一个参数,其余
15、均可省略1.8.2 输入框Value=inputbox(prompt,title,default,xpos,ypos,helpfile,context)返回值为字符串,可通过Val( )函数转换为数值1.9 注册表函数位置:HKEY_CURRENT_USERSoftwareVB And VBA Programe Settingsappname(工程名)section(注册区域)key(注册表项)1.9.1 保存或创建注册表设置值Savesetting appname,section,key,setting setting具体值1.9.2 删除注册表设置值Deletesetting appnam
16、e,section,key删表项及其值Deletesetting appname,section 删区域Deletesetting appname 删整个注册位置1.9.3 检索注册表设置值GetSetting (appname,section,key,default) 一项GetAllSetting(appname,section) 所有例如:Dim vntsetting as variant,I as integerVntsetting= GetAllSetting(“MYMDI”,”settings”)For i= LBound(vntsetting,1) to UBound(vntse
17、tting,1)Debug.Print vntsetting(I,0), vntsetting(I,1)Next i1.10 Format函数Format(expression,format,firstdayofweek,firstweekofyear)1.10.1 格式化数值符号说明0表示该位为数字,若无数字,补0#表示该位为数字,若无数字,不补0.在该位显示小数点,在该位显示千位分隔符-+$() 空格 % 字母按原样显示例如:Print Format(6618.9,”00000.00”) 结果为06618.90Print Format(6618.9,”#,#0.00”) 结果为6,618.
18、90Print Format(0.5,” 0.00%”) 结果为50.00%1.10.2 格式化日期和时间符号说明cddddd . tttttd日期,1位时前面不加0dd日期,1位时前面加0ddd显示星期的英文缩写,如SUNdddd显示星期的英文全称ddddd完整日期w将一周中的日期以数值表示,1-星期日ww将一年中的星期以数值表示q将一年中的季以数值表示m月份,1位时前面不加0mm月份,1位时前面加0mmm显示月份缩写mmmm显示月份英文全称yy年,2位数字yyyy年,4位数字h小时,1位时前面不加0hh小时,1位时前面加0m分钟,1位时前面不加0mm分钟,1位时前面加0s秒,1位时前面不加
19、0ss秒,1位时前面加0AM/PMam/pmA/Pa/pAMPMttttt完整时间例如:Print Format(now,”dddd,mmm dd,yyyy”) 结果为Friday,jan 08,1999Print Format(now,”mmmm-yy”) 结果为january-99Print Format(now,” hh:mm:ss AMPM”) 结果为08:51:06 AM1.10.3 格式化文本strTmp=Format(“SYSTEM”,”<”) 小写systemstrTmp=Format(“system”,”>”) 大写SYSTEM1.10.4 命令格式格式名描述ge
20、neral number显示没有千位分隔符的数字currency显示有千位分隔符的数字,小数右边显示2位数字fixed小数点左边至少显示一位数字,右边显示2位数字standard显示有千位分隔符的数字,左边至少1位,右边至少2位数字percent百分号格式scientific科学记数法general date正常显示long date长日期格式medium datedd-mmm-yyshort date短日期格式long time长时间格式medium timehh:mm AM/PMshort timehh:mmyes/no非0数字为YES,0为NOtrue/false非0数字为TRUE,0为
21、FALSEon/off非0数字为ON,0为OFFstrTmp=Format(now,”long time”) 7:29:04strTmp=Format(1,”true/false”) True1.11 对象基础1.11.1 Me关键字 指向代码当前正运行的实例。Unload Me1.11.2 with语句 With 控件 .属性=xx End With1.11.3 常用内建对象App运行程序本身 、ClipBoard剪贴板 、Debug立即窗口 、 Printer系统打印机 、 Screen桌面、 Font字体2 窗体和控件2.1 窗体2.1.1 鼠标事件Private sub object_
22、event(button as integer,shift as integer,x as single,y as single)Button值值常数鼠标键0无1vbleftbutton左2vbrightbutton右3vbmiddlebutton中4vbleftbutton vbrightbutton同时5vbleftbutton vbmiddlebutton同时6vbrightbutton vbmiddlebutton同时7vbleftbutto vbrightbutton vbmiddlebutton同时Shift值值常数键状态1vbshiftmaskshift2vbctrlmaskct
23、rl3vbaltmaskalt4vbshiftmask vbctrlmask同时5vbshiftmask vbaltmask同时6vbctrlmask vbaltmask同时7vbshiftmask vbaltmask vbctrlmask同时2.1.2 键盘事件Private sub object_keypress(keyascii as integer,shift as integer )2.1.3 窗体的生命周期创建但不加载(initialize) 加载但不显示(load) 显示状态(show hide)卸载(queryunload unload) 卸载但未被引用状态2.2 控件2.2.
24、1 控件数组 资源消耗小 可运行时创建Load Object(index%)Unload object(index%)2.2.2 标签(label)caption属性作标记用,对齐alignment、自动换行属性wordwrap。2.2.3 文本框 换行 插入回车换行chr(13)chr(10)或 vbCrLfRichTextBox控件Microsoft Rich Textbox Control 6.0LoadFile SaveFile方法可读写rtf和txt文件2.2.4 列表框添加项目 box.additem “xxx”,index删除项目 box.removeitem index2.2.
25、5 slider滑块控件和progressbar进度条控件Microsoft Windows Common Controls 6.02.2.6 公共对话框与打开对话框有关的属性:FileName返回选中文件包括路径Filter过滤器 类型说明字符串| 类型通配表达式Flags属性 多选时用or 连接值含义&H200允许多重选择&H2000文件不存在时,提示创建文件&H10显示“帮助”&H4隐藏“以只读方式打开”复选框&H1“以只读方式打开”复选框选定与字体对话框有关的属性:Color返回颜色FontName返回字体名FontSize返回字体大小FontB
26、old返回是否粗体FontItalic斜体选择FontUnderline删除线选择FontStrikethru 下划线选择Min Max字体选择范围Flags属性 多选时用Or 连接常数值含义cdlCFANSIOnly&H400只允许选择WINDOWS字符集cdlCFApply&H200“应用”有效cdlCFBoth&H3列出可用的打印机和屏幕字体cdlCFEffects&H100显示“删除线”“下划线”“颜色”等cdlCFForceFontExit&H1000选择不存在字体时,显示错误信息cdlCFHelpButton&H4显示“帮助”cdlC
27、FTTOnly&H40000只能选择truetype字体cdlCFLimitSize&H2000min 和max范围内字体cdlCFScalableOnly&H20000只允许选择可缩放字体cdlCFScreenFonts&H1列出可用屏幕字体cdlCFPrinterFonts&H2列出可用打印机字体cdlCFWYSIWYG&H800屏幕、打印机均可用字体颜色对话框Color属性Flags属性 多选时用Or 连接常数值含义cdlCCFullOpen&H2显示全部cdlCCShowHelpButton&H8显示帮助cdlCCPrev
28、entFullOpen&H4禁止自定义颜色cdlCCRGBInit&H1设置出示颜色打印对话框Copies:份数FromPage:起始页ToPage:终止页Hdc:选定打印机的设备句柄PrinterDefault:是否可改变打印机的默认设置Min max 页码范围Flags属性 多选时用Or 连接常数值含义cdlPDAllPages&H0返回或设置“全部”单选钮的状态cdlPDCollate&H10返回或设置“分页”复选框的状态cdlPDDisablePrintToFile&H8000“打印到文件”无效cdlPDHelpButton&H800显示
29、“帮助”cdlPDHidePrintToFile&H10000隐藏“打印到文件”cdlPDNoPageNums&H8使“页数”单选钮无效cdlPDNoSelection&H4“选择的范围”无效cdlPDNoWarning&H80防止没有默认打印机时显示告警信息cdlPPageNums&H2返回或设置“页数”单选钮的状态cdlPDPrintSetup&H40显示“打印设置”对话框cdlPDPrintToFile&H20返回或设置“打印到文件”复选框状态cdlPDReturnDefault&H400返回默认打印机的名称cdlPDSel
30、ection&H1“选择的范围”3 图形处理3.1 坐标系原点(0,0)默认在左上角,刻度是缇(Twip)3.1.1 标准刻度ScaleMode值描述0自定义1缇,1440等于1英寸2点,72点等于1英寸3像素4字符5英寸6毫米7厘米3.1.2 ScaleWidth 和 ScaleHeight属性 自定义相对单位3.1.3改变坐标系 object.scale(x1,y1)-(x2,y2) 左上角、右下角确定坐标系3.1.4 当前坐标 CurrentX CurrentY3.2 图形方法3.2.1 清除绘图区object.cls3.2.2 画点 object.psetstep(x,y),c
31、olor step 相对位置3.2.3 取颜色 object.point(x,y) 范围外的点返回-13.2.4 画直线及矩形 object.linestep(x1,y1)- step(x2,y2),color,BFB矩形,F矩形填充同时一定用B3.2.5 画圆object.circlestep(x,y),radius,color画圆弧object.circlestep(x,y),radius,color,start,end,aspectstart,end起点和终点,单位,范围-22画椭圆object.circlestep(x,y),radius,color,start,end,aspectA
32、spect圆的纵横比3.2.6 PaintPicture方法object.paintpicture pic,destx,desty,destwidth,destheight,srcx,srcy,srcwidth,srcheight,opOp位操作常数常数含义vbDstInvert反转目标位置vbMergeCopy合并模式和源位图vbMergPaintor运算合并反转的源位图 和目标位图vbNotSrcCopy将反转的源位图复制到目标中vbNotSrcEraseor运算合并源位图 和目标位图,然后反转vbPatCopy将模式复制到目标位图vbPatInvert用xor运算合并目标位图和模式vbP
33、atPaint用or运算合并反转的源位图与模式,然后用or运算合并所得结果与目标位图vbSrcAnd用and运算合并目标像素与源位图vbSrcCopy将源位图复制到目标位图vbSrcErase反转目标位图并用AND运算合并所得结果与源位图vbSrcInvert用xor运算合并目标像素与源位图vbSrcPaint用or运算合并目标像素与源位图3.3 填充方式和填充颜色方式object.fillstyle=number常数值描述vbFSSolid0vbFSTransparent1vbHorizontalLine2vbVerticalLine3vbUpwardDiagonal4vbDownwardD
34、iagonal5vbCross6vbDiagonalCross7颜色object.fillcolor=value fillstyle属性为1 透明时忽略fillcolor3.4 线宽和线型线宽object.drawwidth=size 以像素为单位,范围132767线型drawstyle属性的取值常数值描述vbSolid0实线默认值vbDash1划线vbDot2点线vbDashDot3点划线vbDashDotDot4双点划线vbInvisible5透明线vbInsideSolid6内侧实线Drawwidth>1时,drawstyle的14画的都是实线3.5 绘图模式DrawMode常数值
35、描述vbBlackness1黑色vbNotMergePen2前景色与画笔色or,再取反vbMaskNotPen3画笔色取反,与背景andvbNotCopyPen4画笔色取反vbMaskPenNot5前景色取反,与画笔色 andvbInvert6前景取反vbXorPen7画笔色与前景色xorvbNotMaskPen8前景色与画笔色and,再取反vbMaskPen9前景色与画笔色andvbNotXorPen10画笔与前景xor,再取反vbNop11没有划线颜色vbMergeNotPen12画笔色取反,与前景色orvbCopyPen13默认设置,用前景色画线vbMergePenNot14前景取反,与
36、画笔ORvbMergePen15前景色与画笔色orvbWhiteness16白色3.6 颜色设置3.6.1 RGB(red,green,blue)02553.6.2 QBColor(color)参数color颜色rgb值参数color颜色rgb值0黑0,0,08灰64,64,641蓝0,0,1919亮蓝0,0,2552绿0,191,010亮绿0,255,03青0,191,19111亮青0,255,2554红191,0,012亮红255,0,05洋红191,0,19113亮洋红255,0,2556黄191,191,014亮黄255,255,07白191,191,19115亮白255,255,25
37、53.6.3 内部颜色值常数值描述常数值描述vbBlack&H0黑vbRed&HFF红vbGreen&HFF00绿vbYellow&HFFFF黄vbBlue&HFF0000蓝vbMagenta&HFF00FF洋红vbYan&HFFFF00青vbWhite&HFFFFFF白3.6.4 十六进制值 &HBBGGRR&3.7 图形控件3.7.1 图片框 可以作为其他控件的容器支持.bmp .dib .ico .cur .wmf .emf .jpg .gif加载LoadPicture 清除时不指定文件名即可3.7.2 图象
38、框 Stretch属性图像大小调整3.7.3 形状控件 ShapeStyle属性值常数预定义形状0vbShapeRectangle矩形1vbShapeSquare正方形2vbShapeOval椭圆3vbShapeCircle圆4vbShapeRoundedRectangle圆角矩形5vbShapeRoundedSquare圆角正方形3.7.4 直线控件 Line 不能用Move方法移动线段3.7.5 ImageList控件 Microsoft Windows Common Controls 6.0图像仓库,为TreeView和Toolbar等提供图形资源 复合图像imlImages.MaskC
39、olor=vbGreen 绿色变透明Set picOverlay.Picture=imlImages.Overlay(2,1)3.7.6 ImageCombo控件 3.7.7 Animation控件 Microsoft Windows Common Controls-2 6.0播放无声的AVI动画3.7.8 Multimadia控件 Microsoft Windows Common Controls 6.0MCI设备上的多媒体文件的录制和回放3.8 图形设备接口(GDI)画笔 画刷 绘图函数3.9 DirectDraw 编程初步 DirectX的2D图形部件4 菜单和工具栏4.1 设计菜单弹出式菜单 object.PopupMenu menuname,flags,x,y,boldcommand先创建一个顶级菜单项为不可见的菜单。4.2 工具栏 创建Im
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度公司股东内部关于企业社会责任履行共识协议3篇
- 二零二五农村合作建房工程招投标及合同管理协议
- 二零二五年度环保设施项目公司转让合同3篇
- 2025年度农村公路养护与社区文化活动合同2篇
- 2025年度外卖配送公司送餐服务优化合同3篇
- 2025年度公司与公司签订的智慧城市建设合作协议3篇
- 2025年度绿色养殖产业链合作协议书-养羊篇3篇
- 2025年度公司车辆充电设施建设及使用协议3篇
- 二零二五年度特色水果种植基地果园土地承包合同3篇
- 2025年度农村土地流转承包合同(农产品品牌推广)
- 辽宁省抚顺市抚顺县2023-2024学年八年级上学期期末考试数学试卷(含解析)
- 《中国武术的起源》课件
- 期末测试卷(试题)(含答案)2024-2025学年北师大版数学五年级上册
- 2024年道路运输安全生产管理制度样本(5篇)
- 2024年度股权转让合同标的及受让方条件
- 起重机司机-特种设备操作Q2证考试练习题(含答案)
- 2024年《疟疾防治知识》课件
- 矿业数字化转型研究
- 《现代控制理论》全套课件(东北大学)
- 2024春季中铁三局集团校园招聘高频难、易错点500题模拟试题附带答案详解
- 出版社图书编辑出版流程规范
评论
0/150
提交评论