当前位置:编程学习 > VB >>

最小化时出错是什么原因?

在win7英文版下面用vb6写的程序,编译之后,发现点任务栏图标让它最小化时会出错,程序会被关掉,而且提示:
Run-time error "384"
A form can't be moved or sized while minimized or maxmized.
请问是咋回事? --------------------编程问答-------------------- 我只是在窗体的resize事件里面写了代码,让里面的控件随窗体一起变化。 --------------------编程问答-------------------- 在移动控件之前最好先判断一下状态,如果不是最小化状态再移动.
而且,如果窗体时最大化或者最小化状态时,最好不要移动窗体本身. --------------------编程问答-------------------- xp下也有错误 加个on error resume next搞定,当然判断状态安全些 --------------------编程问答--------------------
引用 1 楼 zhiyeqiangqian 的回复:
我只是在窗体的resize事件里面写了代码,让里面的控件随窗体一起变化。


问题应该在这了 你断点看下  最小化是应该是执行的 --------------------编程问答-------------------- 使用 on error resume next 是最简单的方法。用这个语句吧。 --------------------编程问答-------------------- 最大化时不允许移动和缩放窗体。 --------------------编程问答--------------------
引用 1 楼 zhiyeqiangqian 的回复:
我只是在窗体的resize事件里面写了代码,让里面的控件随窗体一起变化。


你只是移动了控件的话,他怎么报错说你在移动窗体呢 --------------------编程问答-------------------- 窗体最小化、最大化时,不能移动或者改变窗体大小。
用下面两个API判断一下:
IsMax = IsZoomed(Me.hwnd)'IsMax>0 表示窗体处于最大化状态;
IsMin = IsIconic(Me.hwnd)'IsMin>0 表示窗体处于最小化状态。 --------------------编程问答-------------------- A form can't be moved or sized while minimized or maxmized.
--------------------编程问答-------------------- 贴代码出来看看.
可能是你对FORM进行了操作. --------------------编程问答-------------------- 无论什么操作系统,最小化时都不应该调整大小。
Private Sub Form_Resize()
    If Me.WindowState = vbMinimized Then Exit Sub
    ...
End Sub
--------------------编程问答--------------------
引用 11 楼 tiger_zhao 的回复:
无论什么操作系统,最小化时都不应该调整大小。

VB code
Private Sub Form_Resize()
    If Me.WindowState = vbMinimized Then Exit Sub
    ...
End Sub

我也遇到过这种问题,应该就加这样的判断处理,一味的用on error resume next也不一定是好事。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,