hu9jj 发表于 2008-3-11 21:49

遇到怪事了,有哪位能解决?

为了让状态栏的panel能根据表单的大小自动调整宽度,我在表单的Rsize事件中使用下面的代码:
thisform.statusbar1.panels.Item[3].width = (WCOLS() * 6 - 480)
这样用户改变窗口大小时,状态栏的一个panels宽度会自动跟随表单而改变。我在一个项目中能够正常使用,而在另一个项目中却出错,提示如下:
OLE IDispatch 异常代码 0 出自SBarCtrl:Invalid property value..
选择“取消”后就可以正常使用了。
两个项目中相关的属性设置完全一致。
有哪位知道如何解决这个问题吗?在此先表示感谢!

baichuan 发表于 2008-3-12 07:44

wcols的问题?

hu9jj 发表于 2008-3-12 07:59

可能不是。因为我在另一个项目能正常使用的。

hu9jj 发表于 2008-3-12 08:33

原来还是取值问题。我增加了一个判断语句就解决问题了。
if (wcols() * 6 -480) > 1
    thisform.statusbar1.panels.Item[3].width = (WCOLS() * 6 - 480)
endif

页: [1]

编程论坛