본문 바로가기
Visual Basic 6.0

체크박스 동적생성 함수

by 유반짝 2022. 2. 25.

Private Sub LoadGradeButton()
    Dim rs As ADODB.Recordset
    Dim i As Integer
    
    On Error GoTo ERRHANDLER

    If ConnectDB = False Then Exit Sub

    Set rs = GetBaseCode(CD_GRADE)
    
    '합/불 체크버튼 동적생성
    If rs.EOF Then
        chkGrade(1).Visible = False
    Else
        chkGrade(1).Caption = rs!Grade
        chkGrade(1).Tag = rs!GradeID
        chkGrade(1).Value = vbChecked   '첫번재껀 항상 선택
        
        m_dGradeCnt = rs.RecordCount    '버튼 총 갯수
        
        rs.MoveNext

        i = 2
        Do Until rs.EOF

            Load chkGrade(i)

            With chkGrade(i)
                .Left = chkGrade(i - 1).Left + chkGrade(i - 1).Width + 50
                .Top = 780
                .Caption = rs!Grade
                .Tag = rs!GradeID
                .Value = vbUnchecked
                .Visible = True
            End With

            i = i + 1
            rs.MoveNext
        Loop
        rs.Close
        Set rs = Nothing
    End If

    If DisConnectDB = False Then Exit Sub
    
    Exit Sub

ERRHANDLER:
    Call ErrorBox(Err.Number, "LoadGradeButton", Err.Description)
End Sub

 

 

코드실행시 합격 옆에 불합격 버튼도 생김