과제를 하고있는데요 지금 거의 다해가는데.. 마지막 색변경만 가능하게 만들면되는데
코드는...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
private Sub Command1_Click() 'text1을 추가
List1.AddItem Text1.Text '리스트로 커서를 되돌린다
List1.SetFocus
End Sub
Private Sub Command2_Click() '반전항목제거
Dim i As Integer
For i = List1.ListCount - 1 To 0 Step -1
If List1.Selected(i) = True Then List1.RemoveItem i
Next
List1.SetFocus
End Sub
Private Sub mnuFileItem_Click(Index As Integer)
Dim buf As String
Select Case Index
Case 0
List1.Clear
Case 1
List1.Clear
Open "c:\mydata\teldt.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, buf
List1.AddItem buf
Loop
Close #1
Case 2
Open "c:\mydata\teldt.txt" For Output As #1
For i = 0 To List1.ListCount - 1
Print #1, List1.List(i)
Next
Close #1 '배열을 닫는다
Case 3 '구분선
'아무것도 하지 않으면 코드 불필요
Case 4
End '종료
End Select
End Sub
Private Sub mnuSetteiCol_Click(Index As Integer)
Select Case Index
Case 0 '검정
List1.ForeColor = RGB(0, 0, 0)
Case 1 '빨강
List1.ForeColor = RGB(255, 0, 0)
Case 2 '파랑
List1.ForeColor = RGB(0, 0, 255)
Case 3 '녹색
List1.ForeColor = RGB(0, 255, 0)
End Select
For i = 0 To 3
mnuSetteiCol(i).Checked = False '체크 표시 제거
Next
mnuSetteiCol(Index).Checked = True '체크 표시 부여
End Sub
Private Sub 메뉴힐베르트_Click(Index As Integer)
Const size = 4096
Dim ct As Integer, lenn As Integer
Dim x As Integer, y As Integer
Dim d As Integer
Picture1.Cls
ct = 5
If ct > 10 Then Exit Sub
lenn = size / (2 ^ ct)
x = size - size / (2 ^ (ct + 1))
y = size / (2 ^ (ct + 1))
d = 270
drawA ct - 1, x, y, d, lenn
End Sub
Private Sub drawA(ct As Integer, x As Integer, y As Integer, ByVal d As Integer, lenn As Integer)
If ct < 0 Then Exit Sub
d = d - 90: drawB ct - 1, x, y, d, lenn: drawLine x, y, d, lenn
d = d + 90: drawA ct - 1, x, y, d, lenn: drawLine x, y, d, lenn
drawA ct - 1, x, y, d, lenn: d = d + 90: drawLine x, y, d, lenn
drawB ct - 1, x, y, d, lenn: d = d - 90
End Sub
Private Sub drawB(ct As Integer, x As Integer, y As Integer, ByVal d As Integer, lenn As Integer)
If ct < 0 Then Exit Sub
d = d + 90: drawA ct - 1, x, y, d, lenn: drawLine x, y, d, lenn
d = d - 90: drawB ct - 1, x, y, d, lenn: drawLine x, y, d, lenn
drawB ct - 1, x, y, d, lenn: d = d - 90: drawLine x, y, d, lenn
drawA ct - 1, x, y, d, lenn: d = d + 90
End Sub
Private Sub drawLine(x As Integer, y As Integer, d As Integer, lenn As Integer)
Dim oldx As Integer, oldy As Integer
If d < 0 Then d = d + 360
If d >= 360 Then d = d - 360
oldx = x: oldy = y
Select Case d
Case 0: x = x + lenn
Case 90: y = y - lenn
Case 180: x = x - lenn
Case 270: y = y + lenn
End Select
Picture1.Line (oldx, oldy)-(x, y)
End Sub
Private Sub 메뉴코흐곡선_Click(Index As Integer)
Picture1.Cls
d$ = InputBox("ITERATION")
P = Val(d$)
Pi = 4 * Atn(1)
Picture1.Scale (1.1, 0.5)-(-0.1, -0.4)
ReDim T(P)
H = 3 ^ (-P)
PSet (0, 0)
For N = 0 To 4 ^ P - 1
M = N
For L = 0 To P - 1
T(L) = M Mod (4)
M = M \ 4
Next L
S = 0
For K = 0 To P - 1
S = S + (T(K) + 1) Mod 3 - 1
Next K
oldx = x: oldy = y
x = x + Cos(Pi * S / 3) * H
y = y + Sin(Pi * S / 3) * H
Picture1.Line (oldx, oldy)-(x, y)
Next N
End Sub
Private Sub 메뉴칼라_Click(Index As Integer)
Select Case Index
Case 0 '검정
Picture1.ForeColor = RGB(0, 0, 0)
Case 1 '빨강
Picture1.ForeColor = RGB(255, 0, 0)
Case 2 '파랑
Picture1.ForeColor = RGB(0, 0, 255)
Case 3 '녹색
Picture1.ForeColor = RGB(0, 255, 0)
End Select
' For i = 0 To 3
' 메뉴칼라(i).Checked = False '체크 표시 제거
'Next
' 메뉴칼라(Index).Checked = True '체크 표시 부여
End Sub
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
여기까지인데
문제가
힐베르트 곡선과 코흐곡선이있는데 (프랙탈은 해놓은게 학교에 있어서요)
그 두 곡선을 그리게 만드는것 까지는 다만들었습니다.
그리고 메뉴바를 이용해서 색을 바꿀려고하는데 분명히 메뉴에서 따와서 만들어 봤는데, 색이 안바뀝니다..
색만 바꾸면 끝인데! 도와주세요!
근데 안되더라구요 흑흑흑