06 콤보박스(ComboBox)

Estimated reading: 2 minutes 25 views

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

  • 초급: 기본 ComboBox 컨트롤 생성, 기본 선택 상태 및 항목 추가를 학습합니다.
  • 중급: 읽기 전용(Disabled), 선택 항목 제어, 추가/삭제 기능을 학습합니다.
  • 고급: 동적 항목 추가, 조건에 따른 항목 제어, 선택된 항목으로 작업 수행 등의 고급 기능을 학습합니다.

초급 (기본 사용법)

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

기본 ComboBox 컨트롤 생성

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

MyGui := Gui()
MyGui.Add(ComboBox, w200, 옵션 1|옵션 2|옵션 3)
MyGui.Show(w300 h150)

설명

  • MyGui.Add(“ComboBox”, “w200”, “옵션 1|옵션 2|옵션 3”): 너비 200px의 ComboBox를 추가하고, 옵션 1, 옵션 2, 옵션 3을 항목으로 추가합니다.
  • 항목은 | (파이프 기호)로 구분합니다.

기본 선택 상태 설정

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

MyGui := Gui()
MyGui.Add(ComboBox, w200, 옵션 1|옵션 2||옵션 3)
MyGui.Show(w300 h150)

설명

  • ||: 옵션 2를 기본 선택 상태로 설정합니다.
  • 옵션 1, 옵션 3은 선택되지 않은 상태로 표시됩니다.

ComboBox의 크기 및 위치 조정

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

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

설명

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

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

목표: ComboBox 컨트롤의 스타일을 변경하고, 읽기 전용, 항목 추가/삭제 기능을 학습합니다.

읽기 전용 ComboBox 생성

ComboBox 컨트롤을 읽기 전용으로 설정하여 사용자 입력을 막습니다.

MyGui := Gui()
MyGui.Add(ComboBox, ReadOnly w200, 옵션 1|옵션 2|옵션 3)
MyGui.Show(w300 h150)

설명

  • ReadOnly: 입력 필드에 사용자 입력을 금지하고, 드롭다운 목록에서만 선택할 수 있습니다.

ComboBox 항목 추가 및 삭제

버튼 클릭으로 ComboBox에 새로운 항목을 추가합니다.

MyGui := Gui()
MyGui.Add(ComboBox, vMyCombo w200, 옵션 1|옵션 2|옵션 3)
MyGui.Add(Button, gAddItem, 항목 추가)
MyGui.Show(w300 h150)

AddItem() {
    GuiControl,, MyCombo, 추가된 항목
}

설명

  • GuiControl,, MyCombo, 추가된 항목: ComboBox에 추가된 항목을 추가합니다.
  • vMyCombo: ComboBox에 MyCombo라는 변수를 할당합니다.

ComboBox 선택 항목 제거

ComboBox에서 특정 항목을 제거합니다.

MyGui := Gui()
MyGui.Add(ComboBox, vMyCombo w200, 옵션 1|옵션 2|옵션 3|옵션 4)
MyGui.Add(Button, gRemoveItem, 옵션 3 제거)
MyGui.Show(w300 h150)

RemoveItem() {
    GuiControl,, MyCombo, |
    GuiControl,, MyCombo, 옵션 1|옵션 2|옵션 4
}

설명

  • GuiControl,, MyCombo, |: ComboBox의 모든 항목을 제거합니다.
  • 옵션 1|옵션 2|옵션 4: 옵션 3을 제거한 후 나머지 항목을 다시 추가합니다.

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

목표: ComboBox의 상태를 동적으로 제어하고, 이벤트를 활용하여 선택된 항목으로 작업을 수행합니다.

현재 선택된 ComboBox 항목 확인

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

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

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

설명

  • vSelectedOption: ComboBox의 선택된 값을 SelectedOption 변수에 저장합니다.
  • Gui, Submit, NoHide: 모든 컨트롤의 입력 값을 가져옵니다.

조건에 따른 ComboBox 선택 변경

조건에 따라 특정 항목을 선택합니다.

MyGui := Gui()
MyGui.Add(ComboBox, vMyCombo w200, 옵션 1|옵션 2|옵션 3)
MyGui.Add(Button, gChangeSelection, 옵션 3 선택)
MyGui.Show(w300 h150)

ChangeSelection() {
    GuiControl,, MyCombo, 옵션 3
}

설명

  • GuiControl,, MyCombo, 옵션 3: 옵션 3을 선택합니다.

버튼 클릭으로 선택 초기화

버튼을 클릭하여 ComboBox의 선택을 초기화합니다.

MyGui := Gui()
MyGui.Add(ComboBox, vMyCombo w200, 옵션 1|옵션 2|옵션 3)
MyGui.Add(Button, gResetSelection, 선택 초기화)
MyGui.Show(w300 h150)

ResetSelection() {
    GuiControl,, MyCombo, |
}

설명

  • GuiControl,, MyCombo, |: ComboBox의 선택 상태를 초기화합니다.

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

ComboBox에서 선택한 값을 파일에 저장합니다.

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

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

설명

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

향후 추가 예정

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