VB의 콘트롤 배열에 대한 질문입니다.
글쓴이: hakkyoku / 작성시간: 금, 2004/02/06 - 10:30오후
콘트롤 배열에서는 다중배열이 불가능한가요??
아래의코드는 두더쥐 잡기에서 일부분의 코드입니다.
Dim blnMogura(9) As Boolean Private Sub Form_Load() Dim i As Integer imgHole(0).Picture = imgAna.Picture For i = 1 To conEne - 1 Load imgHole(i) imgHole(i).Move imgHole(0).Left + conWidth * (i Mod 3) imgHole(i).Visible = True Next i initForm End Sub
저상태에서는 가로로 3개의 배열이 폼에 표시되지만..
저걸 확장하여 가로 세로 3줄씩 전부 9개를 표시하고 싶습니다..
2중배열로 바꾸면
Dim blnMogura(3,3) As Boolean Private Sub Form_Load() Dim i As Integer Dim j As Integer imgHole(0).Picture = imgAna.Picture For i = 1 To conEne - 1 For j = 1 To conEne - 1 Load imgHole(j) imgHole(j).Move imgHole(j).Left + conWidth * (i Mod 3) imgHole(j).Visible = True Next j Next i initForm End Sub
이렇게 하면 에러가 나는데 뭔가 방법이 있을까요?
어떻게 해야 3*3으로 할 수 있을까요
Forums:
전체코드가 있지 않아서 해석하기가 난해합니다만...일단 9로 되어있는
전체코드가 있지 않아서 해석하기가 난해합니다만...
일단 9로 되어있는 배열을 3,3으로 바꾸는건 blnMogura쪽만 바꾸면 안되겠죠.
conEne의 값도 바꾸어야할 것이며 imgHole의 타입도 바꿔야하겠죠.
만일 imgHole은 그냥 사용하고 싶다면 계산식에
Load imgHole(j) 대신에 Load imgHole(i * 3 + j)가 들어가야하겠죠.
물론 J가 들어가는 모든곳에 저런 식으로 들어가야 자기 자리를 찾겠죠.
만일 imgHole도 (3,3)형태로 바꾸었다면 그때는 간단하게
Load imgHole (i, j)로 바꾸어도 될겁니다.
------------------------------
좋은 하루 되세요.
답변 감사드립니다..지금 실행해 보기로 하겠습니다.
답변 감사드립니다..지금 실행해 보기로 하겠습니다.
댓글 달기