MDI主窗体和MDI子窗体问题 80分

mybelta2 2009-04-28 05:07:25
有一个MDI主窗体和MDI子窗体,我是在1024*768的分辨率下做的,现在如何实现如下两个问题:
1.当分辨率小于1024*768时,如何采用固定的窗体大小,使用滚动条(即子窗体内的控件大小始终保持不变化);
2.当分辨率大于1024*768时,子窗体上的控件就显得比较小,并且上下左右都有较宽的空白区域,此时如何将子窗体内的所有控件按比例放大到适应整个MDI主窗体内部区域?
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmini 2009-05-03
  • 打赏
  • 举报
回复
第一个问题,加滚动条

Sub Form_Resize()
With Picture1
.Left = (Me.ScaleWidth - .Width) / 2
.Top = (Me.ScaleHeight - .Height) / 2
End With
' Position the scroll bars:
HScroll1.Left = 0
VScroll1.Top = 0
If Picture1.Width > ScaleWidth Then
HScroll1.Top = ScaleHeight - HScroll1.Height
Else
HScroll1.Top = ScaleHeight
End If
If Picture1.Height > HScroll1.Top Then
VScroll1.Left = ScaleWidth - VScroll1.Width
If Picture1.Width > VScroll1.Left Then
HScroll1.Top = ScaleHeight - HScroll1.Height
End If
Else
VScroll1.Left = ScaleWidth
End If
HScroll1.Width = ScaleWidth
If HScroll1.Top > 0 Then VScroll1.Height = HScroll1.Top
' Set the scroll bar ranges
HScroll1.Max = Picture1.Width - VScroll1.Left
VScroll1.Max = Picture1.Height - HScroll1.Top
HScroll1.SmallChange = Abs(HScroll1.Max \ 16) + 1
HScroll1.LargeChange = Abs(HScroll1.Max \ 4) + 1
VScroll1.SmallChange = Abs(VScroll1.Max \ 16) + 1
VScroll1.LargeChange = Abs(VScroll1.Max \ 4) + 1
HScroll1.ZOrder 0
VScroll1.ZOrder 0
End Sub
rmini 2009-04-30
  • 打赏
  • 举报
回复
Tiger_Zhao 2009-04-29
  • 打赏
  • 举报
回复
1.窗体内控件全部放在一个 PictureBox 上,窗体上再加上 HScrollBar 和 VScrollBar 控件,用滚动条的值(作为负数)移动 PictureBox。

2.http://topic.csdn.net/u/20090420/15/84cab41a-7e59-4b30-9320-f548550724fe.html
mybelta2 2009-04-29
  • 打赏
  • 举报
回复
怎么没人呢,在线等候

1,486

社区成员

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

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