这个比较麻烦,建议你先创建一个例如Command1(0)这样带Index的控件,然后再Load。这样可以通过Command1(i)来控制Command的位置,如果完全动态创建的话比较麻烦,因为动态创建控件数组很困难。我的方法是使用Tag属性,每创建一个给一个递增的Tag。然后在排位置的时候根据Tag的值来排。
解决方案 »
- 自己vb6写了个网页邮箱自动登录程序,在ultra edit下面一看密码和邮箱名都清清楚楚,有什么办法可以混淆一下?
- VB6.EXE中的0x034d207d处未处理的异常:0xC0000005:读取位置0x00143000时发生访问冲突
- 如何用command按钮调用数据库记录?
- 跪求VB中,繁简体转换问题!
- 求救~~~~~用VB做一个试题管理系统遇到的问题
- 关于variant变量的问题。
- 有关数组的问题,现场结分
- 请问ACCESS2003种有很多很漂亮的控件,如列表框等,我想问一下,能在VB6.0下用吗?
- 请教,如何用VB与大网站的搜索引擎相连接?用ASP?FTP?
- VB小白,求大神解读。
- 怎样让特定的字符串显示特定的颜色?
- 拿分题,各位赶紧进来那分。
就应该放弃VB的控件
用类似SDK编程的办法:用CreateWindowEx创建控件窗口,发消息控制,接受通知消息响应事件
这样动态创建控件根本不受限制
灵活 与 简洁 是不可调和的
Rows = 7 For i = 0 To Cols * Rows - 1
With Command1(i)
.Move Command1(0).Left + .Width * (i Mod Cols) _
, Command1(0).Top + .Height * (i \ Rows)
.Caption = i
.Visible = True
End With
Next
dim i as integer
dim j as integer
for i = 0 to 3
for j = 0 to 7
p(i*7+j).left =
p(i*7+j).top =
...
next j
next i
end sub
For i = 1 To 28
Load COMMAND(i)
COMMAND(i).Left = COMMAND(i - 1).Left
COMMAND(i).Top = COMMAND(i - 1).Top + COMMAND(i - 1).Height
COMMAND(i).Visible = True
If COMMAND(i).Top + COMMAND(i - 1).Height > Me.Height Then
COMMAND(i).Top = COMMAND(0).Top
COMMAND(i).Left = COMMAND(i - 1).Left + COMMAND(i - 1).Width + 200
End If
Next i