16 증감 버튼(UpDown)

Estimated reading: 2 minutes 18 views

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

  • 초급: 기본 UpDown 컨트롤 생성, 값 변경 및 기본 크기 조정 방법을 학습합니다.
  • 중급: UpDown의 스타일 변경, 최소/최대 값 설정 및 동적 제어 기능을 학습합니다.
  • 고급: 파일에 UpDown 값 저장, 조건에 따른 값 변경 및 상태 복원 등의 고급 기능을 학습합니다.

초급 (기본 사용법)

목표: 기본적인 UpDown 컨트롤 생성 및 값 변경, 크기 조정 방법을 학습합니다.

기본 UpDown 컨트롤 생성

기본 UpDown 컨트롤을 생성하여 값을 제어합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown)
MyGui.Show(w200 h150)

설명

  • MyGui.Add(“Edit”, “vMyValue x20 y20 w100”): UpDown의 값이 표시될 Edit 컨트롤을 생성합니다.
  • MyGui.Add(“UpDown”): 기본 UpDown 컨트롤을 추가합니다.

UpDown의 기본 값 설정

UpDown의 기본 값을 설정합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown)
MyUpDown.Value := 50  ; 기본 값을 50으로 설정
MyGui.Show(w200 h150)

설명

  • MyUpDown.Value := 50: UpDown 컨트롤의 기본 값을 50으로 설정합니다.

UpDown의 크기 및 위치 조정

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

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown, x150 y20)
MyGui.Show(w250 h150)

설명

  • x150 y20: UpDown 컨트롤의 위치를 X=150, Y=20에 설정합니다.
  • MyGui.Add(“Edit”): Edit 컨트롤과 함께 UpDown 컨트롤을 추가하여 연동합니다.

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

목표: UpDown의 스타일을 변경하고, 최소/최대 값 설정 및 동적 UpDown 추가 기능을 학습합니다.

UpDown의 최소/최대 값 설정

UpDown의 최소/최대 값을 설정합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown, Range0-200)
MyUpDown.Value := 150  ; 기본 값을 150으로 설정
MyGui.Show(w250 h150)

설명

  • Range0-200: UpDown의 최소값을 0, 최대값을 200으로 설정합니다.
  • MyUpDown.Value := 150: 기본 값을 150으로 설정합니다.

동적 UpDown 추가

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

MyGui := Gui()
MyGui.Add(Button, gAddUpDown, UpDown 추가)
MyGui.Show(w400 h400)

AddUpDown() {
    Static UpDownCount := 1
    UpDownCount++
    MyEdit := MyGui.Add(Edit, vMyValue UpDownCount  x20 y (40 + UpDownCount * 30)  w100)
    MyUpDown := MyGui.Add(UpDown, x150 y (40 + UpDownCount * 30))
    MyGui.Show()
}

설명

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

UpDown의 값 변경

버튼 클릭으로 UpDown의 값을 동적으로 변경합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown)
MyGui.Add(Button, gChangeValue, 값 변경)
MyGui.Show(w250 h150)

ChangeValue() {
    MyUpDown.Value := 75
}

설명

  • MyUpDown.Value := 75: 버튼 클릭 시 UpDown의 값75로 변경합니다.

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

목표: UpDown 컨트롤의 상태를 동적으로 제어하고, 조건에 따라 작업을 수행합니다.

UpDown 값 파일에 저장

현재의 UpDown 값을 파일에 저장합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown)
MyGui.Add(Button, gSaveValue, 파일에 저장)
MyGui.Show(w250 h150)

SaveValue() {
    Gui, Submit, NoHide
    FileAppend, UpDown 값: %MyValue%, UpDown값.txt
    MsgBox UpDown 값이 'UpDown값.txt' 파일에 저장되었습니다.
}

설명

  • FileAppend: 현재의 UpDown 값UpDown값.txt 파일에 저장합니다.
  • MyValue: UpDown 컨트롤의 현재 값을 반환합니다.

조건에 따른 UpDown 값 변경

조건에 따라 UpDown의 값을 변경합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown)
MyGui.Add(Button, gChangeValue, 조건에 따라 값 변경)
MyGui.Show(w250 h150)

ChangeValue() {
    Random, RandomValue, 0, 100
    MyUpDown.Value := RandomValue
}

설명

  • Random, RandomValue, 0, 100: 0~100 사이의 임의의 값을 생성합니다.
  • MyUpDown.Value := RandomValue: 조건에 따라 UpDown의 값을 변경합니다.

UpDown 값의 실시간 변경 감지

UpDown의 값이 변경될 때마다 실시간으로 감지합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown)
MyUpDown.OnEvent(Change, () => MsgBox(UpDown 값이  MyUpDown.Value 로 변경되었습니다.))
MyGui.Show(w250 h150)

설명

  • OnEvent(“Change”): UpDown의 값이 변경될 때 MsgBox를 표시합니다.

UpDown 값으로 작업 수행

UpDown의 값에 따라 작업을 수행합니다.

MyGui := Gui()
MyEdit := MyGui.Add(Edit, vMyValue x20 y20 w100)
MyUpDown := MyGui.Add(UpDown)
MyGui.Add(Button, gRunTask, 작업 실행)
MyGui.Show(w250 h150)

RunTask() {
    Loop % MyUpDown.Value {
        Sleep 50  ; 작업 속도를 시뮬레이션
    }
    MsgBox 작업 완료!
}

설명

  • Loop % MyUpDown.Value: UpDown의 값에 따라 작업을 반복합니다.

향후 추가 예정

  • UpDown의 동적 생성 및 제어
  • UpDown 상태를 파일로 저장 및 복원
  • 조건에 따른 UpDown 값에 따른 작업 실행
Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments