지정된 텍스트를 작은 창 안에 보여줍니다. 안에 버튼이 들어 있습니다 (예를 들어 Yes 그리고 No).
MsgBox, Text MsgBox , Options, Title, Text, Timeout
모든 매개변수를 생략하면, 메시지 상자는 텍스트 "계속하려면 OK를 누르십시오."를 보여줍니다. 그렇지 않으면, 이 매개변수는 사용자에게 무엇을 해야 하는지 또는 정보를 제공하기 위해 메시지 박스 안에 보여주는 텍스트입니다.
피신 연속열을 사용하면 특수 문자를 표기할 수 있습니다. 예를 들어, `n은 라인피드 문자를 나타냅니다. 이 문자는 현재 줄을 끝내고 새 줄을 시작합니다. 그리하여, "text1`n`ntext2"는 text1과 text2 사이에 빈 줄을 만듭니다.
Text가 길면, 계속 섹션을 수단으로 여러 짧은 줄들로 가를 수 있습니다. 이렇게 하면 가독성과 유지관리성이 개선됩니다.
메시지 박스의 종류와 가능한 버튼 조합을 나타냅니다. 비어 있거나 생략하면, 기본값은 0입니다. 허용되는 값들은 아래의 표를 참조하십시오.
이 매개변수는 기호 그대로의 숫자이거나 ([v1.1.06+]) 또는 % Options
와 같은 강제 표현식입니다. 비어 있지 않은 다른 값들은 이 매개변수로 인지하지 않고, 단일-매개변수의 Text의 일부로 인지합니다.
메시지 박스 창의 제목. 생략하거나 비어 있으면, 기본값은 스크립트의 (경로 없이) 이름입니다.
(선택적) 초단위 시간 제한, 안에 십진 소수점이 들어 있지만 기본적으로 표현식이 아닙니다. [v1.1.06+]: % mins*60
와 같은 강제 표현식일 수 있습니다.
이 값이 2147483 (24.8 일)을 초과하면, 2147483으로 설정됩니다. 시간제한이 경과한 후에 메시지 박스는 자동으로 닫힙니다. 그리고 IfMsgBox 명령어가 그 값 TIMEOUT을 보게 됩니다.
The following limitation was fixed in [v1.1.30.01]: If the message box contains only an OK button, IfMsgBox will think that the OK button was pressed if the message box times out while its own thread is inactive due to being interrupted by another.
The Options parameter can be a combination (sum) of values from the following groups.
To indicate the buttons displayed in the message box, add one of the following values:
기능 | 십진수 값 | 십육진수 값 |
---|---|---|
OK (즉, OK 버튼이 보여집니다) | 0 | 0x0 |
OK/Cancel | 1 | 0x1 |
Abort/Retry/Ignore | 2 | 0x2 |
Yes/No/Cancel | 3 | 0x3 |
Yes/No | 4 | 0x4 |
Retry/Cancel | 5 | 0x5 |
Cancel/Try Again/Continue | 6 | 0x6 |
To display an icon in the message box, add one of the following values:
기능 | 십진수 값 | 십육진수 값 |
---|---|---|
손 아이콘 (중지/에러) | 16 | 0x10 |
질문 아이콘 | 32 | 0x20 |
감탄 아이콘 | 48 | 0x30 |
별표 아이콘 (정보) | 64 | 0x40 |
To indicate the default button, add one of the following values:
기능 | 십진수 값 | 십육진수 값 |
---|---|---|
2nd 버튼이 기본값 | 256 | 0x100 |
3rd 버튼이 기본값 | 512 | 0x200 |
4th 버튼이 기본값 (requires the Help button to be present) |
768 | 0x300 |
To indicate the modality of the dialog box, add one of the following values:
기능 | 십진수 값 | 십육진수 값 |
---|---|---|
System Modal (항상 위) | 4096 | 0x1000 |
Task Modal | 8192 | 0x2000 |
항상 위 (스타일 WS_EX_TOPMOST) (시스템 모델과 같지만 제목 바 아이콘이 생략됩니다) |
262144 | 0x40000 |
To specify other options, add one or more of the following values:
기능 | 십진수 값 | 십육진수 값 |
---|---|---|
도움말 버튼 추기 (아래 논평 참조) | 16384 | 0x4000 |
텍스트를 우측 정렬 | 524288 | 0x80000 |
Hebrew/Arabic에 대하여 오른쪽에서 왼쪽으로 읽음 | 1048576 | 0x100000 |
A message box usually looks like this:
위의 표에서 메시지 상자에 보여줄 값들을 더해서 사용됩니다. 예를 들어, 기본 버튼을 Yes 대신에 No로 하여 Yes/No 박스를 지정하려면, Options 값은 256+4 (260)가 됩니다. 십육진수로 0x100+0x4 (0x104)가 됩니다.
MsgBox는 똑똑하게 쉼표를 처리합니다. 그래서 보통 Text 매개변수 안에 있는 쉼표를 피신 시킬 필요가 없습니다.
최근의 메시지 상자에서 사용자가 어느 버튼을 눌렀는지 알아 내려면, IfMsgBox 명령어를 사용하십시오. 예를 들어:
MsgBox, 4,, 계속 하시겠습니까? (Yes 또는 No를 누르십시오) IfMsgBox Yes MsgBox Yes를 누르셨습니다. else MsgBox No를 누르셨습니다.
버튼의 이름들은 다음 예제를 따라 재단할 수 있습니다.
정보: 메시지 상자 창이 활성화되어 있는 동안 Ctrl+C를 누르면 그의 텍스트를 클립보드로 복사합니다. 이것은 AutoHotkey가 생산한 메시지 상자는 물론이고 모든 메시지 상자에 적용됩니다.
GUI 창과 함께 MsgBox 사용하기: GUI 창은 Gui +OwnDialogs를 사용하면 모달 메시지 상자를 보여줄 수 있습니다. 모달 메시지 상자에서 사용자는 메시지 상자를 끝낼 때까지 GUI 창과 상호 작용할 수 없습니다. 그런 경우, 위의 테이블에 있는 System Modal 또는 Task Modal 옵션을 지정할 필요가 없습니다.
Gui +OwnDialogs가 겨져 있지 않으면, Task Modal 옵션(8192)을 사용하면 사용자가 메시지 상자를 끝낼 때까지 스크립트의 모든 창을 끌 수 있습니다.
도움말 버튼: 도움말 버튼 옵션 (16384)이 Options에 존재하면, 도움말 버튼을 클릭해도 아무 효과도 없습니다. 단, 다음 두 조건이 모두 참인 경우는 예외입니다:
OnMessage(0x0053, "WM_HELP")
. WM_HELP() 함수가 호출될 때, 사용자를 안내 할 수 있습니다. 예를 들어 또다른 창이나 MsgBox를 보여줍니다.닫기 버튼 (메시지 상자의 제목 바에 있는): 메시지 상자 창은 운영 체제의 내장 특징이기 때문에 , 그의 X 버튼은 어떤 버튼이 존재할 경우에만 활성 화됩니다. 오직 OK 버튼만 있다면, X 버튼을 클릭하더라도 OK를 클릭한 것과 같습니다. 그렇지 않으면, X 버튼은 비활성화 됩니다. 단, Cancel 버튼이 있다면 예외인데, 이 경우 X를 클릭한 것은 Cancel를 누른 것과 같습니다.
IfMsgBox, InputBox, FileSelectFile, FileSelectFolder, ToolTip, GUI
매개변수가 한 개인 방법. A quick and easy way to show information. The user can press an OK button to close the message box and continue execution.
MsgBox 이것은 매개변수가 한 개인 방법입니다. 쉼표 (,)는 피신시킬 필요가 없습니다.
매개변수가 세 개인 방법. Use the first and second parameter to specify the options and the title.
MsgBox, 4, , 이것은 매개변수가 세 개인 방법입니다. 쉼표 (,)는 피신시킬 필요가 없습니다.
Use IfMsgBox to determine which button the user pressed in the most recent message box.
MsgBox, 4, , 계속하시겠습니까? (YES 또는 NO를 누릅니다) IfMsgBox No return
매개변수가 네 개인 방법. Use the fourth parameter (Timeout) to automatically close the message box after a certain number of seconds.
MsgBox, 4, , 매개변수가 네 개인 방법: 이 MsgBox는 시간제한이 5초입니다. 계속하시겠습니까?, 5 IfMsgBox Timeout MsgBox 5 초 안에 YES 또는 NO를 누르지 않았습니다. else IfMsgBox No return