11 그룹박스(GroupBox)

Estimated reading: 2 minutes 22 views

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

  • 초급: 기본 GroupBox 컨트롤 생성, 내부 컨트롤 추가 및 그룹화 방법을 학습합니다.
  • 중급: GroupBox의 크기, 위치 조정 및 동적 생성 방법을 학습합니다.
  • 고급: GroupBox 내 컨트롤 제어, 조건에 따른 그룹화, 동적 작업 실행 등의 고급 기능을 학습합니다.

초급 (기본 사용법)

목표: 기본적인 GroupBox 컨트롤 생성 및 내부에 컨트롤 추가, 그룹화 방법을 학습합니다.

기본 GroupBox 컨트롤 생성

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

MyGui := Gui()
MyGui.Add(GroupBox, w200 h150, 옵션 그룹)
MyGui.Show(w300 h300)

설명

  • MyGui.Add(“GroupBox”, “w200 h150”, “옵션 그룹”): 너비 200px, 높이 150px의 GroupBox 컨트롤을 추가하고 옵션 그룹이라는 제목을 표시합니다.
  • GroupBox 내부에 다른 컨트롤을 추가할 수 있습니다.

GroupBox 내부에 컨트롤 추가

GroupBox 내부에 컨트롤을 추가합니다.

MyGui := Gui()
MyGui.Add(GroupBox, w200 h150, 옵션 그룹)
MyGui.Add(CheckBox, x30 y50, 옵션 1)
MyGui.Add(CheckBox, x30 y80, 옵션 2)
MyGui.Show(w300 h300)

설명

  • MyGui.Add(“GroupBox”, “w200 h150”, “옵션 그룹”): GroupBox를 생성합니다.
  • CheckBox 컨트롤을 GroupBox 내부에 추가했습니다.

GroupBox의 크기 및 위치 조정

GroupBox의 위치와 크기를 설정합니다.

MyGui := Gui()
MyGui.Add(GroupBox, x20 y20 w250 h200, 옵션 그룹)
MyGui.Add(CheckBox, x40 y60, 옵션 1)
MyGui.Add(CheckBox, x40 y90, 옵션 2)
MyGui.Show(w400 h400)

설명

  • x20 y20: X=20, Y=20 좌표에 GroupBox를 배치합니다.
  • w250 h200: 너비 250px, 높이 200px로 GroupBox 크기를 설정합니다.

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

목표: GroupBox의 스타일을 변경하고, 내부 컨트롤 추가, 동적 GroupBox 추가 기능을 학습합니다.

비활성화된 GroupBox 생성

GroupBox와 내부 컨트롤을 비활성화하여 클릭할 수 없도록 만듭니다.

MyGui := Gui()
MyGui.Add(GroupBox, Disabled x20 y20 w250 h200, 비활성화된 옵션 그룹)
MyGui.Add(CheckBox, x40 y60, 옵션 1)
MyGui.Add(CheckBox, x40 y90, 옵션 2)
MyGui.Show(w400 h400)

설명

  • Disabled: GroupBox 컨트롤과 내부 컨트롤을 비활성화하여 선택할 수 없게 만듭니다.

동적 GroupBox 추가

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

MyGui := Gui()
MyGui.Add(Button, gAddGroupBox, 그룹 추가)
MyGui.Show(w400 h400)

AddGroupBox() {
    Static GroupCount := 1
    GroupCount++
    MyGui.Add(GroupBox, x20 y (40 + GroupCount * 100)  w250 h80, 그룹  GroupCount)
    MyGui.Show()
}

설명

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

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

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

GroupBox 내 컨트롤의 상태 제어

GroupBox 내부의 컨트롤 상태(활성화/비활성화)를 제어합니다.

MyGui := Gui()
MyGui.Add(GroupBox, x20 y20 w250 h200, 옵션 그룹)
MyGui.Add(CheckBox, vOption1 x40 y60, 옵션 1)
MyGui.Add(CheckBox, vOption2 x40 y90, 옵션 2)
MyGui.Add(Button, gToggleGroupState, 그룹 활성화/비활성화)
MyGui.Show(w400 h400)

ToggleGroupState() {
    GuiControlGet, Option1
    NewState := !Option1
    GuiControl, Disable, Option1
    GuiControl, Disable, Option2
}

설명

  • GuiControlGet, Option1: 현재 CheckBox의 선택 상태(0 또는 1)를 가져옵니다.
  • GuiControl, Disable: GroupBox 내부 컨트롤의 활성화/비활성화를 토글합니다.

GroupBox 내부 컨트롤 값 파일에 저장

GroupBox 내부 컨트롤의 값을 파일에 저장합니다.

MyGui := Gui()
MyGui.Add(GroupBox, x20 y20 w250 h200, 옵션 그룹)
MyGui.Add(CheckBox, vOption1 x40 y60, 옵션 1)
MyGui.Add(CheckBox, vOption2 x40 y90, 옵션 2)
MyGui.Add(Button, gSaveGroupState, 파일에 저장)
MyGui.Show(w400 h400)

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

설명

  • FileAppend: GroupBox 내부의 컨트롤 상태를 그룹상태.txt 파일에 저장합니다.
  • Option1, Option2: CheckBox의 선택 상태(0 또는 1)를 저장합니다.

GroupBox 내 동적 컨트롤 추가

GroupBox 내부에 동적으로 컨트롤을 추가합니다.

MyGui := Gui()
MyGroupBox := MyGui.Add(GroupBox, x20 y20 w250 h200, 동적 컨트롤 그룹)
MyGui.Add(Button, gAddCheckBox, 체크박스 추가)
MyGui.Show(w400 h400)

AddCheckBox() {
    Static CheckBoxCount := 1
    CheckBoxCount++
    MyGui.Add(CheckBox, x40 y (50 + CheckBoxCount * 30), 옵션  CheckBoxCount)
    MyGui.Show()
}

설명

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

GroupBox 상태 초기화

GroupBox 내부 컨트롤의 선택 상태를 초기화합니다.

MyGui := Gui()
MyGui.Add(GroupBox, x20 y20 w250 h200, 옵션 그룹)
MyGui.Add(CheckBox, vOption1 x40 y60, 옵션 1)
MyGui.Add(CheckBox, vOption2 x40 y90, 옵션 2)
MyGui.Add(Button, gResetGroup, 초기화)
MyGui.Show(w400 h400)

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

설명

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

향후 추가 예정

  • 동적 GroupBox 생성 및 제어
  • GroupBox의 상태 파일 저장 및 복원
  • GroupBox 내부 컨트롤의 동적 추가 및 제어
Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments