我说一下具体情况吧:
dim rs as new Adodb.RecordSet
我有一个数据集fs
fs=rs.getrows()
dim i as integer
for i=0 to ubound(fs,2)
'我想创建checkbox控件数组check_okey
'能否直接创建的就是控件数组check_okey(i)?
'请告知!谢谢!
next
dim rs as new Adodb.RecordSet
我有一个数据集fs
fs=rs.getrows()
dim i as integer
for i=0 to ubound(fs,2)
'我想创建checkbox控件数组check_okey
'能否直接创建的就是控件数组check_okey(i)?
'请告知!谢谢!
next
先在窗体上放一个check_okey(0),设为不显示
到需要显示时再显示
先在窗体上放置一个checkbox,将其Index设为0,Visible设为False
点一下Cmd_AddNewControl 时:
i = i + 1
Load Check1(i)
Check1(i).Visible = True
Check1(i).Top = i * 500'任定
先在窗体上放一个check_okey(0),设为不显示
到需要显示时再显示
接着for i=1 to ubound(fs,2)
'我想创建checkbox控件数组check_okey
load check_okey(i)
check_okey(i).visibled=true
'再设定他的位置
next
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Const BS_AUTOCHECKBOX = &H3&
Private Const WS_VISIBLE = &H10000000
Private Const WS_CHILD = &H40000000Const CHECK_BASE_ID = 100
Dim m_hWnd(1 To 5) As LongPrivate Sub cmdADD_Click()
Dim hwnd As Long
Dim T(1 To 5) As String
T(1) = "TEST1": T(2) = "TEST2": T(3) = "TEST3": T(4) = "TEST4": T(5) = "TEST5"
For I = 1 To 5
m_hWnd(I) = CreateWindowEx(&H4, "BUTTON", T(I), BS_AUTOCHECKBOX Or WS_CHILD Or WS_VISIBLE, 10, 10 + I * 20, 120, 13, Me.hwnd, CHECK_BASE_ID + I, App.hInstance, 0)
Next
End SubPrivate Sub cmdTest1_Click()
Dim bChecked As Boolean
bChecked = IsDlgButtonChecked(Me.hwnd, CHECK_BASE_ID + 1)
End SubPrivate Sub Form_Unload(Cancel As Integer)
For I = 1 To 5
If m_hWnd(I) <> 0 Then
DestroyWindow m_hWnd(I)
End If
Next
End Sub