08 체크박스(CheckBox)

Estimated reading: 2 minutes 47 views

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

  • 초급: 기본 CheckBox 컨트롤 생성, 체크 상태 및 그룹화 방법을 학습합니다.
  • 중급: CheckBox의 상태 제어, 비활성화/활성화, 동적 CheckBox 추가 기능을 학습합니다.
  • 고급: 다중 CheckBox의 선택 상태에 따른 동적 작업, 조건에 따른 체크 상태 변경, 파일 저장 기능 등을 학습합니다.

초급 (기본 사용법)

목표: 기본적인 CheckBox 컨트롤 생성 및 체크 상태, 기본 선택 상태 제어 방법을 학습합니다.

기본 CheckBox 컨트롤 생성

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

MyGui := Gui()
MyGui.Add(CheckBox, w150, 옵션 1)
MyGui.Add(CheckBox, w150, 옵션 2)
MyGui.Add(CheckBox, w150, 옵션 3)
MyGui.Show(w300 h200)

설명

  • MyGui.Add(“CheckBox”, “w150”, “옵션 1”): 너비 150px의 옵션 1 CheckBox를 추가합니다.
  • 연속된 CheckBox 컨트롤은 각각 독립적으로 작동합니다.

기본 선택 상태 설정

CheckBox의 기본 선택 상태를 설정합니다.

MyGui := Gui()
MyGui.Add(CheckBox, Checked, 옵션 1)
MyGui.Add(CheckBox, , 옵션 2)
MyGui.Add(CheckBox, Checked, 옵션 3)
MyGui.Show(w300 h200)

설명

  • Checked: 기본적으로 옵션 1옵션 3을 선택된 상태로 설정합니다.
  • 옵션 2는 선택되지 않은 상태로 표시됩니다.

CheckBox의 크기 및 위치 조정

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

MyGui := Gui()
MyGui.Add(CheckBox, x20 y20 w150 h30, 옵션 1)
MyGui.Add(CheckBox, x20 y60 w150 h30, 옵션 2)
MyGui.Show(w300 h150)

설명

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

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

목표: CheckBox 컨트롤의 상태 제어, 비활성화 및 동적 CheckBox 추가 기능을 학습합니다.

비활성화된 CheckBox 생성

CheckBox 컨트롤을 비활성화하여 선택할 수 없도록 만듭니다.

MyGui := Gui()
MyGui.Add(CheckBox, , 옵션 1)
MyGui.Add(CheckBox, Disabled, 비활성화된 옵션 2)
MyGui.Add(CheckBox, , 옵션 3)
MyGui.Show(w300 h150)

설명

  • Disabled: 옵션 2를 비활성화하여 클릭할 수 없게 만듭니다.

CheckBox 선택 상태 변경

버튼 클릭으로 CheckBox의 선택 상태를 변경합니다.

MyGui := Gui()
MyGui.Add(CheckBox, vOption1, 옵션 1)
MyGui.Add(Button, gToggleCheckBox, 옵션 1 선택/해제)
MyGui.Show(w300 h150)

ToggleCheckBox() {
    GuiControlGet, OptionState,, Option1
    NewState := !OptionState
    GuiControl,, Option1, % NewState
}

설명

  • GuiControlGet, OptionState: 현재 CheckBox의 선택 상태(0 또는 1)를 가져옵니다.
  • GuiControl,, Option1, % NewState: CheckBox의 선택 상태를 토글합니다.

동적 CheckBox 추가

버튼 클릭으로 동적 CheckBox를 추가합니다.

MyGui := Gui()
MyGui.Add(Button, gAddNewCheckBox, CheckBox 추가)
MyGui.Show(w300 h150)

AddNewCheckBox() {
    Static CheckBoxCount := 3
    CheckBoxCount++
    MyGui.Add(CheckBox, , 옵션  CheckBoxCount)
    MyGui.Show()
}

설명

  • Static CheckBoxCount: 버튼 클릭할 때마다 CheckBox의 개수를 증가시킵니다.
  • MyGui.Add(“CheckBox”): 동적으로 새로운 CheckBox를 추가합니다.

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

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

현재 선택된 CheckBox 확인

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

MyGui := Gui()
MyGui.Add(CheckBox, vOption1, 옵션 1)
MyGui.Add(CheckBox, vOption2, 옵션 2)
MyGui.Add(Button, gCheckSelection, 선택 확인)
MyGui.Show(w300 h150)

CheckSelection() {
    Gui, Submit, NoHide
    MsgBox 옵션 1:  Option1 `n옵션 2:  Option2
}

설명

  • Gui, Submit, NoHide: 현재 선택된 CheckBox의 상태를 가져옵니다.
  • Option1, Option2: 선택 상태가 1(선택됨) 또는 0(선택되지 않음)으로 반환됩니다.

조건에 따른 CheckBox 선택 변경

조건에 따라 특정 CheckBox의 선택 상태를 변경합니다.

MyGui := Gui()
MyGui.Add(CheckBox, vOption1, 옵션 1)
MyGui.Add(CheckBox, vOption2, 옵션 2)
MyGui.Add(Button, gChangeSelection, 옵션 2 선택)
MyGui.Show(w300 h150)

ChangeSelection() {
    GuiControl,, Option2, 1  ; 옵션 2를 선택
}

설명

  • GuiControl,, Option2, 1: Option2의 선택 상태를 선택된 상태(1)로 변경합니다.

CheckBox 선택 초기화

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

MyGui := Gui()
MyGui.Add(CheckBox, vOption1, 옵션 1)
MyGui.Add(CheckBox, vOption2, 옵션 2)
MyGui.Add(Button, gResetSelection, 선택 초기화)
MyGui.Show(w300 h150)

ResetSelection() {
    GuiControl,, Option1, 0
    GuiControl,, Option2, 0
}

설명

  • GuiControl,, Option1, 0: Option1의 선택 상태를 해제합니다.
  • GuiControl,, Option2, 0: Option2의 선택 상태를 해제합니다.

CheckBox 상태 파일에 저장

CheckBox의 상태를 파일에 저장합니다.

MyGui := Gui()
MyGui.Add(CheckBox, vOption1, 옵션 1)
MyGui.Add(CheckBox, vOption2, 옵션 2)
MyGui.Add(Button, gSaveSelection, 파일에 저장)
MyGui.Show(w300 h150)

SaveSelection() {
    Gui, Submit, NoHide
    FileAppend, 옵션 1: %Option1%`n옵션 2: %Option2%, 체크상태.txt
    MsgBox CheckBox 상태가 '체크상태.txt' 파일에 저장되었습니다.
}

설명

  • FileAppend: CheckBox의 상태를 체크상태.txt 파일에 저장합니다.

향후 추가 예정

  • 다중 CheckBox의 선택에 따른 동적 작업
  • CheckBox 상태 복원 기능
  • 조건에 따른 CheckBox 자동 선택
Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments