07 드롭다운리스트(DropDownList, DDL)

Estimated reading: 2 minutes 24 views

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

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

초급 (기본 사용법)

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

기본 DropDownList 컨트롤 생성

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

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

설명

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

기본 선택 상태 설정

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

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

설명

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

DropDownList의 크기 및 위치 조정

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

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

설명

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

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

목표: DropDownList의 항목 추가/삭제 기능과 동적 제어 방법을 학습합니다.

DropDownList 항목 추가

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

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

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

설명

  • GuiControl,, MyDDL, 추가된 항목: DropDownList에 추가된 항목을 추가합니다.
  • vMyDDL: DropDownList에 MyDDL이라는 변수를 할당합니다.

DropDownList 항목 제거

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

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

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

설명

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

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

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

현재 선택된 DropDownList 항목 확인

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

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

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

설명

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

조건에 따른 DropDownList 선택 변경

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

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

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

설명

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

DropDownList 선택 초기화

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

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

ResetSelection() {
    GuiControl,, MyDDL, |
}

설명

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

DropDownList 선택 값 파일에 저장

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

MyGui := Gui()
MyGui.Add(DropDownList, 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: 현재 선택된 값을 가져옵니다.

향후 추가 예정

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