VB6.0 제어 배열 인덱스 번호는 공간 속성 창의 인덱스 속성에서 설정됩니다.
인덱스 속성(컨트롤 배열)은 컨트롤 배열에서 컨트롤을 고유하게 식별하는 번호를 반환하거나 설정합니다. 컨트롤이 컨트롤 배열의 요소인 경우에만 유효합니다.
기본적으로 Visual Basic에서는 사용 가능한 다음 정수를 컨트롤 배열의 새 컨트롤에 대한 인덱스 값으로 할당하지만 이 할당을 변경하고 일부 숫자를 건너뛸 수 있습니다. 배열에 있는 첫 번째 컨트롤의
인덱스에 대해 0이 아닌 정수를 설정할 수도 있습니다. 컨트롤 배열에서 식별된 컨트롤 없이 코드에서 Index 값을 참조하면 Visual Basic 런타임 오류가 발생합니다.
Index 속성은 컨트롤 배열의 요소를 구별합니다. 배열의 컨트롤이 이벤트를 인식하면 Visual Basic은 공용 이벤트 프로시저를 호출하고 매개 변수(Index 속성 값)를 전달하여 이벤트를 인식한 컨트롤을 식별합니다.
예를 들어 Number_Click 이벤트 프로시저의 첫 번째 코드 줄은 다음과 같습니다:
Private Sub Number_Click(Integer As Integer)
If Number(0 )는 이벤트를 식별하고 Visual Basic은 0을 인덱스 매개 변수로 전달하며 Number(1)이 이벤트를 인식하면 Visual Basic은 1을 인덱스 매개 변수로 전달합니다.
인덱스 속성 예
이 예는 두 개의 OptionButton 컨트롤로 시작하고 CommandButton 컨트롤을 클릭할 때마다 양식에 새 OptionButton을 추가합니다. OptionButton을 클릭하면 FillStyle
속성이 설정되고 새 원이 그려집니다. 이 예제를 시도하려면 두 개의 OptionButton 컨트롤, CommandButton 및 큰 PictureBox
컨트롤이 있는 양식의 선언 섹션에 다음 코드를 붙여넣습니다. 두 OptionButton 컨트롤의 Name 속성을 Option1로 설정하여
컨트롤 배열을 만듭니다.
Private Sub Option1_Click(정수형 인덱스)
Dim H, W '변수를 선언합니다.
Picture1.Cls '사진을 지웁니다.
Picture1.FillStyle = Index '채우기 스타일을 설정하세요.
W = Picture1.ScaleWidth / 2 '원의 크기를 구하세요.
H = Picture1.ScaleHeight / 2
Picture1.Circle (W, H), W / 2 '원을 그립니다.
End Sub
Private Sub Command1_Click()
Static MaxIdx ? '배열의 최대 인덱스 값입니다.
If MaxIdx = 0 Then MaxIdx = 1 'Preset MaxIdx.
MaxIdx = MaxIdx + 1 ? '인덱스 값을 1 증가시킵니다.
If MaxIdx > 7 Then Exit Sub ? '양식에 8개의 버튼을 배치합니다.
Load Option1(MaxIdx) ? '배열에 새 항목을 만듭니다.
'이전 버튼 아래에 새 옵션 버튼의 위치를 설정합니다.
Option1(MaxIdx).Top = Option1(MaxIdx - 1).Top + 360
Option1(MaxIdx).Visible = True ? '새 버튼을 표시하시겠습니까?
자막 종료