注册 登录
编程论坛 VB6论坛

438 对象不支持该属性或方法

snrtjat 发布于 2013-05-15 09:33, 5431 次点击
Dim i As Long, kx As Single, ky As Single
MeWidth = Me.ScaleWidth
MeHeight = Me.ScaleHeight
ScaleHeight = 1000   
ScaleWidth = 1000  
ReDim myctr(Controls.Count)
For i = 0 To Controls.Count - 1
     myctr(i).Width = Controls(i).Width
     myctr(i).Height = Controls(i).Height
     myctr(i).Left = Controls(i).Left
     myctr(i).Top = Controls(i).Top
Next
kx = Screen.Width / 1024 / 15
ky = Screen.Height / 768 / 15
Width = Width * kx
Height = Height * ky
Move Left * kx, Top * ky

运行时提示: 实时错误:438  对象不支持该属性或方法
myctr(i).Width = Controls(i).Width
求解…………
4 回复
#2
wp2319572013-05-15 09:44
不支持就是不支持  这有啥说的
#3
snrtjat2013-05-15 09:48
有补救的措施没?
#4
lowxiong2013-05-15 10:31
楼主是想做个让控件大小随窗口尺寸变化,但如果窗口中放置了无需显示的控件,则不包含weight和height属性,比如timer控件、winsocket控件,它们都不需要在运行过程中显示,就没有这类属性了。
如何知道属性是否存在,找到过一些枚举的api调用,但我觉得最简单的就是利用vb的错误捕获了。加一句on error resume next即可,当然你后续还可以通过判断err.number的值准确知道哪个控件有你需要的属性,哪个控件没有。
#5
snrtjat2013-05-15 14:05
就是Timer控件,多谢多谢。
又学了一招,嘿嘿。
1