LearningNote
[오토핫키] 메시지 박스(1) 본문
[오토핫키] 메시지 박스(1)
메시지 박스 명령어는 전 시간에 여러 차례 다루었기 때문에
어느 정도 익숙하실 거라 생각합니다.
그래도 행여나 기억이 나지 않으실 수도 있으니,
힌트를 드릴게요.
MsgBox, Hello World!
이제 생각나셨나요?
네, 좋습니다.
이번 시간에는 이 메시지 박스 명령어에 대해,
조금 더 넓고 깊게 알아보도록 할게요.
MsgBox 명령어를 타이핑하고 콤마(,)를 누르면,
다음과 같은 간단 도움말이 나타납니다.
MsgBox [, Options, Title, Text, Timeout]
으잉? 지금까지 써오던 거랑 뭔가 많이 다른데요?
간단 도움말에서는 저런 형태로 알려주고 있지만,
사실은 더 자주 쓰이는 문법은 첫 번째 인자에 단순히 Text를 입력하는 것으로 끝나죠.
따라서 다음의 두 가지 형태로 알아두시면 됩니다.
MsgBox, Text
MsgBox [, Options, Title, Text, Timeout]
첫 번째 문법은 Hello World! 를 출력하면서 이미 마스터하신 것과 진배없으니,
두 번째 문법에 대해 집중적으로 설명드릴게요.
모든 인자가 대괄호 안에 있기 때문에 다 생략이 가능합니다.
다 생략하는 것이 무슨 의미가 있냐 싶긴 하지만,
어떤 결과가 나오는지 한번 해보고 넘어갈게요.
#SingleInstance, Force
F4::
ExitApp
!1::
MsgBox
return
오토핫키 실행 후, Alt + 1을 눌러봅니다.
'Press OK to continue.'가 뜨는군요.
그렇답니다.
몸을 풀었으니,
이제 첫 번째 인자인 Options부터 하나씩 살펴보겠습니다.
메시지 박스의 종류와 가능한 버튼 조합을 나타냅니다.
비어 있거나 생략하면, 기본값이 들어가며, 그 기본값은 0입니다.
사용할 수 있는 값들은 다음의 표를 참고하시기 바랍니다.
옵션이 너무 많아서 갑자기 공부를 게을리하고 싶어 지셨나요?
다 무시하고 딱 하나만 직접 해볼까요?
Yes/No/Cancel 기능이 나타난다고 하는 값을 넣어볼게요.
십진수로 3이네요.
!2::
MsgBox, 3
return
오토핫키를 다시 실행한 후, Alt + 2 키를 눌러보세요.
원하는 결과가 나왔나요?
웬 '3' 이 떡하니 그냥 출력되는군요.
그 이유는 이렇습니다.
MsgBox에 두 가지 문법이 있다고 말씀드렸고,
Options 인자 자리에 숫자 '3'만 넣게 되면,
MsgBox의 첫 번째 문법이 적용되었기 때문입니다.
따라서 뒤쪽에 따라붙는 인자들도 같이 넣어야
두 번째 문법을 사용할 수 있게 된다는 결론이 나오네요.
그렇다면, 이왕 하는 김에 모든 인자 값을 넣어 실행해보도록 하겠습니다.
!2::
;~ MsgBox, Text
MsgBox, 3
return
!3::
;~ MsgBox [, Options, Title, Text, Timeout]
MsgBox, 3, 메시지 박스 연습, 기능이 너무 많아요, 5
return
첫 번째 인자에는 사용할 옵션을 넣었습니다.
두 번째 인자에는 메시지 박스의 제목을 넣었고,
세 번째 인자에는 메시지 박스에 출력할 내용을,
네 번째 인자에는 타임아웃 시간을 넣었습니다.
이때 주의하실 점은 여기에서는 millisecond 단위가 아니라 second 단위입니다.
해당 시간이 지나면 자동으로 메시지 박스를 닫는 기능을 합니다.
코드를 모두 작성하셨으면,
오토핫키 재실행 및 Alt + 3 키를 눌러보세요.
기능이 너무 많지만,
옵션에 따라 이런 식으로 메시지 박스의 형태가 바뀐다는 것만 우선 알고 계시면 되겠네요.
모두 잊어버리고, 필요할 때 찾아서 쓰시면 됩니다.
벌써부터 더 깊게 알고 싶으시면 다음의 링크를 통해 공부하셔도 좋습니다.
autohotkeykr.sourceforge.net/docs/commands/MsgBox.htm
'오토핫키' 카테고리의 다른 글
[오토핫키] 메시지 박스(3) (0) | 2020.07.04 |
---|---|
[오토핫키] 메시지 박스(2) (0) | 2020.07.04 |
[오토핫키] 변수와 표현식(2) (0) | 2020.06.30 |
[오토핫키] 변수와 표현식(1) (0) | 2020.06.29 |
[오토핫키] 타이밍 제어 (0) | 2020.06.26 |