如何把一个小图片平铺到一个窗体上

思考 2002-11-01 10:31:28
如何把一个小图片平铺到一个窗体上,也就是说使多个同一张小图片充满窗体,就是类似win98桌面的“平铺”功能
...全文
50 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
思考 2002-11-01
  • 打赏
  • 举报
回复
还有没有简洁的方法
holydiablo 2002-11-01
  • 打赏
  • 举报
回复
循环,往上面画啊
zyl910 2002-11-01
  • 打赏
  • 举报
回复
只能这样做
但是可以写个函数将它封装起来

我以前写的(API声明自己加):

Public Sub FillMap(hDCOut As Long, _
x As Long, y As Long, _
Width As Long, Height As Long, _
hSrcDC As Long, _
SrcX As Long, SrcY As Long, _
SrcWidth As Long, SrcHeight As Long, _
Optional dwRop As RasterOpConstants = vbSrcCopy, _
Optional ByVal StepX As Long = &H80000000, _
Optional ByVal StepY As Long = &H80000000)
Dim I As Long, J As Long
Dim StartX As Long, StartY As Long
Dim PutX As Long, PutY As Long
Dim PutWi As Long, PutHe As Long
Dim TempNum As Long

If StepX = &H80000000 Then StepX = x
If StepY = &H80000000 Then StepY = y
'Debug.Print "Step "; StepX; StepY;

Do While StepX > 0
StepX = StepX - SrcWidth
Loop
Do While StepX <= 0
StepX = StepX + SrcWidth
Loop
StepX = StepX - SrcWidth

Do While StepY > 0
StepY = StepY - SrcHeight
Loop
Do While StepY <= 0
StepY = StepY + SrcHeight
Loop
StepY = StepY - SrcHeight

'Debug.Print StepX; StepY
'Debug.Print SrcWidth

StartX = StepX
Do While StartX < x
StartX = StartX + SrcWidth
Loop
StartX = StartX - SrcWidth

StartY = StepY
Do While StartY < y
StartY = StartY + SrcHeight
Loop
StartY = StartY - SrcHeight

For I = StartY To y + Height - 1 Step SrcHeight
For J = StartX To x + Width - 1 Step SrcWidth
PutWi = SrcWidth
PutHe = SrcHeight

PutX = 0
PutY = 0

If I < y Then
PutY = y - I
PutHe = PutHe - PutY
End If
If I + SrcHeight - 1 > y + Height - 1 Then
PutHe = PutHe + ((y + Height - 1) - (I + SrcHeight - 1))
End If

If J < x Then
PutX = x - J
PutWi = PutWi - PutX
End If
If J + SrcWidth - 1 > x + Width - 1 Then
PutWi = PutWi + ((x + Width - 1) - (J + SrcWidth - 1))
End If

Call BitBlt(hDCOut, _
J + PutX, I + PutY, _
PutWi, PutHe, _
hSrcDC, _
SrcX + PutX, SrcY + PutY, _
dwRop)

'Debug.Print J; I; SrcWidth; SrcHeight; PutX; PutY; PutWi; PutHe

Next J
Next I
'Call BitBlt(hDCOut, 0, 0, SrcWidth, SrcHeight, hSrcDC, 0, 0, vbSrcCopy)

End Sub
Access 通用系统1.0 使用说明文档 作者:红尘如烟 下载后请按住shift键不放,在双击打开数据库文件,打开了后在放shift键,可以看设计状态源代码.. 后台数据库密码:admin 前台用户名:admin 密码:admin 仅作为同所有access爱好者参考学习与讨论共同进步用。 此源码软件为2007格式,您需要安装2007或者2010版本的access才能使用,如果您没有安装2007或者2010软件请见下面链接下载安装。 说明: 1、修复了红尘如烟老师的通用系统1.1版本中的数据备份与还原在access2007中无法使用的情况。 2、主界面进行了修改,添加了重新登录和退出按钮。 3、修复了通用系统中的权限中的部分小问题;另增加了一个窗体控件权限的管理和分配。 4、该小系统是一个大杂烩,很多功能都是从许多高手和大师哪里给借鉴来的,thanks。 功能介绍: 1、工资录入以及录入之后修改,可进行自动计算实际应发工资;在录入修改中,修改其中几种,可实现动态更新应发合计;工龄工资、应纳税、个人社会保险等自动计算。 2、人事变动的过程记录,同时可根据变动的类型,更新人事档案中的工资级别,转正日期,职位等信息。 3、人事档案中的头像照片,保存在文件夹中,减少data数据库的存储空间。 4、导入导出,备份还原,权限分组控制,窗体中某些功能限制等 5、组合查询,且可导出查询的任意结果,以及打印任意查询结果;报表也可以一个月单据进行批量打印。 本程序集成了Access程序开发中的一些常用功能模块,适合于有一定基础的初学者或者想减少开发时间的人,可以让你省去开发这些功能的时间。目前是最初版本,只能算是一个大体上的粗坏,而且没有经过详细测试,我只不过是换了几台电脑运行使用了一下而已。不过我开发的时候完全是使用Access本身的功能实现的,没有使用任何的第三方控件,甚至连多余的引用都没有,只要你用的是Access 2003简体中文版本就应该没有太大问题,而且我测试的时候还使用过中文操作系统、英文Access的环境,运行也没有出现问题。 本程序完全免费,而且开放源码,你可以随意使用和修改,就当是免费而且没有食品安全问题的午餐了。大家在使用的时候能给我保留一些版权信息我就很满意了,不过你要是将程序里面的版权信息完全删除我也没有办法,总不至于找你真人PK吧?哈哈,开个玩笑。 如何将本程序集成到你做的系统: 本程序使用的是前后台的模式,所以需要两个mdb文件,一个做为前台,一个做为后台。 第一步,将本程序和你做的系统合并:将两者的表导入合并到同一个mdb文件,其它对象导入合并到另一个mdb文件。(注:本程序用到的表的表名使用了特殊前缀USys,默认情况下Access会当做系统对象隐藏,要显示并查看请打开任意一个mdb文件,然后点击菜单-工具-选项-视图-显示系统对象。) 第二步,修改链接表定义:本程序使用的链接方法不是刷新链接表,而是在启动时自动创建链接表,在退出时链接表会被删除,所以需要定义链接表。本程序中的链接表定义是写在代码中的,请打开模块modLinkData,然后找到第二个函数LinkData,在如下图所示的地方进行修改: 一共需要修改3处地方,一是表数量,二是要链接的源表名称,这些表名保存在数组变量gstrSourceTableName中,其中1-8为本程序用到的表,建议不要修改,从9开始添加你设计的表,下面的数组变量gstrLinkTableName为要创建的链接表的名称,这个为可选,如果需要创建链接表不和实际上的源表名称相同时才用到。 需要注意的问题:源表名数组变量标号必须从1开始且为连续的,且必须保证源表名的正确,只要有任意一个链接表不能被创建,都将被视为无法正确连接后台数据库,从而不能登录。 此处的后台数据库文件可以为任意名称,扩展名也可以任意修改,登录时如果和设定的后台数据库不一致,系统会自动查找前台所在的目录,只要能够找到上面定义的所有源表,就可以自动将此文件设为后台数据库(此处会提示确认,主要是防止出现多个一样的文件,比如将备份文件放在了该文件夹)。 第三步,修改相关设置。进行了以上两步操作就可以正常登录了,这一步要做的就是以初始用户身份登录,打开系统设置,对一些需要修改的地方进行设置,如应用程序名称等,修改完毕后点击确定保存。再打开菜单及面板管理,通过菜单编辑器把你做的内容加入到菜单中。 通过以上简单的几步,我们就可以正常使用集成后的系统了。 其它功能上的说明我考虑加入到程序中,而不是使用单独的文档说明。也不知道为什么,我就是不喜欢应用软件中一大堆乱七八糟的文件,可能这正是我喜欢Access的重要原因:有时候一个文件就能实现全部功能,实在是看着舒坦啊。 另外可以在程序文件夹中放置相应名称的图片即可替

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧