📄 vb16.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0057)http://www.pconline.com.cn/experience/subject/VB/vb16.htm -->
<HTML><HEAD><TITLE>|><| 太平洋电脑信息网</TITLE><!-- #BeginTemplate "/Templates/0723.dwt" --><!-- #BeginEditable "doctitle" --><!-- #EndEditable -->
<META content="text/html; charset=gb2312" http-equiv=Content-Type><LINK
href="vb16.files/text.css" rel=stylesheet>
<STYLE type=text/css>.sfont {
LINE-HEIGHT: 18pt
}
</STYLE>
<META content="MSHTML 5.00.2014.210" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD vAlign=top width="100%">
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR bgColor=#303880>
<TD><A href="http://www.pconline.com.cn/"><IMG alt=太平洋电脑信息网 border=0
height=18 hspace=30 src="vb16.files/txtpconline.gif"
width=96></A><IMG height=10 src="vb16.files/blank.gif"
width=400></TD></TR></TBODY></TABLE></TD>
<TD align=right background=vb16.files/bw.gif noWrap width=130><IMG
height=26 src="vb16.files/bw.gif" width=10><A
href="http://www.pconline.com.cn/sitemap/"><IMG alt=网站地图 border=0
height=26 src="vb16.files/sitemap.gif" width=21></A><IMG height=26
src="vb16.files/bw.gif" width=10><A
href="http://www.pconline.com.cn/tpy/"><IMG alt=关于太平洋 border=0 height=26
src="vb16.files/aboutus.gif" width=21></A><IMG height=26
src="vb16.files/bw.gif" width=10><A
href="http://www.pconline.com.cn/tpy/tariff.html"><IMG alt=与我们联系 border=0
height=26 src="vb16.files/contact.gif" width=21></A><IMG height=26
src="vb16.files/bw.gif" width=10></TD></TR></TBODY></TABLE><BR>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=760>
<TBODY>
<TR>
<TD bgColor=#666666><IMG height=1 src="vb16.files/blank.gif" width=1></TD>
<TD bgColor=#666666><IMG height=1 src="vb16.files/blank.gif" width=1></TD>
<TD> </TD>
<TD colSpan=2 noWrap><A
href="http://www.pconline.com.cn/experience/index.html"><IMG
align=absBottom alt=企业之窗 border=0 height=15
src="vb16.files/txtexperience.gif" width=68></A> <A
href="http://www.pconline.com.cn/">首 页</A> <A
href="http://www.pconline.com.cn/market/">今日报价</A> <A
href="http://www.pconline.com.cn/recommend/">产品推介</A> <A
href="http://www.pconline.com.cn/yp/">企业之窗</A> <A
href="http://www.pconline.com.cn/news/">科技新闻</A> <A
href="http://www.pconline.com.cn/product/">产品查询</A> <A
href="http://www.pconline.com.cn/download/">软件下载</A></TD></TR>
<TR>
<TD><IMG height=1 src="vb16.files/blank.gif" width=1></TD>
<TD><IMG height=1 src="vb16.files/blank.gif" width=1></TD>
<TD><IMG height=1 src="vb16.files/blank.gif" width=21></TD>
<TD bgColor=#ffa000 colSpan=2><IMG height=1 src="vb16.files/blank.gif"
width=1></TD></TR>
<TR>
<TD bgColor=#666666><IMG height=1 src="vb16.files/blank.gif" width=1></TD>
<TD bgColor=#cdcdcd><IMG height=5 src="vb16.files/blank.gif" width=1></TD>
<TD align=right colSpan=3><IMG height=6 src="vb16.files/ffa000.gif"
width=1></TD></TR>
<TR>
<TD bgColor=#666666><IMG height=1 src="vb16.files/blank.gif" width=1></TD>
<TD align=right><A href="http://www.pconline.com.cn/"><IMG alt=太平洋电脑信息网
border=0 height=35 src="vb16.files/pconline.com.cn.gif" vspace=10
width=162></A></TD>
<TD> </TD>
<TD vAlign=bottom><!-- #BeginEditable "important_news" --><IMG height=40
src="vb16.files/blank.gif" width=350><!-- #EndEditable --></TD>
<TD align=right vAlign=top><!-- #BeginEditable "adv_top" --><IMG alt=广告位
height=43 src="vb16.files/icon.gif"
width=190><!-- #EndEditable --></TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=760>
<TBODY>
<TR>
<TD bgColor=#666666 width=1><IMG height=1 src="vb16.files/blank.gif"
width=1></TD>
<TD vAlign=top width=170><!-- #BeginEditable "addons" --><!--替代为附加信息 --><!-- #EndEditable --></TD>
<TD bgColor=#666666 width=1><IMG height=1 src="vb16.files/blank.gif"
width=1></TD>
<TD><IMG height=1 src="vb16.files/blank.gif" width=21></TD>
<TD colSpan=3 vAlign=top width=566><!-- #BeginEditable "1" --><IMG
height=1 src="vb16.files/blank.gif" width=566><BR><IMG height=1
src="vb16.files/666666.gif" width=420><BR><IMG height=13
src="vb16.files/blank.gif" width=1><A
href="http://www.pconline.com.cn/experience/">经验共享</A> > <SPAN
class=greenb><A
href="http://www.pconline.com.cn/experience/subject/VB/index.html">专题教程</A></SPAN><A
href="http://www.pconline.com.cn/experience/subject/VB/index.html">
VB专区</A>> <BR><IMG height=1 src="vb16.files/666666.gif" vspace=1
width=420><BR>
<P align=center><B><FONT color=#000066><SPAN class=sfont>VB5 实 现 窗 口 图 像 缩
放、 滚 动 技 巧</SPAN></FONT></B> <SPAN class=sfont><BR></SPAN></P>
<P align=center><SPAN class=sfont>洪 志 全 </SPAN></P>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> Visual Basic 是Windows
平 台 中 最 常 用 的 应 用 软 件 开 发 语 言, 窗 口 图 像 缩 放、 滚 动 是 图 像 处 理、 多 媒 体 数 据 库 等 应
用 软 件 开 发 中 的 基 本 功 能。 本 文 将 介 绍 如 何 用VB 5.0 实 现 地 窗 口 图 像 缩 放 和 滚 动 技 巧,
供 读 者 在 各 种 语 言 系 统 开 发 中 参 考。 </SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> <B>一、 获 取 图 像</B>
</SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 本 文 所 介 绍 的 图 像 缩 放 并
没 有 对 真 正 的 图 像 进 行 缩 放, 而 是 复 制 一 幅 窗 口 图 像 的 真 实 画 面, 对 这 个 窗 口 图 像 附 本
进 行 局 部 缩 放 和 滚 动, 获 取 窗 口 图 像 可 使 用Windows 的API 函 数 来 实 现。 具 体 来 说, 实 现 窗
口 图 像 缩 放、 滚 动 需 要 用GetDeskTopWindow() 函 数 获 取 桌 面 窗 口 句 柄, 再 通 过GetDC() 函
数 转 换 为 描 述 表 句 柄, 则 用BitBlt() 函 数 把 桌 面 图 像 复 制 到 任 意 图 形 容 器 控 件 中, 桌 面
图 像 复 制 完 成 后, 再 用ReleaseDC 释 放 窗 口 描 述 表, 各API 函 数 的 具 体 使 用 方 法 参 见 本 文
的 例 子 程 序。 </SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 本 文 所 用 的API 函 数 包 含
在WIN95/98 的GDI32.DLL 和USER32.DLL 动 态 链 接 库 中, 在 使 用 时 可 通 过VB5.0 的TEXT
VIEWER 复 制 到 所 开 发 的 应 用 程 序 中。 </SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> <B>二、 图 像 缩 放</B>
</SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 图 像 缩 放 显 示 的 基 本 原 理
就 是 把 原 图 像 的 一 部 分 缩 放 后 再 送 入 窗 口 的 图 形 容 器 控 件 中, 在VB 中 可 用 内 部 命
令PaintPicture 来 进 行, 语 法 格 式 为: </SPAN><PRE><SPAN class=sfont>
PaintPicture Pic,DestX,DestY,DestWidth,
DestHeight,ScrX,ScrY,ScrWidth,ScrHeight
</SPAN></PRE>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 其 中,Pic 为 图 片 对 象, 如
图 形 控 件 对 象 等; </SPAN><PRE><SPAN class=sfont>
DestX,DestY为目标图像起始坐标;
DestWidth,DestHeight为目标图像幅面尺寸;
ScrX,ScrY为源图像起始坐标;
ScrWidth,ScrHeight为源图像剪裁尺寸。
</SPAN></PRE>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 该 命 令 就 是 把 一 个 源 图 像
资 源 任 意 复 制 到 指 定 的 区 域, 其 功 能 相 当 于API 函 数 的BitBlt, 但 使 用 更 简 单, 若 复 制 时
改 变 源 图 像 的ScrWidth,ScrHeight 或 目 标 图 像 的DestWidth,DestHeight 可 使 复 制 后 的
图 像 尺 寸 发 生 变 化, 实 现 窗 口 图 像 的 缩 放 显 示。 若ScrWidth,ScrHeight
或DestWidth,DestHeight 为 负 值 还 可 实 现 窗 口 图 像 的 水 平、 垂 直 反 转 显 示。 因 此, 在 把 源
图 像 送 入 目 标 图 形 容 器 控 件 时, 若 改 变 源 图 像 的 幅 面 尺 寸, 即 可 实 现 图 像 的 缩 放 处 理。
</SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> <B>三、 图 像 滚 动</B>
</SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 当 载 入 图 像 尺 寸 大 于 图 形
控 件 窗 口 时, 为 了 便 于 浏 览、 选 取 必 须 对 窗 口 图 像 滚 动 操 作。 窗 口 图 像 滚 动 可 通 过 水 平 滚
动 控 件HScroll 和 垂 直 滚 动 控 件VScroll 来 实 现, 通 过 控 件 的 改 变 值HScroll.Value
和VScroll.Value 来 控 制PaintPicture 命 令 中 的 源 图 像 坐 标ScrX 和ScrY, 即 可 实 现 窗 口
图 像 的 滚 动 操 作。 </SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> <B>四、 图 像 缩 放、 滚 动 实
现</B> </SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 本 文 可 对 非 压 缩BMP 位 图
进 行 缩 放、 滚 动, 非 压 缩BMP 位 图 的 宽 度 和 高 度 在 文 件 开 始11H 后 的8 个 字 节。 若 读 者 需 要
对 其 它 图 像 格 式( 如JPG,TIF 等) 进 行 缩 放 操 作, 可 根 据 本 文 介 绍 的 方 法 对 找 出 相 应 的 图
像 高 度 和 宽 度 即 可, 具 体 实 现 步 骤 如 下: </SPAN>
<P><SPAN class=sfont><FONT color=#ffffff>----</FONT> 1. 执 行“File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -