* 프날 오토핫키 강좌는 PC환경에 최적화되어있습니다.

* 지난 강좌를 보시지 않으신 분은, 좌측 메뉴 목록에서 1강부터 선택해서 봐주시길 바랍니다.


지난 강좌에서는 MsgBox의 심화적인 사용법을 알아보았습니다. 기억하시나요? 매개변수만 다시 보여드리도록 하겠습니다.

MsgBox [, Options, Title, Text, Timeout]

이 중 Options 매개변수를 이용해서 대화 상자의 버튼을 바꿀 수 있었습니다.

이렇게 말입니다.

이번 강좌에서는 버튼에 따라서 행동이 달라지게 하는 방법을 알아볼겁니다.


 MsgBox 버튼의 조건문, IfMsgBox 

MsgBox의 버튼에 따라서 다른 행동을 하게 하려면 IfMsgBox라는 명령어를 사용합니다. IfMsgBox의 매개변수부터 살펴보겠습니다.

IfMsgBox, ButtonName

필수 파라미터가 한 개만 붙어있군요. 이 구문의 의미는 "ButtonName버튼을 눌렀을 때"입니다.

 

ButtonName은 버튼의 이름입니다. 한국어가 아닌 영어로 써주어야 합니다. 아래 표를 참고해서 써주시면 됩니다.

 

번호 옵션 번호  ButtonName
0 확인 버튼만 표시 확인 OK
1 확인 / 취소 버튼 표시 취소 Cancel
2 중단 / 다시 시도 / 무시 버튼 표시 중단 Abort
3 예 / 아니오 / 취소 버튼 표시 다시시도 Retry
4 예 / 아니오 버튼 표시 무시 Ignore
5 다시 시도 / 취소 버튼 표시 Yes
6 취소 / 다시 시도 / 계속 버튼 표시 아니오 No
    계속 Continue

표의 왼쪽 부분인 번호와 옵션은 한 번 더 가져와보았고요, 우리가 중요하게 봐야할 것은 가장 오른쪽 ButtonName입니다.

 

일반적인 용법은 이렇게 쓰시면 됩니다.

MsgBox [, Option, Title, Text, Timeout]
IfMsgBox, ButtonName
{
    //여기에 버튼을 눌렀을 때의 동작 입력
}

 

예를 들어서, 제가 Options 매개변수에 4를 썼습니다. 버튼은 예 / 아니오로 나올 것입니다.

그리고 만약 "예"를 눌렀을 때 "예를 눌렀습니다"라는 대화 상자를 하나 더 띄우고 싶다면

MsgBox, 4, 제목, 내용
IfMsgBox, Yes
{
    MsgBox, 예를 눌렀습니다.
}

라고 쓰시면 되는 겁니다. 여기에 '아니오'버튼을 눌렀을 때 다른 동작을 하고 싶다면

MsgBox, 4, 제목, 내용
IfMsgBox, Yes
{
    MsgBox, 예를 눌렀습니다.
}
IfMsgBox, No
{
    MsgBox, 아니오를 눌렀습니다.
}

라고 쓰시면 됩니다.

6강 예제.ahk
0.00MB


 

아직은 배운 내용이 MsgBox 하나 뿐이라, 버튼을 눌렀을 때 대화 상자밖에 띄울 수 없었습니다. 그렇지만 우선 알아두시면, 나중에 분명 도움이 되실겁니다.

 

그리고, 사실 강좌를 진행할 땐 더 기초적이고 훨씬 중요한 변수와 연산자 개념을 먼저 설명드리는 것이 맞습니다.

그렇지만 오토핫키 특성상, MsgBox를 모른다면 변수와 연산자를 '설명'할 수만 있지, 그것을 '눈으로 볼'수 없습니다.

가뜩이나 지루하고 어려운 변수 / 연산자 개념을 이론과 설명으로만 배우고있다면 금방 지치고 포기하게 됩니다.

 

그래서 개인적인 판단에 의해 MsgBox를 변수/연산자보다 먼저 강좌합니다. 이해해주세요.


| 6. MsgBox (고급) |