说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

平铺贴图背景 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
平铺贴图背景 -VB资料
作者:吴斌

为VB窗口增添平铺贴图背景

  “平铺贴图”是Windows壁纸一种经常使用的形式。只要在Windows桌面设置程序中,选择一个Windows自带的图案,或者选择一个自己制作的位图文件并选定“平铺”选项,系统就会将你选择的图案或位图有规则地从左到右、从上到下铺满整个屏幕。其实,通过调用API函数BitBlt,便可轻松自如地为VB应用程序的窗口制作平铺贴图背景。

  BitBlt函数的作用是将位图从一个设备描述表拷贝到另一个与之兼容的设备描述表,它的语法是:BitBlt% (ByVal hDestDC%, ByVal X%, ByVal Y%, ByVal nWidth%, ByVal nHeight%, ByVal hSrcDC%, ByVal XSrc%, ByVal YSrc%, ByVal dwRop&)。其中,参数hDestDC指定目标设备描述表;X和Y指定目标设备描述表中目标矩形左上角的逻辑坐标点;nWidth和nHeight定义被拷贝的矩形图像的宽度和高度;hSrcDC指定目标设备描述表;XSrc和YSrc指定源设备描述表中源矩形左上角的逻辑坐标点;dwRop定义拷贝过程中使用的光栅操作。VB中的Form和PictureBox对象,都有各自相应的设备描述表用于存放它们显示的位图,这些设备描述表可以通过hDC属性存取。由此,我们可以总结出平铺贴图的实现方法:首先,将贴图图案载入一个PictureBox控件的设备描述表,然后,使用BitBlt函数将该设备描述表中的位图重复复制到同一设备描述表中,在复制过程中,通过改变BitBlt函数的X和Y参数控制复制的位置,使位图从左至右从上到下无缝排列,直到设备描述表中的位图尺寸与显示屏幕大小相同为止,最后,将该位图装入Form中显示,就可使该Form具有平铺贴图背景了。下面让我们使用该方法来完成一个实例。

  新建一个VB项目,在缺省窗体Form1中加入一个PictureBox控件Picture1,插入一个模块Module1,在其中加入如下声明语句:

  Declare Function BitBlt Lib "GDI" (ByVal hDestDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal XSrc As Integer, ByVal YSrc As Integer, ByVal dwRop As Long) AsInteger

  Public Const SRCCOPY = &HCC0020

  在项目中加入下列代码:
  Private Sub Form—Load()
   Dim hDCPic As Long
   Dim XPos As Integer
   Dim YPos As Integer
   Dim Ret As Integer
   Dim HeightMax As Integer
   Dim WidthMax As Integer
   Dim WidthPic As Integer
   Dim HeightPic As Integer

  '将位图载入Picture1的设备描述表
   Picture1.ScaleMode = 3
   Picture1.Visible = False
   Picture1.AutoSize = True
   Picture1.AutoRedraw = True

  '在此选择贴图的图案文件
   Picture1.Picture = LoadPicture("tile.bmp")

  '初始化变量
   HeightMax = Screen.Height \ Screen.TwipsPerPixelY
   WidthMax = Screen.Width \ Screen.TwipsPerPixelX
   WidthPic = Picture1.ScaleWidth
   HeightPic = Picture1.ScaleHeight

  '初始化Picture1的设备描述表以接受平铺贴图
   Picture1.AutoSize = False
   Picture1.Height = Screen.Height
   Picture1.Width = Screen.Width
   hDCPic = Picture1.hDC

  '水平拷贝位图生成平铺贴图的第一行
   For XPos = 0 To WidthMax Step WidthPic
     Ret = BitBlt(hDCPic, XPos, 0, WidthPic, HeightPic, hDCPic, 0, 0, SRCCOPY)
   Next

  '垂直拷贝已生成的第一行直至生成整个平铺贴图
   For YPos = HeightPic To HeightMax Step HeightPic
     Ret = BitBlt(hDCPic, 0, YPos, WidthMax, HeightPic, hDCPic, 0, 0, SRCCOPY)
   Next

  '将Picture1中的位图装入Form显示,然后清除Picture1中的位图
   Me.Picture = Picture1.Image
   Picture1.Picture = LoadPicture("")
   Picture1.AutoRedraw = False

  End Sub

 按F5运行,Form1的窗口内就出现了一个平铺贴图背景。
2012 MDCC“2012移动互联网应用创新大赛与开发者面对面”专场:创所未享,携手逐梦! RIM携QNX为“2012 BlackBerry平台移动应用高校竞赛” 颁奖 BlackBerry 10 策略:用金钱吸引游戏开发者 黑莓10要来了:RIM正式开放应用提交 从RIM与微软达成exFAT授权所想到的 OpenStack中国行来到南京 中兴通讯分享电信行业应用 CSS架构目标:预测、重用、扩展、维护 黑客利用移动浏览器漏洞窃取云计算资源 地位动摇:Windows设备10月销量同比下滑21% 手机QQ浏览器4.0 Android版 极速快感 生存还是毁灭:Facebook惨败真是HTML5的错? OpenStack基金会主席:一年后成熟度超越CloudStack 在线学习新编程 技巧全攻略 “英特尔杯”HTML5程序开发邀请赛侧记 C#编译器组首席工程师Eric Lippert离职 加盟Coverity Testacular:Google开源的JavaScript测试执行过程管理工具 黑莓亚洲开发者大会报道:BB10将敲开亚洲应用市场大门 挑战Google!传Facebook与Yahoo要联手开发搜索引擎 揭秘Android 4.2 开发者的天堂与地狱 11大黄金法则:顶级移动UX设计心髓 库克时代:苹果已经不是苹果 设计师必备:极简风格的Fluid UI快速原型图工具 iPhone 5发布,后乔布斯时代苹果乏善可陈 牛人妙计:HTML5应用也能像原生一样跑得快 移动周报:OpenFeint难逃关闭命运 细数与苹果恩怨史 FlyingDaggers团队专访:不浮躁,用心做真正的原创游戏! IT巨头混战:谷歌、苹果、Facebook以及亚马逊的四国演义 乐视TV:智能电视平台——Android 开发者的新空间 TIOBE 2012年12月编程语言排行榜:Objective-C冲刺卫冕年度语言 11月份浏览器市场份额 IE10已占据0.51% 亚洲高科技公司正在分享惠普、戴尔和IBM的云“午餐” 数据统计分析问题,请专家关注!好难 如何判断执行 INSERT INTO 语句插入记录成功或失败? 哪位大侠能给我详细的介绍一下CWnd::SendMessage()函数 Strange return value of CoInitializeEx [HELP]辞职问题:杭州的GGJJ们来帮帮我 谁有windows 95的下载地址? ADO与本地数据库问题,看来是高难问题啊,怎么没人接招呢? tell me why??有关jdbc for sqlserver 2维数组按某一列进行排序,内详,求救? 关于在Oracle数据库服务器如何提供下载一个excel文件型的大对象到本地?十万火急!三根鸡毛! 怎样得到数据库里某字段里没出现过、而且还是最小的数字呢? 请问大家这种数据表怎样设计最好??? 关于ID3V2?请大家帮帮忙 <<VC技术内幕(第四版)>>中应用程序框架示例的程序要怎样才能运行? Win2K的远程访问出现身份验证问题 关于TMediaPlayer缩放,请您赐教 如何显示一个库中所有的表以及显示一个表的结构 能不能使自己画的一个图形,响应鼠标事件? 如何取得数据库某字段中从未出现过的、而且还是最小的数字呢? 关于终端服务器的打印问题!!!!在线等,解决立即给分 怎样才可以在WIN2000下隐藏你的程序 急,请问把一个控件上的内容拖到LISTVIEW1上时,在LISTVIEW1上的一个ITEM上释放,此时如何获得ITEM的caption??? .pdg 类型文件怎么打开? 大家不妨说说二层应用程序转向三层应用的一些经验以及注意事项 为何看不到网络邻居上其它计算机的共享文件夹? 请问大家这种数据表怎样设计最好??? 用listbox绑定数据库的某个字段后,如何通过点击取得相应的值 dbgrid中的mousedown事件怎么触发不了 系统日志的错误信息,谁给分析一下?分不够还可以加 tell me why??有关jdbc for sqlserver VC录音问题 内存分配问题! 我安装上.net后,运行一个asp.net程序,可是出现了下载index.aspx文件的对话框? 菜单总被下拉列表框盖住的问题? 有谁知道Base64编码的规定?十万火急!!! 如何用Filter来过滤时间呢!!! 菜单总被下拉列表框盖住的问题? 一个带变量的JS语句 如何使用jBrokerWeb来做Java Web Service win95下的DLL注册的问题。。。?????? 急!急!关于<form runat=server>的@@@@@ 请进~~~~~~~~~~~~~~(急。。。答出者高分相送) 一个AnsiString 和内存的问题。 极为特殊linux的组网问题!!! 大家都来看看这是为什么? 菜单总被下拉列表框盖住的问题? 请教:如何使用windows定义的打印机打印文件 我安装上.net后,运行一个asp.net程序,可是出现了下载index.aspx文件的对话框? 怎样读文件和写文件?3Q!! 有湖北宜昌去TOP面试了的吗? 火速求助 改写天净沙 秋思为作文(500字)要中学类的作文 联合国缩写是什么? 快啦,中午就要用, 谁能把天净沙秋思改成散文啊?150字左右写得篇数越多越好 UN是什么的缩写 王昌龄的《从军行》作者提到了三个地名,分别是~ 苏教版小学四年级上普罗米修斯盗火中的宙斯是怎样的人 UN是不是英国的缩写? 大家帮忙找找王昌龄的所有,和其表达的情感. 谁有苏教育版小学四年级语文普罗米修斯盗火课文全文, “那个登上顶峰的人笑了笑说”,这“笑了笑”包含着什么意思呢?你认为这三个登山人中,谁值得你学习?为什么?三个人同去攀登高山,第一个人刚开始攀登几步,感到山陡难登,就退下来啦,他说 把《天净沙·秋思》改成50字左右的散文50~150字散文! 于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去.什么修辞手法,怎么造句 登山人中无所畏惧是什么意思 王昌龄的《从军行》其二琵琶起舞换新声,总是关山旧别情.撩乱边愁听不尽,高高秋月照长城.本诗第三句中“听不尽”三字在情感的表达上最富有表现力,请做简要分析.网上的解析看过了,希望 四年级上册普罗米修斯盗火的课文第四题的决心和决定能不能互换?为什么? 请问一个男人约女人晚上去爬山,是什么意思?表面说是还有其他朋友,但大家说这个男人就真的没什么目的吗? 从军行(其四) 王昌龄写了怎样的景?有什么作用? 人类登山活动的意义在于?珠峰、K2、洛子、冈仁波齐、麦金利、贡嘎.人类征服地球上最高的这些山峰的意义河在?象征意义大于实际意义吧,是为了挑战极限,体现一种坚韧顽强、征服困难的精 登山人 文中哪句话最深刻?你是怎样理解这句话的 从军行 从军行的解释.这首诗是:烽火城西百尺楼,黄昏独坐海风秋.更吹羌笛关山月,无那金闺万里愁.(30-40分) 爬山是为了培养孩子们的什么精神 五四新文化运动中发表文章要求用白话文代替文言文的是谁 A;胡适 B;鲁迅 C;陈独秀我知道鲁迅曾在新青年上连载过白话文的 狂人日记还是 阿Q正传,但不太确定BC选项 父子情作文600字不要文言文 拾级登山什么意思 在山的那边里面,爬上山顶有什么象征意义 作者真的听到海在喧腾吗?这反映了作者怎样的心理?急 量词 是什么?湖山星星用哪个量词描下面的词的数量湖山星星 大学生登山的意义是什么? 从军行这首诗表达了诗人什么样的思想感情? 一个关于父子情的作文 登山什么意思 《在山的那边》作者是谁? cc作为量词是什么意思? 急! 阳光下的守望第3题 在山的那边里面,攀爬上山顶有什么象征意义 急 过了极限就是机械是什么意思,是说人运动吗? 马致远的天净沙秋思写成一篇写景散文,要简短,300字! 古诗《从军行》古诗的完整意思要写好,作者、每句的意思也要,而且要王昌龄.(快、、) 为什么说 要想生活过得去 头上就得顶点绿啊?意思是不是说这个社会不戴绿帽子的人 就out了? 天净沙秋思哪个词是文章主旨 从军行的 古诗 他的事迹表明,人是可以向命运挑战的.(改为双重否定句)我不会改. 经历____ 半命题作文经历____的半命题作文.800字左右.老师要我们抄一篇好的作文.如果是原创的更好.最好不要是网上一找就有的,如果和别人抄得一样,很囧.说明了是抄一篇美文. HSE体系管理工具是什么 从军行 古诗 苏教版音乐二年级上册教学计划 如何有效稳步地实施HSE管理 怎么发表文章? 苏教版四年级上册音乐书上有什么歌 七年级下册要背的语文课文有哪些 我怎么在这上面发表文章? 如何理解这个词在该语境的意思这是一篇短文中的就是一群学生问文中的我为什么我要教书.我没有多加思考就回答说“Because someday I might say something that might make a difference in someone's life.”文 current debates about the UN联合国最近的大事要写篇关于这个的报告,但是不知道从何下手,联合国最近有什么事情发生吗?比较好写的?因为还要用英语写 哪位能帮帮奥运在我心中作文怎么写啊 月光曲课文皮鞋匠静静地听着.他好像面对着大海,月光正从水天相接的地方升起来.微波粼粼的海面上,霎时间洒遍了银光.月亮越升越高,穿过一缕一缕轻纱似的微云.忽然,海面上刮起了大风,卷 UNICEF(联合国儿童基金会) is part of the UN.It was f_____1___in 1946 after the war in Europe to help children.These P____2____children's lives were changed b_____3_____of the war at that time.Now,UNICEF works all over the w____4_____.It provid 《父子情》舒乙 文章是通过那几件事来表现父子情的?1.作者的父亲是个怎样的人?用原文语句概括.2.文章第六段主要运用了什么描写?有何作用?3.结尾为什么说“我很悲伤,也很幸运. 课文 月光曲"弹的多纯熟啊!感情多深呀!”“多纯熟”,“多深”一是说贝多芬------,二是说贝多芬------,同时也说明盲姑娘对音乐不仅-------,而且------. the UN 是第三人称单数吗 急需一篇名为“父子情”的作文~
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘