| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2106 人关注过本帖
标题:小问题
只看楼主 加入收藏
一叶秋
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-4-21
收藏
 问题点数:0 回复次数:4 
小问题

Private Sub Form_Load() Form1.ScaleMode = vbPixels '设置scalemode以像素为单位 Picture1.ScaleMode = vbPixels '将autosize设置为true,以picture2的边界扩展到实际的位图大小 Picture2.AutoSize = True '将每个图片框的borderstyle的属性设置为none Picture1.BorderStyle = 1 Picture2.BorderStyle = 0 '加载位图 Picture2.Picture = LoadPicture("C:\Documents and Settings\zhang\My Documents\My Pictures\无标题.bmp") '以下两句初始化两个图片框的位置 Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height Picture2.Move 0, 0 '将水平动条定位 HScroll1.Top = Picture1.Height HScroll1.Left = 0 HScroll1.Width = Picture1.Width '将垂直动条定位 VScroll1.Top = 0 VScroll1.Left = Picture1.Height VScroll1.Height = Picture1.Height '设置动条的MAX的属性 HScroll1.Max = Picture2.Width - Picture1.Width VScroll1.Max = Picture2.Height - Picture1.Height '判断子图片框是否将屏幕充满,若是,则无需使用动条 VScroll1.Visible = (Picture1.Height < Picture2.Height) HScroll1.Visible = (Picture1.Width < Picture2.Width) End Sub

Private Sub HScroll1_Change() Picture2.Left = -HScroll1.Value End Sub

Private Sub VScroll1_Change() Picture2.Top = -VScroll1.Value End Sub 运行不了?

搜索更多相关主题的帖子: 位图 Documents vbPixels 像素 属性 
2004-04-21 20:48
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8914
专家分:2567
注 册:2004-3-25
收藏
得分:0 
代码经过多次文本编辑,可能格式有变化,你试着将注释去掉试试

畅所欲言
2004-04-21 21:13
一叶秋
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-4-21
收藏
得分:0 

'判断子图片框是否将屏幕充满,若是,则无需使用动条 VScroll1.Visible = (Picture1.Height < Picture2.Height) HScroll1.Visible = (Picture1.Width < Picture2.Width)

测试是这句有问题!其中的<应为>

书上写错了,原来书也不是万能的,谢谢夜静思,有一天我会超过你的,小心了!

2004-04-21 21:26
一叶秋
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-4-21
收藏
得分:0 

Picture1.Move 0, 0,ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height

这句是给定picture1的初始位置,ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height的含义是什么,能解释一下吗?

2004-04-22 06:49
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 

我改了一下,去掉了那个Picture1,把事件加在Form_Reisze事件里了

Private Sub Form_Load() Form1.ScaleMode = vbPixels '设置scalemode以像素为单位 '将autosize设置为true,以picture2的边界扩展到实际的位图大小 Picture2.AutoSize = True '将每个图片框的borderstyle的属性设置为none Picture2.BorderStyle = 0 '加载位图 Picture2.Picture = LoadPicture("C:\test.jpg") '以下两句初始化两个图片框的位置 Picture2.Move 0, 0 End Sub

Private Sub Form_Resize() '将水平动条定位 HScroll1.Top = ScaleHeight - HScroll1.Height HScroll1.Left = 0 HScroll1.Width = ScaleWidth - VScroll1.Width '将垂直动条定位 VScroll1.Top = 0 VScroll1.Left = ScaleWidth - VScroll1.Width VScroll1.Height = ScaleHeight - HScroll1.Height '设置动条的MAX的属性 HScroll1.Max = Picture2.Width - (ScaleWidth - VScroll1.Width) VScroll1.Max = Picture2.Height - (ScaleHeight - HScroll1.Height) '判断子图片框是否将屏幕充满,若是,则无需使用动条 VScroll1.Visible = Picture2.Height > (ScaleHeight - HScroll1.Height) HScroll1.Visible = Picture2.Width > (ScaleWidth - VScroll1.Width) End Sub

Private Sub HScroll1_Change() Picture2.Left = -HScroll1.Value End Sub

Private Sub VScroll1_Change() Picture2.Top = -VScroll1.Value End Sub


天津网站建设 http://www./
2004-04-22 15:22
快速回复:小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016646 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved