vb代码大全
VBA函数大全

返回参数的绝对值, 其类型和参数相同。
Array函数返回一个包含数组的Variant。
Asc函数返回一个Integer, 代表字符串中首字母的字符代码。
Atn函数返回一个Double, 指定一个数的反正切值。
CallByName函数执行一个对象的方法, 或者设置或返回一个对象的属性。
Choose函数从参数列表中选择并返回一个值。
Chr函数返回String, 其中包含有与指定的字符代码相关的字符。
返回一个Double, 指定一个角的余弦值。
CreateObject函数创建并返回一个对ActiveX对象的引用。
CurDir函数返回一个Variant(String), 用来代表当前的路径。
CVErr函数返回Error子类型的Variant, 其中包含指定的错误号。
Date函数返回包含系统日期的Variant(Date)。
DateAdd函数返回包含一个日期的Variant(Date), 这一日期还加上了一段时间间隔。
DateDiff函数返回Variant(Long)的值, 表示两个指定日期间的时间间隔数目。
DatePart函数返回一个包含已知日期的指定时间部分的Variant(Integer)。
DateSerial函数返回包含指定的年、月、日的Variant(Date)。
DateValue函数返回一个Variant(Date)。
Day函数返回一个Variant(Integer), 其值为1到31之间的整数, 表示一个月中的某一日。
DDB函数返回一个Double, 指定一笔资产在一特定期间内的折旧。
可使用双下落收复平衡方法或其它指定的方法进行计算。
Dir函数返回一个String, 用以表示一个文件名、目录名或文件夹名称, 它必须与指定的模式或文件属性、或磁盘卷标相匹配。
DoEvents函数转让控制权, 以便让操作系统处理其它的事件。
Environ函数返回String, 它关连于一个操作系统环境变量。
在Macintosh中不可用EOF函数返回一个Integer, 它包含Boolean值True, 表明已经到达为Random或顺序Input打开的文件的结尾。
VB命令大全

VB命令大全VB命令大全VB可用指令、函数索引表AAbs求绝对值ActiveControl得到焦点的对象ActiveForm得到焦点的表单Array指定数组App得知程序信息AppActivate激活执行中的应用程序Asc求字符的内码AscB求字符的ASCIIAscW求字符的UniCodeAtn求Tan-1BBeep发出预设的警示声CCall调用子程序Calendar选择月历Choose取出一列值的某个值CBool数值转成布尔数CByte数值转成位元格式CCur数值转成货币格式CDate数据转成时间CDbl数值转成双精度浮点数CDec数据转成十进数ChDir改变目前路径缓充的路径ChDrive 改变目前磁盘缓充的磁盘Chr由内码求得一字符ChrB由ASCII求得一字符ChrW由UniCode求得一字符CInt数据转成IntegerCLng数据转成LongCommand读出程序的参数Const定义常数Cos COSCSng数值转成单精度浮点数CurDir得知目前路径缓充的路径CVar数值转成可变变量DDate得到目前电脑的时间Date$得到目前电脑时间字符串DateAdd 日期加法得日期DateDiff日期相减得数值DatePart日期部份资讯DateSerial字符串转日期DateValue数字转日期Day得知日期变量内是几号DDB折旧的计算DeleteSetting删除系统登录内的数据得知目前路径内的文件名DoEvents 闲置函数EEnd结束程序Environ取得环境变量的数据EOF某个文件缓冲的指标是否到档尾Erase 重新初始化数组Err错误资讯Error错误代码信息全国注册建筑师、建造师考试备考资料历年真题考试心得模拟试题Exp得到自然对数FFix去除小数FileCopy T o复制文件FileAttr文件开启模式FileDateTime文件存档日期FileLen文件长度筛选数组Format数据格式化输出FreeFile空的文件编号FV求得定期、定额支付且固定利率下之年金的值G GetAllSetting得到所有系统登录的资讯GetAttr得知文件属性GetSetting得到系统登录的资讯HHex将数值转成16进数表示的字符串Hour得知日期变量内是几时IIf . Then . Else判断结构IMEStatus得知IME输入法状态InStr寻找字符串里的字符串寻找字符串里的ASCIIIntStrRev由字符串右边开始寻找字符串里的字符串Int取整数JJoin将数组数据加入分隔字符后组合成一新字符串K Kill删除文件LLBound得知数组最小起始范围LCase字符串转小写Left截取字符串左边几个字Len得知字符串的字数LenB得知变量占用记忆体几个ByteLoadPicture载入图形Log求对数值LSet字符串向左对齐移除字符串最左边的空白字符MMid截取字符串里某些字符串Minute得知日期变量内是几分MkDir建立新的数据颊Month得知日期变量内是第几月NName As更改文件名Now得知目前点脑的日期与时间OOct字符转成八进制的字符串Option VB内部一些选项设定PPopupMenu跳出菜单Print列印数据QQBColor设定颜色(16)RRandomize随机数初始化声明Replace取代字符串中某些字符串V B6提供RGB设定颜色(255*255*255色)RmDir移除数据颊Rnd得到一个随机数RSet字符串向右对齐RTrim去除字符串最右边的空白字符S SavePicture储存图形Screen得知屏幕简易资讯Second得知日期变量内是几秒SetAttr设定文件属性得知是整数还是负数vShell执行外部程序Sin得知SinSpace填入数个空白字符Split以某字符串将字符串拆解成数组V B6 提供Sqr求平方根Str数值转字符串StrComp比较字符串StrConv改变字符串型态String设定一个重覆的字符串StrReverse字符串反转VB6提供TTab列印n个制表符Tan得知TanTime得知、设定电脑时间Time$得知、设定时间字符串Timer得知今天电脑总秒数TimeSerial字符串转时间TimeValue数字转时间Trim去除字符串首尾的空白字符TypeName 得知变量类别的名称UUBound得知数组的最值UCase字符串转大写VVal将字符串转成数字VarType得知变量的类型WWeekDay得知日期变量内是星期几WeekdayName将WeekDay传回值改成文字显示VB6提供YYear得知日期变量内是几年。
VB代码大全

隐藏form1:form1.hide显示form1:form1.show--------------------------------------------------------------------------------------------- 退出程序时,弹出窗口提示是否要退出:Private Sub Form_Unload(Cancel As Integer)Dim iAnswer As IntegeriAnswer = MsgBox("真要退出吗?", vbYesNo)If iAnswer = vbNo ThenCancel = TrueElseEndEnd IfEnd Sub---------------------------------------------------------------------------------------------- 只能用任务管理器关闭程序的代码:Private Sub From_Unload(Cancel As Integer)Cancel = trueEnd Sub------------------------------------------------------------------------------------------------ 点击command1打开33IQ网:Dim strURLPrivate Sub Command1_Click()strURL = "错误!超链接引用无效。
Shell "explorer.exe " & strURL, 1End Sub------------------------------------------------------------------------------------------------ 运行c:\1.exeshell "c:\1.exe"执行c:\1.batshell "c:\1.bat"注:只适用于大部分exe和全部bat。
vb编程代码大全

vb编程代码大全Visual Basic (VB) 是一种广泛用于软件开发的高级编程语言,可以用于开发 Windows 应用程序、Web 应用程序、数据库应用程序等。
在本文中,将介绍一些常用的 VB 编程代码,帮助初学者快速入门和提高编程水平。
一、基本数据类型1. 整型数据在 VB 中,整型数据可以使用 Integer 类型表示,范围为 -32,768 到32,767。
定义整型变量的代码如下:```Dim num As Integernum = 10```2. 浮点数据浮点数据可以使用 Single 或 Double 类型表示,分别表示单精度浮点数和双精度浮点数。
定义浮点变量的代码如下:```Dim num As Singlenum = 3.143. 字符串数据字符串数据可以使用 String 类型表示,可以存储文本数据。
定义字符串变量的代码如下:```Dim str As Stringstr = "Hello, World!"```二、控制流程1. If...Then...Else 语句If...Then...Else 语句用于根据条件执行不同的代码块。
例如:```Dim num As Integernum = 10If num > 0 ThenMsgBox("Num is positive.")ElseMsgBox("Num is negative.")End If2. For 循环For 循环用于重复执行一段代码。
例如:```For i = 1 To 10MsgBox(i)Next i```3. Do While 循环Do While 循环在满足条件时执行代码块。
例如:```Dim i As Integeri = 1Do While i <= 10MsgBox(i)i = i + 1Loop```三、数组1. 一维数组一维数组在 VB 中用于存储相同类型的多个元素。
vb编程代码大全.ea

vb编程代码大全型函数:abs(num): 返回绝对值sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负hex(num): 返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0int(num): 取整int(99.8)=99; int(-99.2)=100fix(num): 取整fix(99.8)=99; fix(-99.2)=99log(num): 取以e为底的对数num>0exp(n): 取e的n次幂通常用num^nsin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num)2.字符串函数:len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen):从左边起截取nlen长度子字符串right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成大写trim(str):去除字符串两端空格Ltrim(str):去除字符串左侧空格Rtrim(str):去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比拟方法]):替换字符串注:默认值:起始字符1;替代次数不限;比拟方法区分大小写〔0〕InStr([起始字符,]str,查找字符串[,比拟方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比拟方法]):反向检测是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,分割字符串[,次数][,比拟方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选3.数据类型转换函数:Cint(str):转换正数True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段1;Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num):num不为零True;反之FalseCdate(str):转换日期格式0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间Cbyte(num):num<255 转换为字节Csng(str):转换为单精度数值Cdbl(str):转换为双精度数值Ccur(str):转换为现金格式4.时间函数:date:取系统当前日期time:取系统当前时间now:取系统当前时间及日期值Datetime类型timer:取当前时间距离零点秒值,计时器,可计算时间差DateAdd(间隔单位,间隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date):输出日期值〔按序列计算〕Timeserial(time):输出时间值〔按序列计算〕Datevalue(datetime):取出字符串中日期值Timevalue(datetime):取出字符串中时间值weekday(date):计算星期几MonthName(date):输出月分名year(datetime):截取年份month(datetime):截取月份day(datetime):截取日hour(datetime):截取小时minute(datetime):截取分钟second(datetime):截取秒5.其它函数:Array(unit,..):动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符Enter:Chr(13)&Chr(10)Filter(数组名称,关键字符串,[,包含][,比拟方法]):将字符串数组中含有关键字符串的元素存成新的数组〔默认〕[包含]为false那么取不包含的元素oin(ArrayName):将数组中元素连成字符串Ubound(ArrayName[,维数]):取得数组相应维数的上界Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0Randmize n:启动随机数种子Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件〔B>A〕子程序和自定义函数Sub StrSubName Function StrFunName(arg[1],..)子程序体函数体Exit Sub 中途跳出Exit Function 中途跳出End Sub StrFunName=value 返回值End Function[call] StrSubName 引用子程序Var=StrFunName(arg[1],..) 引用函数。
vb常用代码大全

移动无标题栏的窗体dim m(borderstyle=none)ouseX as integerdim mouseY as integerdim moveX as integerdim moveY as integerdim down as booleanform_mousedown: 'mousedown事件down=truemouseX=xmouseY=yform_mouseup: 'mouseup事件down=falseform_mousemoveif down=true thenmoveX=me。
left—mouseX+XmoveY=me.top-mouseY+Yme.move moveX,moveYend if*******************************************闪烁控件比如要闪烁一个label(标签)添加一个时钟控件间隔请根据实际需要设置 enabled属性设为true代码为:label1.visible=not label1.visible *******************************************禁止使用 Alt+F4 关闭窗口Private Declare Function DeleteMenu Lib ”user32"(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Lon g) As LongPrivate Declare Function GetMenuItemC ount Lib ”user32” (ByVal hMenu As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Sub Form_Load()Dim hwndMenu As LongDim c As LonghwndMenu = GetSystemMenu(Me。
代码大全VBS格式

verybat=split("dear ,friends ,~, nice ,to ,meet ,you ,i ,am ,so ,sorry ,that ,i ,controled ,your ,computer, without ,you ,allowing,~,please ,excuse ,me ,i ,want ,to ,say ,to ,you ,today,~,my ,friends ,so ,even ,through ,we ,face ,the ,difficulties ,of ,today ,and ,tomorrow,~,still ,have ,a ,dream ,it ,is ,a ,dream ,deeply ,rooted ,in ,our ,common ,dreams ,~,Maybe ,it's ,true ,that ,we ,do ,not ,know ,what ,we ,have ,got ,until ,we ,lose ,it,~,but ,it ,is ,also ,true ,that ,we ,do ,not ,know ,what ,we ,have ,been ,missing ,until ,it ,arrives ,.see ,you ,later ,~,with ,the ,best ,wishes,~, yours,~, lhj",",")
msgbox "你SB啊!"
else
msgbox "还不承认!! 作为惩罚,蓝屏一下,你马上挂了#¥!@#¥%@……#……?",64,"严重警告!!!!!!!!!"
vb编程代码大全

vb编程代码大全1、数值型函数:abs(num): 返回绝对值sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负hex(num): 返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0int(num): 取整int(99、8)=99; int(-99、2)=100fix(num): 取整fix(99、8)=99; fix(-99、2)=99round(num,n): 四舍五入取小数位round(3、14159,3)=3、142 中点数值四舍五入为近偶取整round(3、25,1)=3、2log(num): 取以e为底的对数num>0exp(n): 取e的n次幂通常用num^nsin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num)2、字符串函数:len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen):从左边起截取nlen长度子字符串right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成大写trim(str):去除字符串两端空格Ltrim(str):去除字符串左侧空格Rtrim(str):去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0)InStr([起始字符,]str,查找字符串[,比较方法]):检测就是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测就是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选3、数据类型转换函数:Cint(str):转换正数True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段1; Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num):num不为零True;反之FalseCdate(str):转换日期格式0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间Cbyte(num):num<255 转换为字节Csng(str):转换为单精度数值Cdbl(str):转换为双精度数值Ccur(str):转换为现金格式4、时间函数:date:取系统当前日期time:取系统当前时间now:取系统当前时间及日期值Datetime类型timer:取当前时间距离零点秒值,计时器,可计算时间差DateAdd(间隔单位,间隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date):输出日期值(按序列计算)Timeserial(time):输出时间值(按序列计算)Datevalue(datetime):取出字符串中日期值Timevalue(datetime):取出字符串中时间值weekday(date):计算星期几MonthName(date):输出月分名year(datetime):截取年份month(datetime):截取月份day(datetime):截取日hour(datetime):截取小时minute(datetime):截取分钟second(datetime):截取秒5、其它函数:Array(unit,、、):动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符Enter:Chr(13)&Chr(10)Filter(数组名称,关键字符串,[,包含][,比较方法]):将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素oin(ArrayName):将数组中元素连成字符串Ubound(ArrayName[,维数]):取得数组相应维数的上界Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0Randmize n:启动随机数种子Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A与B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)子程序与自定义函数Sub StrSubName Function StrFunName(arg[1],、、)子程序体函数体Exit Sub 中途跳出Exit Function 中途跳出End Sub StrFunName=value 返回值End Function[call] StrSubName 引用子程序Var=StrFunName(arg[1],、、) 引用函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用VB5实现窗口图象缩放、滚动技巧成都理工学院计算机工程系洪志全---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。
本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。
---- 一、获取图像---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。
具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。
---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。
---- 二、图像缩放---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为:PaintPicture Pic,DestX,DestY,DestWidth,DestHeight,ScrX,ScrY,ScrWidth,ScrHeight---- 其中,Pic 为图片对象, 如图形控件对象等;DestX,DestY为目标图像起始坐标;DestWidth,DestHeight为目标图像幅面尺寸;ScrX,ScrY为源图像起始坐标;ScrWidth,ScrHeight为源图像剪裁尺寸。
---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。
若ScrWidth,ScrHeight 或DestWidth,DestHeight 为负值还可实现窗口图像的水平、垂直反转显示。
因此, 在把源图像送入目标图形容器控件时, 若改变源图像的幅面尺寸, 即可实现图像的缩放处理。
---- 三、图像滚动---- 当载入图像尺寸大于图形控件窗口时, 为了便于浏览、选取必须对窗口图像滚动操作。
窗口图像滚动可通过水平滚动控件HScroll 和垂直滚动控件VScroll 来实现, 通过控件的改变值HScroll.Value 和VScroll.Value 来控制PaintPicture 命令中的源图像坐标ScrX 和ScrY, 即可实现窗口图像的滚动操作。
---- 四、图像缩放、滚动实现---- 本文可对非压缩BMP 位图进行缩放、滚动, 非压缩BMP 位图的宽度和高度在文件开始11H 后的8 个字节。
若读者需要对其它图像格式( 如JPG,TIF 等) 进行缩放操作, 可根据本文介绍的方法对找出相应的图像高度和宽度即可, 具体实现步骤如下:---- 1. 执行“File >Projects” 创建一新项目APPIMG.VBP, 在FORM 窗口中创建PictureBox、CommandButton、HScroll、VScroll 等对象, 调整各自位置, 并设置各对象的属性如下:Form:Name = AppImage,ScaleMode = 1PictureBox:Name = ImageWin, Appearance = 1-3D, ScaleMode = 3CommandButton:Name = ZoomIn, Caption="Zoom In"CommandButton:Name = ZoomOut, Caption="Zoom Out"CommandButton:Name = ExitButton, Caption="Exit"---- 2. 双击FORM 窗口, 并将下面程序输入到Form 对象的Load 事件中。
该程序用于读取图像的宽度和高度, 初始化常用参数, 载入窗口图像, 并将图像复制到FORM 窗口的PictureBox 图形控件容器中显示。
Private Sub Form_Load()Dim FileName As StringFileName = "C:\SAMP.BMP"Open FileName For Binary As #1Get #1, 19, ImageWidth: Get #1, , ImageHeight'读取位图的宽度和高度Close #1DW = 15 * ImageWidth - ImageWin.Width'将像点转换为Twip(微点)DH = 15 * ImageHeight - ImageWin.HeightImageWin.Width = 15 * ImageWidthImageWin.Height = 15 * ImageHeightAppImage.AutoRedraw = TrueAppImage.Caption = FileName'改变Form窗标题HScroll1.SmallChange = 100'设置滚动最小步距VScroll1.SmallChange = 100DX = ImageWin.Width: DY = ImageWin.Height'设置复制图像尺寸SX = ImageWin.Width: SY = ImageWin.HeightAMP = 1'设置缩放比例为1sWin = GetDesktopWindow()'获取桌面窗口句柄sDC = GetDC(sWin)'转换为描述表句柄hd = BitBlt(ImageWin.hdc, 0, 0, Image.Width,Image.Height, sDC, 0, 0, &HCC0020)hd = ReleaseDC(sWin, sDC)'释放窗口描述表AppImage.ImageWin = LoadPicture(FileName)'载入图像显示End Sub---- 3. 在General 对象的Declaration 过程中声明本程序所使用的WIN95 API 函数和和过程, 以及各事件程序所使用的全局变量等。
Private Declare Function BitBlt Lib "gdi32"(ByVal hDestDC As Long, ByVal X As Long,ByVal Y As Long, ByVal nWidth As Long, ByValnHeight As Long, ByVal hSrcDC As Long,ByVal xSrc As Long, ByVal ySrc As Long,ByVal dwRop As Long) As LongPrivate Declare Function GetDC Lib "user32"(ByVal hwnd As Long) As LongPrivate Declare FunctionGetDesktopWindow Lib "user32" () As LongPrivate Declare Function ReleaseDC Lib "user32"(ByVal hwnd As Long, ByVal hdc As Long) As LongDim sWin, sDC, hdDim ImageWidth As Long, ImageHeight As LongDim DX, DY, SX, SY, PX, PY, DW, DH, MX, MY, X0, Y0, AMP---- 4. 双击ImageWin 对象, 并在MouseMove 事件和Mouse_down 事件中输入下面程序, 用于窗口图形的拖动滚动处理。
Private Sub ImageWin_MouseMove(Button As Integer,Shift As Integer, X As Single, Y As Single)If (Button And vbLeftButton) > 0 Then'拖动鼠标滚动图像MX = HScroll1.Value + (X - X0)MY = VScroll1.Value + (Y - Y0)If MX > 0 And MX < HScroll1.Max Then HScroll1.Value = MXIf MY > 0 And MY < VScroll1.Max Then VScroll1.Value = MYEnd IfEnd SubPrivate Sub ImageWin_MouseDown(Button As Integer,Shift As Integer, X As Single, Y As Single)X0 = X: Y0 = Y'拖动鼠标初值End Sub---- 5. 在ZoomIn 控件和ZoomOut 的Click 事件中输入下列程序, 对窗口图像进行放大、缩小处理。
Private Sub ZoonIn_Click()If AMP < 5 Then AMP = 2 * AMP'放大系数小于5,则放大图像AppImage.ImageWin.PaintPicture ImageWin.Image,0, 0, AMP * DX, AMP * DY, PX, PY, SX, SYEnd SubPrivate Sub ZoomOut_Click()AppImage.ImageWin.Cls'清除窗口图像If AMP > 0.25 Then AMP = AMP / 2'放大系数大于0.25,则缩小图像AppImage.ImageWin.PaintPictureImageWin.Image, 0, 0, AMP * DX, AMP * DY, PX, PY, SX, SYEnd Sub---- 6. 在HScroll 控件和VScroll 控件的Change 事件中输入下面程序, 对窗口图像进行滚动处理。