10 달력(MonthCal)

Estimated reading: 2 minutes 24 views

이 문서에서는 AutoHotkey v2의 MonthCal 컨트롤 생성 및 제어에 대해 학습합니다. 초보부터 고급 사용자까지 다양한 수준의 예제를 통해 MonthCal 컨트롤 추가, 날짜 선택, 동적 제어, 이벤트 처리 등의 고급 기능을 다룹니다.

  • 초급: 기본 MonthCal 컨트롤 생성, 기본 날짜 선택 및 크기 설정을 학습합니다.
  • 중급: 특정 날짜 설정, 선택 날짜 초기화, 다중 MonthCal 제어 등을 학습합니다.
  • 고급: MonthCal 컨트롤의 파일 저장, 조건에 따른 날짜 제어 및 동적 작업 실행 등의 고급 기능을 학습합니다.

초급 (기본 사용법)

목표: 기본적인 MonthCal 컨트롤 생성 및 날짜 선택, 크기 조정 방법을 학습합니다.

기본 MonthCal 컨트롤 생성

기본 MonthCal 컨트롤을 생성합니다.

MyGui := Gui()
MyGui.Add(MonthCal, w200 h150)
MyGui.Show(w300 h300)

설명

  • MyGui.Add(“MonthCal”, “w200 h150”): 너비 200px, 높이 150px의 MonthCal 컨트롤을 추가합니다.
  • MonthCal은 달력을 표시하며 기본적으로 현재 날짜가 선택됩니다.

기본 날짜 선택 상태 설정

MonthCal 컨트롤의 기본 선택 날짜를 설정합니다.

MyGui := Gui()
MyGui.Add(MonthCal, w200, 2024-01-01)
MyGui.Show(w300 h300)

설명

  • 2024-01-01: 기본 선택 날짜를 2024년 1월 1일로 설정합니다.
  • 날짜 형식은 YYYY-MM-DD로 지정합니다.

MonthCal의 크기 및 위치 조정

MonthCal 컨트롤의 위치와 크기를 설정합니다.

MyGui := Gui()
MyGui.Add(MonthCal, x20 y20 w150 h150)
MyGui.Show(w300 h300)

설명

  • x20 y20: X=20, Y=20 좌표에 MonthCal 컨트롤을 배치합니다.
  • w150 h150: 너비 150px, 높이 150px로 컨트롤 크기를 설정합니다.

중급 (MonthCal 컨트롤 스타일 설정)

목표: MonthCal의 스타일을 변경하고, 날짜 설정, 초기화 및 다중 MonthCal 컨트롤을 학습합니다.

특정 날짜 선택

MonthCal 컨트롤의 선택 날짜를 동적으로 변경합니다.

MyGui := Gui()
MyMonthCal := MyGui.Add(MonthCal, vSelectedDate)
MyGui.Add(Button, 날짜 변경, () => MyMonthCal.Value := 2024-12-25)
MyGui.Show(w300 h300)

설명

  • MyMonthCal.Value := “2024-12-25”: 선택 날짜를 2024년 12월 25일로 설정합니다.
  • vSelectedDate: MonthCal에 SelectedDate라는 변수를 할당합니다.

MonthCal의 비활성화

MonthCal 컨트롤을 비활성화하여 날짜를 선택할 수 없게 만듭니다.

MyGui := Gui()
MyGui.Add(MonthCal, Disabled w200 h150)
MyGui.Show(w300 h300)

설명

  • Disabled: MonthCal 컨트롤을 비활성화하여 날짜 선택을 막습니다.

다중 MonthCal 컨트롤 생성

2개의 MonthCal 컨트롤을 생성하여 서로 독립적으로 작동하게 만듭니다.

MyGui := Gui()
MyGui.Add(MonthCal, x10 y10 vStartDate, 2024-01-01)
MyGui.Add(MonthCal, x10 y200 vEndDate, 2024-12-31)
MyGui.Show(w300 h500)

설명

  • x10 y10: 첫 번째 MonthCal 컨트롤을 X=10, Y=10 좌표에 배치합니다.
  • x10 y200: 두 번째 MonthCal 컨트롤을 X=10, Y=200 좌표에 배치합니다.
  • vStartDate, vEndDate: 각각의 MonthCal 컨트롤에 변수를 할당합니다.

고급 (MonthCal 컨트롤 제어 및 이벤트 추가)

목표: MonthCal 컨트롤의 상태를 동적으로 제어하고, 선택 날짜에 따른 작업을 수행합니다.

현재 선택된 날짜 확인

현재 선택된 날짜의 값을 확인합니다.

MyGui := Gui()
MyMonthCal := MyGui.Add(MonthCal, vSelectedDate)
MyGui.Add(Button, 선택 확인, () => MsgBox(현재 선택된 날짜:  MyMonthCal.Value))
MyGui.Show(w300 h300)

설명

  • MyMonthCal.Value: MonthCal 컨트롤의 선택된 날짜를 반환합니다.
  • MsgBox: 현재 선택된 날짜를 메시지로 표시합니다.

선택한 날짜와 오늘의 날짜 비교

선택된 날짜가 오늘보다 이전인지 확인합니다.

MyGui := Gui()
MyMonthCal := MyGui.Add(MonthCal, vSelectedDate)
MyGui.Add(Button, 날짜 비교, () => {
    Today := Format({:04}{:02}{:02}, A_YYYY, A_MM, A_DD)
    If (MyMonthCal.Value 

설명

  • A_YYYY, A_MM, A_DD: 현재 날짜를 가져와 YYYYMMDD 형식으로 생성합니다.
  • MyMonthCal.Value < Today: 선택한 날짜가 오늘보다 이전인지 확인합니다.

MonthCal의 선택 초기화

버튼 클릭으로 MonthCal의 선택 상태를 초기화합니다.

MyGui := Gui()
MyMonthCal := MyGui.Add(MonthCal, vSelectedDate)
MyGui.Add(Button, 날짜 초기화, () => MyMonthCal.Value := 2024-01-01)
MyGui.Show(w300 h300)

설명

  • MyMonthCal.Value := “2024-01-01”: 선택 날짜를 2024년 1월 1일로 초기화합니다.

현재 날짜 파일에 저장

MonthCal에서 선택한 날짜의 값을 파일에 저장합니다.

MyGui := Gui()
MyMonthCal := MyGui.Add(MonthCal, vSelectedDate)
MyGui.Add(Button, 파일에 저장, () => {
    FileAppend(MyMonthCal.Value, 선택날짜.txt)
    MsgBox 선택된 날짜가 '선택날짜.txt' 파일에 저장되었습니다.
})
MyGui.Show(w300 h300)

설명

  • FileAppend(MyMonthCal.Value, “선택날짜.txt”): 선택한 날짜를 선택날짜.txt 파일에 저장합니다.

현재 시간 동적 업데이트

1초마다 현재 시간을 업데이트합니다.

MyGui := Gui()
MyMonthCal := MyGui.Add(MonthCal, vCurrentTime)
MyGui.Show(w300 h300)
SetTimer(() => MyMonthCal.Value := FormatTime(yyyy-MM-dd), 1000)

설명

  • SetTimer(): 1초마다 MyMonthCal.Value를 현재 날짜로 업데이트합니다.
  • FormatTime(“yyyy-MM-dd”): 현재 날짜를 yyyy-MM-dd 형식으로 가져옵니다.

향후 추가 예정

  • MonthCal의 동적 생성 및 제어
  • 특정 날짜에 따른 작업 실행
  • MonthCal 상태를 파일로 저장 및 복원
Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments