위 그림과 같은 시계에서요..오른쪽에 시계를 동그라미로 그렸는데 이것을
사각형으로 바꾸려면 어떻게 해야하는지를 알고 싶습니다
그리고 모양을 바꾸게 되면 분침길이를 조정하는 소스및 기타 원중심계산하는 소스
도 바꿔야하는건가요 도움 부탁드립니다
이 소스는 동그란 시계를 그린 소스부분입니다
------------------------------------------------------------------------------
Option Explicit
Private CenterX As Integer '원 중심좌표X
Private CenterY As Integer '원 중심좌표Y
Private HX As Double, HY As Double '시침의 끝 좌표
Private MX As Double, MY As Double '분침의 끝 좌표
Private SX As Double, SY As Double '초침의 끝 좌표
Private CH As Date '지금 시
Private CM As Date '지금 분
Private CS As Date '지금 초
Private OS As Date '이전 초
Const H_size = 900 '시침의 길이
Const M_size = 950 '분침의 길이
Const S_size = 1000 '초침의 길이
Const P_size = 1050 '무자판 원주의 반지름
Const C_size = 1100 '원의 반지름
Const PI = 3.14159264 '원주율
------------------------------------------------------------------------------
Private Sub Combo1_Change()
Call 달력표시
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
'텍스트박스와 콤보박스에 년월 표시
Text1.Text = Year(Date)
Combo1.Text = Month(Date)
'달력표시 사용자정의 프로시저 호출
Call 달력표시
'원 중심 계산
CenterX = Frame2.Left + Frame2.Width / 2
CenterY = Frame2.Top + Frame2.Height / 2
'초변수 초기화
CS = -1 '지금 시간 모름
OS = -1 '이전 시간 모름
End Sub
------------------------------------------------------------------------------
Private Sub Timer1_Timer()
Dim X As Double
Dim Y As Double
Dim Temp As Integer
Dim PointX As Double
Dim PointY As Double
Label3.Caption = Format(Time, "AMPM")
Label4.Caption = Left(Format(Time, "hh:mm:ss AM/PM"), 8)
Shape2.Width = Shape1.Width / 60 * Second(Time)
Shape2.Width = Shape1.Width / 60
Shape2.Left = Shape1.Left + Shape1.Width / 60 * Second(Time)
'원 그리기
DrawWidth = 1
Circle (CenterX, CenterY), C_size, QBColor(1)
'문자판 그리기
DrawWidth = 3
For Temp = 0 To 359 Step 30
X = Cos((Temp - 90) * PI / 180)
Y = Sin((Temp - 90) * PI / 180)
PointX = CenterX + X * P_size
PointY = CenterY + Y * P_size
PSet (PointX, PointY), QBColor(1)
Next Temp
'시,분,초침 그리기
If CS <> OS Then
'초침 지우기
If OS <> -1 Then
DrawWidth = 1
Line (CenterX, CenterY)-(SX, SY), QBColor(7)
End If
'분침 지우기
If OS <> -1 Then
DrawWidth = 2
Line (CenterX, CenterY)-(MX, MY), QBColor(7)
End If
'시침 지우기
If OS <> -1 Then
DrawWidth = 4
Line (CenterX, CenterY)-(HX, HY), QBColor(7)
End If
'시침 그리기
DrawWidth = 4
Temp = CH * 30 + CM / 2 + CS / 120
X = Cos((Temp - 90) * PI / 180)
Y = Sin((Temp - 90) * PI / 180)
HX = CenterX + X * H_size
HY = CenterY + Y * H_size
Line (CenterX, CenterY)-(HX, HY), QBColor(4)
'분침 그리기
DrawWidth = 2
Temp = CM * 6 + CS / 10
X = Cos((Temp - 90) * PI / 180)
Y = Sin((Temp - 90) * PI / 180)
MX = CenterX + X * M_size
MY = CenterY + Y * M_size
Line (CenterX, CenterY)-(MX, MY), QBColor(3)
'초침 그리기
DrawWidth = 1
Temp = CS * 6
X = Cos((Temp - 90) * PI / 180)
Y = Sin((Temp - 90) * PI / 180)
SX = CenterX + X * S_size
SY = CenterY + Y * S_size
Line (CenterX, CenterY)-(SX, SY), QBColor(2)
'이전 초 기억하기
OS = CS
End If
'현재 시간 설정
CH = Hour(Time)
CM = Minute(Time)
CS = Second(Time)
End Sub
------------------------------------------------------------------------------
Private Sub UpDown1_Change()
달력표시
End Sub
------------------------------------------------------------------------------
첫댓글 사각형 그리기는 line을 사용하면 됩니다.
어떻게 그리는 건지 잘 모르겠네요..;;
line(왼쪽상단X좌표, 왼쪽상단Y좌표)-(오른쪽하단X좌표,오른쪽하단Y좌표),,b <==이렇게 하시면 사각형을 그리실수 있습니다. " ,,b " 이걸 제거하면 하나의 선이 그려지고 넣게되면 사각형이 그려지죠..
참고로 bf를 넣으면 채워진 사각형이 그려집니다..-_-; 여기선 그릴 필요 없겠지만.. 채우고 싶으면 채워도 되겠군요.. 어차피 처음에 그려 놓으면 바늘을 가릴 리는 없으니