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

平铺贴图背景 -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的窗口内就出现了一个平铺贴图背景。
视频云将成为2014年乐视新的发力点 3月12日:万维网迎来理念诞生25周年 《近匠》云适配CEO陈本峰:跨屏移动,曲线一样救国 Intel陈荣坤:赢取移动市场的几个先决条件 而立之年,开发者在害怕什么? 首席工程师揭秘:LinkedIn大数据后台是如何运作的 年交易额1800亿美元,揭秘PayPal成功背后的三大热门技术 微软妥协Android?向该平台推开源Office 365 SDK 中国云计算大会PPT集萃(一):众多名家分享技术挑战与行业趋势 速度是现在的10000倍,出自物理学家之手的新型电脑 逗你玩?淘宝开放平台从4月1起开始全面收费 出现编程疲劳?千万别纠结 “编程竞赛界王子”教你更好的招聘程序员 SA:三星全球智能电视市场份额达26% Cocos2d-x 3.0分语言包发布 最新进展即将披露 友盟:社会化分享成为APP开发“标准配置” 从“简单”的封面设计剖析Netflix背后的数据哲学 与Linus Torvalds“并列”,虚拟化天才程序员法布里斯贝拉 让超级计算机和数据中心“飞”,Intel推800Gbps神器MXC 【OSTC讲师专访】Debian开发者李道兵:平静地理解开源 红帽推出开源业务流程管理套件:JBoss BPM Suite 6 科学研究证明:程序员快乐才能更好的工作 ChocolateChip-UI:能“逆转”的跨平台应用开发框架 分享12款最佳的Bootstrap设计工具 Apache Flex 4.12发布,支持iOS 7 智能手机应用挑战Web平台,看W3C如何反击? 电信级数据流量与监控系统部署案例分享 TCL联手Mozilla,HTML5智能电视真的要来了! 先睹为快:Unity亚洲开发者大会虚拟游览展示 OSTC·2014 演讲日程出炉,Perl创始人来了! Unity将收购Applifier,并引入Everyplay和GameAds两大平台 用VB如何处理多个用户同时操作一个DBF文件的错误? 一个进程为VC2.0, 另一个为VC6编的MFC程序。如何控制从第2个控制第一个进程? 请assdeng(山野村夫)看看 pb,delphi,vb三种快速成型的语言都分别适合开发那些软件?欢迎大家来讨论 请问各位同仁如何设置sybase anywhere服务器参数? 串口通讯能否用pb做成动态连接库的形式?(急) 怎样使Response.redirect打开一个新窗口 为什么环境变量替换不正确? 怎么打开foxpro中,通过剪切板考过去的图片,dbimage和image控件都不能打开,显示“bitmap is not valid” vaj中如何使用自己的JAR? 怎样改变当前窗口的大小,是当前窗口最大化? 高手争峰 如何把一个log文件读到数据结构中去 请教一个很菜的问题:) 这个程序有什么问题? 怎样做???? 简单问题,可就是搞不定!! 请问jsp中servelet在win2000中的设置方法,需要下载什么类库文件么? 一个新问题,那就是点击工具栏的退出按钮以后只退出当前打开的窗口,而不是整个应用! 如何在 index.htm 中引用 count.asp ? 远程数据库访问的问题--亟待高手们解答 王国荣的电子信箱是哪里? 我的程序生活 先给50分,稍后在加:我正在做一个系统,需要做到每次开机时提醒用户有哪些事情要做! [Tips]获取Memo&Richedit中光标坐标的最简单方法! 急急,如何才能把图片的底色与窗口的底色自然地融为一体? 如何改变按钮的颜色? 在mtml help workshop 中如何制作带上下文关联ID的帮助 调试程序时,控制台程序与直接建立的C++程序有区别吗? 给菜鸟推荐本书 VB调用外部DLL问题 【洗心革面,重新做人,割发断指,庄严声明】 从今以后 kook 不近女色,不灌疯水,以 panda_w 为榜样,苦练VC,研习汇编,做一个 CSDN 的正面典型! 谁有ULTRAEDIT 的注册码 能否推荐几本关于VB提高和关于VB数据库的书 紧急问题,关于SSL通过MS PROXY String类的问题 连接数据库的东东真是奇怪! 如何打开pdm格式文件 ===========灌水传说=========== 奇怪的问题,怎么办? 呵呵,初学者,请多多指教 剖 尸 小问题:自定义组件的显示 怎样打印picturebox中的内容??? 关于Datawindow的Group的问题 谁能告诉我 Delphi6的序列号 紧急问题,关于SSL通过MS PROXY! 请问,如果用ASP作邮件发送,接收的功能,win2k怎么设置????????? 各位大侠,谁用visual age for java3.5 开发过 ejb呀,发个例子及过程给我好吗?没例子,有过程也可以!以分做谢! 哪位大哥能将解一下notify()和wait()的用法 我用delphi做的工程是一个exe+n个DLL的,请问datamodule放哪里合适;请高手们详细讲讲. 根据花的三种意思,各写一句话.1植物的花 为了迎接2012年的元旦,实验小学准备制作一些小红花,平均分给一些同学制作,如果7个人做,则多做3朵,如果4个人做,则少做2朵,如果9个人做,则多做5朵.你知道他们最少想做多少朵.(用最大公因 小红在班级小银行储蓄的钱数是小刚的2分之3,后来小红又存进4元钱,而小刚取出6元钱此时小红的钱数是小刚的钱数的4分之3,现在小刚,小红各储蓄多少元? 写出几种相应植物的名称.树木:(),(),();花:(),(),();草:(),(),().请帮下忙, 怎么剪小红花 小红体重与小亮的比2比3.小亮与小刚体重的体重3比4.那么小红和小刚的体重比是多少 选择一种植物,写出它四季的不同特点不知道要不要是四季常绿的植物,如果要的话,兰花啊、月季啊,都是.花呀、树呀,什么都可以,要四季特点! 老师把一些小红花分给同学,如果减少一个同学,每人正好分5朵,如果增加一个同学,每人正好分4朵一共有多少朵小红花? 小红的存钱是小刚的三分之二,小红存进4元,而小刚取出6元,这时小红是小刚的四分之三,小红和小刚各?元 一些能代表春夏秋冬四季的植物(花,树,草)是那些?最好每个季节给我4~5个具有代表性的 我今天语文课得了朵小红花,求英语 小红在班级小银行存储的钱是小刚的三分之二,后来小红有存进4元,而小刚取出6元钱小红在班级小银行储蓄的钱数是小刚的三分之二,后来小红又存进4元钱,而小刚取出6元钱此时小红的钱数是 用一种植物的花朵,用仿佛写一句话反映这种花的特点怎么写 修改病句:国庆节那天,天安门前挂满了五颜六色的红旗 小林在少儿银行存款50元,小刚存款88元,以后小林每月存5元,小刚每月存12元,几个月后小刚存款数是小林存款数的2倍?求算式,急!谢谢 写出十个含有花,草,树,木等植物名字的成语,并选起中2-3个写一两句连贯的话 广场上到处是五颜六色的红旗(修改病句) 小红在班级小银行储存的钱数是小刚的3分之2,后来小红又存进4元钱,而小刚取出6元钱此时小红的钱数是小刚4分之3,现在小刚小红储存多少元钱? 描写花、草、树、木的成语各10个.花10个、草10个、树10个、木10个! 节日的校园里,插满了五颜六色的红旗.(修改病句) 小红在班级小银行储蓄的钱数是小刚的2分之3,后来小红又存进4元钱,而小刚取出6元钱此时小红的钱数是小刚的钱数的4分之3,现在小刚,小红各储蓄多少元?小红在班级小银行储蓄的钱数是小刚 含“花”“草”“叶”“树”的成语被选为最佳答案的条件:⒈数量最多者; ⒉举例最精者; ⒊速度最快者.(达到两条以上的所有答案全部成为备选) 修改病句:校园里生满了白的、红的、黄的等五颜六色的花. 小红在班级小银行里储蓄的钱数是小刚的三分之二,后来小红又存进4元,而小刚取出6元,此时小红的钱数是小刚钱数的四分之三,现在小刚.小红各储蓄多少元? 分别以花、草、树、木四个字结尾的成语例如妙笔生花 春风吹得满山的桃树绽开了五颜六色的花,一片火红,非常精彩.修改病句按题修改 小红在班级小银行储蓄的钱数是小刚的三分之二,后来小红又存进4元钱,而小刚取出6元钱此时小红此时小红的钱数是小刚的钱数的4分之3,现在小刚,小红各储蓄多少元?要方程和算式不要方程 要 有树有花的成语有树有花字的(必须)急!1 <修改病句> 1.公园里生长着各种树和五颜六色的鲜花请修改以上病句 小红的零花钱比小刚多4分之1,小晓的零花钱比小刚的少3分之1.小红和小晓的零花钱相差14元.三人各有零花钱多少元? 植物花的结构名称分别是什么?带插图~急用 病句:春天公园里五颜六色的花,竞相开放.请问怎么修改?急 这次考试小红考了98分.小红比小刚的分数的七分之八还多2分.你知道小刚考了多少分吗? 花朵是季节的衣裳,请你分别写出四季中最有代表性的花、花卉的名称.写4个,春( ) 夏( )秋( )冬( ) 孩子穿着红衣服和白帽子(修改病句) 小红捐360小刚是小红的9分之10小刚捐的是小红的8分之7小刚捐了多少元? 植物花的各部分名称请大家根据上面写出个名称,1.()2.()3.()4.() 改病句:他穿着一身崭新的衣服和帽子. 在一次跳绳比赛中小明跳了92个 小红跳了85个 小刚跳了87个 小敏跳了几个 注.我跳的个数是我们5个的平均数上面的写错了 在一次跳绳比赛中小明跳了92个 小红跳了85个 小刚跳了87个 小敏 图中植物的名称竹类 “他今天穿着一件新衣服和一顶新帽子”怎么改病句? 学校举行一分钟跳绳比赛,小红跳了120下,小玲跳的下数是小红的八分之九,小刚跳的下数比小玲少十五分之二小刚跳的下数比小玲少多少下?不用方程 冬天里,有哪些长绿叶和开花的植物主要说一下室外的 . 改病句:刘艳同学今天真漂亮,穿着新衣服和帽子 一个数是2和3的倍数这个数是 绿叶在植物生长过程中有什么作用 今天,小芳穿着新衣服和新帽子高高兴兴去上学.(修改病句) 一个数同时是2 3的倍数,这个是数有什么的特征? 玉树所在地区制约当地种植业发展的自然因素是 植物的枝条和其绿叶 都是由植物的哪一部分发育而来 “尽管明天下雨,我们还要去爬山.”修改病句卷子上的题目急 最大的花()最有力气的果实()永不落叶的植物()最甜的植物()最毒的树()寿命最长的花()要快寿命最短的花()最早的植物学著作() 能帮我看看这是什么植物吗? 看,空中有一道五颜六色的彩虹.(修改病句) 花朵和果实是植物的什么? 植物花期随海拔高度是怎样变化的需要具体的 比如说同一种植物随海拔的升高花期向后推迟的天数变化规律 修改病句:明天上午去爬山 在日常食用的食物中,主要食用叶、茎、根、花、果实、种子的植物分别有哪些?分别举例一两个就行了急! 一条红绳长120分米,可以做4朵小红花,做25朵小红花需要红绳多少分米? 脱下了五颜六色的衣裳
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn