【精】VB MDIForm实现等比全屏缩放实例


'MDIForm实现等比全屏缩放实例
'要求:1、在MDIForm内放两个Picture,
' 其中Picture2放在Picture1内;
' 2 、Picture2作为图片载体,放上

Dim FormH As Long '窗口高度差
Dim FormW As Long '窗口宽度差
'以上两个变量为窗口实际大小(Winth、Height)与窗口
'实际工作区(ScaleWidth、ScaleHeight)的差值。
'由于ScaleWidth和ScaleHeight的获取速度较慢,使用
'这两个变量会使图片在缩放过程中严重停滞,因此本
'实例不采用这两个属性。

Private Sub MDIForm_Load()
Picture1.AutoRedraw = True '设置持久位图
Picture1.Visible = False '隐藏picture1
'以上两个属性必须
FormH = 0 '高度差值=me.Height - me.ScaleHeight + 工具栏(ToolBox) + 提示栏
FormW = 120 '
'如果图片要求不过于苛刻,以上两个参数可以全部设置为0
End Sub

Private Sub MDIForm_Resize()
'Picture1.Width = Me.Width - FormW
Picture1.Height = Me.Height - FormH
'以上两行需要看Picture1的形态,如果为贴近顶端和底部,则需要使用第二行否则使用第一行
Picture1.PaintPicture Picture2.Picture, 0, 0, Picture1.Width, Picture1.Height, 0, 0, , , vbSrcCopy
Me.Picture = Picture1.Image
'将Picture1内已被挑中比例的图片传递到MDIForm
End Sub
发布了279 篇原创文章 · 获赞 6 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章