使用多文档界面,resize函数总是报错!

kbkingbird 2003-07-25 05:45:15
Private Sub Form_Resize()
If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then
If Me.ScaleHeight < 10 * lblTitle.Height Then

Exit Sub
End If
If Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 Then

Exit Sub
End If
'¿ØÖƿؼþµÄλÖÃ

lblTitle.Top = lblTitle.Height
lblTitle.Left = (Me.Width - lblTitle.Width) / 2

msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2
msgList.Width = Me.ScaleWidth - 200
msgList.Left = Me.ScaleLeft + 100
msgList.Height = Me.ScaleHeight - msgList.Top - 1500

Frame2.Top = msgList.Top + msgList.Height + 50
Frame2.Left = Me.ScaleWidth / 2 - 3000
End If
End Sub

总是说 If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then有错!
“实时错误'91'
对象变量或者with块变量未设置”
大家帮忙看看啊~急~谢谢~
...全文
68 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kbkingbird 2003-07-27
  • 打赏
  • 举报
回复
^_^~差不多乐~~结帐~~谢谢大家乐~~
tangyang8061 2003-07-27
  • 打赏
  • 举报
回复
If Me.WindowState <> vbMinimized And frmMain.WindowState <> vbMinimized Then
意思是 如果,MDI(多文档)主窗体frmMain不是最小化并且我这个窗体(指运行这段代码的这个窗体,应该是一个mdi子窗体,出现在frmMain中)也没有最小化的话就。。。 。。。
简单的说:如果我的父窗体现在不是最小化并且我也不是最小化的话就执行下面的代码
kbkingbird 2003-07-26
  • 打赏
  • 举报
回复
现在问题是解决了,我随便乱改了一下,也不知道为什么就行了。
If Me.WindowState <> vbMinimized And frmMain.WindowState <> vbMinimized Then
这句话什么意思啊?
kbkingbird 2003-07-26
  • 打赏
  • 举报
回复
什么手误?不懂啊·~上面那段是拷贝下来的,我自己定义的是frmMain,fmainform是我跟书上写的~~我自己换成frmmain的~~
windcandle 2003-07-26
  • 打赏
  • 举报
回复
fMainForm是不是手误啊?
windcandle 2003-07-26
  • 打赏
  • 举报
回复
Left-返回或设置对象内部的左边与它的容器的左边之间的距离。
Top-返回或设置对象的内顶部和它的容器的顶边之间的距离。
Width-宽度
Height-高度

你的程序里那些加加减减都是在调整控件的大小/位置,不难理解。


ScaleHeight、ScaleWidth 属性

当使用图形方法或调整控件位置时,返回或设置对象内部的水平 (ScaleWidth) 或垂直 (ScaleHeight) 度量单位。对于 MDIForm 对象,在设计时 是不可用的,并且在运行时是只读的。
简单点说,也是用于表示高度和宽度的属性。
kbkingbird 2003-07-26
  • 打赏
  • 举报
回复
fMainForm是什么东东啊~~我只定义了frmMain这个窗体,没有定义fMainForm,不过在写的时候它也会有windowsstate属性呢?
kbkingbird 2003-07-26
  • 打赏
  • 举报
回复
me是mdi下面的一个子窗体,frmMain是mdi的主窗体,lblTitle是me中的一个标签,msgList是msflexgrid控件,上面的那些单位计算,实在是看不懂,哪位大虾能不能解释一下啊~~
windcandle 2003-07-26
  • 打赏
  • 举报
回复
通常情况下窗体最小化时是不需要改变窗体内控件的大小和位置的(反正你也看不见,调整它干吗^_^),当窗体状态为vbNormal(正常)或变为vbMaximized状态时,这时才需要调整。

你的程序里那个Me和frmMain不知道是不是一个窗体?
kbkingbird 2003-07-26
  • 打赏
  • 举报
回复
大概意思看得懂,问题是为什么要用最大最小来判断呢?
自由之眼 2003-07-26
  • 打赏
  • 举报
回复
.WindowState 是windows窗体的状态属性

vbMinimized 是窗体最小化
vbMaximized 是窗体最大化
kbkingbird 2003-07-25
  • 打赏
  • 举报
回复
^_^~~黄瓜的办法到是没有错误了,但是子窗口中内容不能跟着最大最小按钮改变,我看光盘中的是可以跟着变化大小的,对不起,新手~大家多多帮忙~
kbkingbird 2003-07-25
  • 打赏
  • 举报
回复
还是不行,我这是跟着书上学写,书上配的光盘中,运行一点问题都没有,我这一运行就出错,后来把光盘上的代码拷贝过来还是不行,不知道什么原因啊!
AustinLei 2003-07-25
  • 打赏
  • 举报
回复
If WindowState <> vbMinimized And WindowState <> vbMaximized Then
sindyzhou 2003-07-25
  • 打赏
  • 举报
回复
改成這樣試試
If frmMainForm.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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