我是这样建立工程的:
File->New Project->VB Application Wizad,采用默认参数建立单文档界面应用程序,在一个菜单项加入语句:
MsgBox frmMain.ScaleWidth & " " & frmMain.ScaleHeight
显示主窗体的大小.
运行该程序,调整窗口大小,点击该菜单项,为什么显示的数字不变化?(按道理说,改变了窗体的大小,信息框弹出的数字也应随之产生变化)
我又试了一种方法:不用向导建立工程,而是手工建立工程,按上述方法运行,显示的数字会随窗体大小的改变而发生变化.
请问:是我理解错了,还是有哪个地方设置不到位呢?
File->New Project->VB Application Wizad,采用默认参数建立单文档界面应用程序,在一个菜单项加入语句:
MsgBox frmMain.ScaleWidth & " " & frmMain.ScaleHeight
显示主窗体的大小.
运行该程序,调整窗口大小,点击该菜单项,为什么显示的数字不变化?(按道理说,改变了窗体的大小,信息框弹出的数字也应随之产生变化)
我又试了一种方法:不用向导建立工程,而是手工建立工程,按上述方法运行,显示的数字会随窗体大小的改变而发生变化.
请问:是我理解错了,还是有哪个地方设置不到位呢?
返回或设置窗体大小应该使用 Height 和 Width 属性.
请二楼楼主按我所说的方法试一下.
我真的弄不懂为什么了.
请高手多多指点.
Public fMainForm As frmMain
Sub Main()
Set fMainForm = New frmMain
Load fMainForm
fMainForm.Show
End Sub如果把该模块改为以下代码就不会出现上述情况了:
Sub Main()
Load frmMain
frmMain.Show
End Sub请问这是为什么?有没有什么办法可以解决?
VB的窗体可以直接当作对象用,也可以当作类来用。自动生成的是当作类来用。
Sub Main()
Set fMainForm = New frmMain '创建frmMain的实例并实例化
Load fMainForm '载入新实例
fMainForm.Show '显示该窗体的实例
End Sub因此要:
MsgBox fMainForm.ScaleWidth & " " & fMainForm.ScaleHeight