2015-05-04 2 views
1

В VB 6 Как я могу обращаться к метке управления с использованием переменной вместо фиксированного имени, такого как LUH01 (как показано ниже), что не позволяет использовать Loop.Использование переменной в качестве имени управления меткой

Frm_Dispo_Prof_Grille.LUH01.BackColor = &HFF00& 

ответ

1

Вы можете обратиться к нему через Controls Collection:

Frm_Dispo_Prof_Grille.Controls("LUH01").BackColor = &HFF00& 

Будьте осторожны, однако. Если вам необходимо обратиться к собственности/метод, который не один из стандартных/встроенных из них, вам придется бросить управление типа:

Dim lbl as Label 

Set lbl = Frm_Dispo_Prof_Grille.Controls("LUH01") 
lbl.BackColor = &HFF00 
0

Я думаю, что вы хотите, чтобы создать элемент управления массив

Вы можете сделать это путем создания 1 управления, и установите его свойство Index равным 0 (вместо пустой)

Вы можете загрузить новые элементы управления и использовать их в цикле

Например, чтобы загрузить некоторые командные кнопки и поместить их в цикл:

'1 form with : 
' 1 command button: name=Command1 index=0 

'Number of command buttons to use in the loop 
Private Const NRBUTTONS As Integer = 5 

Option Explicit 

Private Sub Form_Load() 
    Dim intIndex As Integer 
    'change the caption of the default button 
    Command1(0).Caption = "Button 0" 
    For intIndex = 1 To NRBUTTONS - 1 
    'load an extra command button 
    Load Command1(intIndex) 
    'change the caption of the newly loaded button 
    Command1(intIndex).Caption = "Button " & CStr(intIndex) 
    'newly load command buttons are invisible by deafult 
    'make the new command button visible 
    Command1(intIndex).Visible = True 
    Next intIndex 
End Sub 

Private Sub Form_Resize() 
    'arrange all loaded command buttons via a loop 
    Dim intIndex As Integer 
    Dim sngWidth As Single 
    Dim sngHeight As Single 
    sngWidth = ScaleWidth 
    sngHeight = ScaleHeight/NRBUTTONS 
    For intIndex = 0 To NRBUTTONS - 1 
    Command1(intIndex).Move 0, intIndex * sngHeight, sngWidth, sngHeight 
    Next intIndex 
End Sub 
Смежные вопросы