有一个MDIForm Form1
下面有两个 子窗体(MDIchild 属性为 True)form2 form3
form2 和form3 上有frame1 frame1中有Grid1
我编写的MDIfrom form1是适合800×600用的,但是如果在1024×768下用的话就很小而且正好grid1也有很多信息显示不下。我怎么样在是MDIform变成最大的时候下面子窗体的form2、form2中的frame1、frame1下的grid1能跟着成比例放大?
下面有两个 子窗体(MDIchild 属性为 True)form2 form3
form2 和form3 上有frame1 frame1中有Grid1
我编写的MDIfrom form1是适合800×600用的,但是如果在1024×768下用的话就很小而且正好grid1也有很多信息显示不下。我怎么样在是MDIform变成最大的时候下面子窗体的form2、form2中的frame1、frame1下的grid1能跟着成比例放大?
解决方案 »
- 100分:如何自绘ComboBox?
- commonDialog是个什么控件?需要引用什么东西才能使用吗?
- 菜鳥問題8:rud函數
- 如何去掉ADO控件的自动保存功能
- 高分请教,VB怎样发传真?????????????????
- 各位老师---小妹每天有至少300MB的很多个TXT文件要变成各个EXCEL表格文件,怎么办呢?
- CallWindowProc()函数的返回值有什么用?
- 急,为什么我的数据库会出现这样的错误?
- vb中如何生成一个word文档
- 怎样去掉datagrid当前记录前面的小箭头?怎样使一条记录反白显示?谢谢!
- 求救啊!!为什么我的连接不能关闭,只要执行将提示错误Debug Assertion Failed! file:sockcore.cpp line:226
- 想要分析一个文件的格式,以便从程序中直接读取数据,需要那方面的知识,需要看什么书?
'在这里面写代码使得里面的控件也和窗体同步的比例变化
End Sub
Option Explicit
Private intWidth As Integer
Private intHeight As Integer
Private WithEvents frm1 As Form
Private Sub MDIForm_Load()
Set frm1 = New Form1
intWidth = Me.Width
intHeight = Me.Height
End SubPrivate Sub MDIForm_Resize()
Dim dblWidthRate As Double
Dim dblHeightRate As Double
dblWidthRate = Me.Width / intWidth
dblHeightRate = Me.Height / intHeight
frm1.UpdateSize dblWidthRate, dblHeightRate
intWidth = Me.Width
intHeight = Me.Height
End Sub
Form1' Code
Option Explicit
Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function IsZoomed Lib "user32" (ByVal hwnd As Long) As Long
Public Sub UpdateSize(dblWidthRate As Double, dblHeightRate As Double)
If Not (IsIconic(Me.hwnd) Or IsZoomed(Me.hwnd)) Then
Me.Width = Me.Width * dblWidthRate
Me.Height = Me.Height * dblHeightRate
Me.Refresh
End If
End Sub子窗体最大、最小化是会出错!望高手解决!
二。网上有现成控件,可以试试。
if me.WindoeState=1 orme.WindoeState=2 then exit sub