05 라디오 버튼(Radio)

Estimated reading: 2 minutes 24 views

이 문서에서는 AutoHotkey의 Radio 컨트롤 생성 및 제어에 대해 학습합니다. 다양한 수준의 예제를 통해 Radio 컨트롤 추가, 동적 제어, 이벤트 처리 등의 고급 기능을 다룹니다.

  • 초급: 기본 Radio 컨트롤 생성, 그룹화 및 선택 상태 제어를 학습합니다.
  • 중급: 동적 Radio 추가, Radio의 스타일 변경, 다중 Radio 그룹 제어를 학습합니다.
  • 고급: Radio 그룹을 활용한 동적 작업, 조건에 따른 선택 변경 및 제어 등을 학습합니다.

초급 (기본 사용법)

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

기본 Radio 컨트롤 생성

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

MyGui := Gui()
MyGui.Add(Radio, w100, 옵션 1)
MyGui.Add(Radio, w100, 옵션 2)
MyGui.Add(Radio, w100, 옵션 3)
MyGui.Show(w200 h150)

설명

  • MyGui.Add(“Radio”, “w100”, “옵션 1”): 너비 100px의 옵션 1 Radio 버튼을 추가합니다.
  • 기본적으로 연속된 Radio 컨트롤은 하나의 그룹으로 묶입니다.

Radio 기본 선택 상태 설정

Radio 컨트롤의 기본 선택 상태를 설정합니다.

MyGui := Gui()
MyGui.Add(Radio, Checked, 옵션 1)
MyGui.Add(Radio, , 옵션 2)
MyGui.Add(Radio, , 옵션 3)
MyGui.Show(w200 h150)

설명

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

Radio 컨트롤의 크기 및 위치 조정

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

MyGui := Gui()
MyGui.Add(Radio, x10 y10 w150 h30, 옵션 1)
MyGui.Add(Radio, x10 y50 w150 h30, 옵션 2)
MyGui.Show(w300 h150)

설명

  • x10 y10: 첫 번째 Radio 버튼을 X=10, Y=10 좌표에 배치합니다.
  • w150 h30: 너비 150px, 높이 30px로 크기를 설정합니다.

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

목표: Radio 컨트롤의 스타일을 변경하고, 동적 Radio 추가 및 비활성화 기능을 학습합니다.

비활성화된 Radio 컨트롤 추가

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

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

설명

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

Radio 그룹 구분하기

Radio 컨트롤을 그룹으로 묶어 독립적인 선택 그룹을 만듭니다.

MyGui := Gui()
MyGui.Add(Radio, Group, 그룹 1 - 옵션 1)
MyGui.Add(Radio, , 그룹 1 - 옵션 2)
MyGui.Add(Radio, , 그룹 1 - 옵션 3)

MyGui.Add(Radio, Group, 그룹 2 - 옵션 1)
MyGui.Add(Radio, , 그룹 2 - 옵션 2)
MyGui.Show(w300 h200)

설명

  • Group: 새로운 그룹의 시작을 의미합니다.
  • 첫 번째 그룹과 두 번째 그룹의 Radio 컨트롤은 각각 독립적인 그룹으로 동작합니다.

동적으로 Radio 컨트롤 추가

버튼 클릭으로 동적 Radio 컨트롤을 추가합니다.

MyGui := Gui()
MyGui.Add(Button, gAddNewRadio, Radio 추가)
MyGui.Show(w300 h150)

AddNewRadio() {
    Static RadioCount := 3
    RadioCount++
    MyGui.Add(Radio, , 옵션  RadioCount)
    MyGui.Show()
}

설명

  • Static RadioCount: 클릭할 때마다 새로운 Radio 버튼의 번호를 증가시킵니다.
  • MyGui.Add(“Radio”): 동적으로 새로운 Radio 버튼을 추가합니다.

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

목표: Radio 컨트롤의 상태를 동적으로 제어하고, 이벤트를 활용한 작업을 수행합니다.

현재 선택된 Radio 확인

현재 선택된 Radio 버튼을 확인합니다.

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

CheckSelection() {
    Gui, Submit, NoHide
    MsgBox 현재 선택된 옵션:  SelectedOption
}

설명

  • vSelectedOption: SelectedOption이라는 변수에 현재 선택된 Radio 버튼의 이름을 저장합니다.
  • Gui, Submit, NoHide: 모든 컨트롤의 입력 값을 가져옵니다.

조건에 따른 Radio 선택 변경

조건에 따라 특정 Radio 버튼을 선택합니다.

MyGui := Gui()
MyGui.Add(Radio, vOption1, 옵션 1)
MyGui.Add(Radio, vOption2, 옵션 2)
MyGui.Add(Button, gChangeSelection, 옵션 변경)
MyGui.Show(w300 h150)

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

설명

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

버튼 클릭으로 선택 초기화

버튼을 클릭하면 모든 Radio 컨트롤의 선택 상태를 초기화합니다.

MyGui := Gui()
MyGui.Add(Radio, vOption1, 옵션 1)
MyGui.Add(Radio, 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의 선택 상태를 해제합니다.

현재 선택된 Radio 값 파일에 저장

현재 선택된 Radio 버튼의 값을 파일에 저장합니다.

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

SaveSelection() {
    Gui, Submit, NoHide
    FileAppend, %SelectedOption%, 선택옵션.txt
    MsgBox 선택된 옵션이 '선택옵션.txt' 파일에 저장되었습니다.
}

설명

  • FileAppend: 선택된 옵션을 선택옵션.txt 파일에 저장합니다.
  • Gui, Submit, NoHide: 현재 선택된 Radio 값을 가져옵니다.

향후 추가 예정

  • 다중 Radio 그룹 제어: 사용자 입력에 따라 Radio 그룹을 동적으로 생성하고 제어하는 기능 추가.
  • 조건에 따른 Radio 자동 선택: 특정 조건이 충족되면 자동으로 Radio 선택 변경.
  • 파일 기반의 Radio 상태 관리: 파일의 상태에 따라 Radio의 상태를 복원하는 기능 구현.
Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments