메세지박스를 로드하는 API이다.
메시지박스는 기본적으로 메시지박스 표시 동작과 메시지박스에 대한 사용자 선택 동작이 비동기 스크립트 흐름 방식으로 동작한다.
메시지박스에 대한 사용자 선택 결과는 screen 오브젝트의 on_messagebox 이벤트를 통해 전달된다.
메시지박스를 동기식 스크립트 흐름을 통해서 사용하기 위해서는 screen 오브젝트의 messageboxsync API를 사용한다.
ANIMATE_TYPE_MESSAGEBOX 실행 파라미터를 기준으로 메시지박스 표시 애니메이션 유형이 지정된다.
Parameters | Type | Description |
---|---|---|
strMsg | STRING | 메세지 내용 |
strTitle | STRING | 메세지박스의 제목 |
nBoxStyle | short | 박스 스타일 |
nButtonType | short | 버튼 스타일 |
nFocusButton | short | 포커스 받을 버튼 [옵션] |
strMessageBoxId | STRING | 메세지 박스 ID [옵션] |
nXPos | short | [옵션] 메시지박스 수평 표시 위치 (기본값: -1) |
nYPos | short | [옵션] 메시지박스 수직 표시 위치 (기본값: -1) |
Type | Description |
---|---|
void | 없음 |
메세지 박스 ID를 지정하지 않을 경우, 화면의 on_messagebox 이벤트의 messagebox_id 파라미터에 공백문자열이 전달된다.
* 버튼 스타일과 박스의 아이콘 스타일 지정할 수 있다.
* MESSAGEBOX STYLE(메세지박스 스타일) 상수 XFD_MB_INFORMATION 또는 1 XFD_MB_ERROR 또는 2 XFD_MB_QUESTION 또는 3 XFD_MB_STOP 또는 4 * MESSAGEBOX BUTTON TYPE(버튼 스타일) 상수 XFD_MB_ABORTRETRYIGNORE 또는 1 XFD_MB_OK 또는 2 XFD_MB_OKCANCEL 또는 3 XFD_MB_RETRYCANCEL 또는 4 XFD_MB_YESNO 또는 5 XFD_MB_YESNOCANCEL 또는 6 XFD_MB_CANCELRETRYCONTINUE 또는 7 * MESSAGEBOX FOCUS BUTTON(포커스 받을 버튼) 상수 XFD_MB_FOCUSBUTTON1 또는 0 XFD_MB_FOCUSBUTTON2 또는 1 XFD_MB_FOCUSBUTTON3 또는 2 * MESSAGEBOX BUTTON 상수 XFD_MB_RESOK 또는 1 XFD_MB_RESCANCEL 또는 2 XFD_MB_RESABORT 또는 3 XFD_MB_RESRETRY 또는 4 XFD_MB_RESIGNORE 또는 5 XFD_MB_RESYES 또는 6 XFD_MB_RESNO 또는 7 XFD_MB_RESCONTINUE 또는 8
사용자가 ESC 키 입력시, 선택된 값은 XFD_MB_RESCANCEL 값으로 지정된다.
function btn_test_on_mouseup(objInst)
{
screen.messagebox("어떤내용을 선택하시겠습니까?", "선택여부",
XFD_MB_QUESTION, XFD_MB_YESNOCANCEL, XFD_MB_FOCUSBUTTON1, "test_messagebox");
}
/**
* 화면 messagebox API로 로드된 메시지박스 사용자 선택 완료 이벤트
*
* @param {string} messagebox_id 메시지 박스 ID
* @param {number} result 사용자가 선택한 버튼 값
*/
function screen_on_messagebox(messagebox_id, result)
{
factory.consoleprint("on_messagebox> start");
factory.consoleprint("on_messagebox> messagebox_id = " + messagebox_id);
factory.consoleprint("on_messagebox> result = " + result);
factory.consoleprint("on_messagebox> messagebox_result_type = " + this.GetMessageBoxType(result));
}
// 메시지박스 사용자 선택 버튼 유형 값에 유형 문자열 리턴
function GetMessageBoxType(messagebox_result)
{
var messagebox_result_type;
messagebox_result_type = "";
switch (messagebox_result) {
case XFD_MB_RESOK: messagebox_result_type = "OK"; break;
case XFD_MB_RESCANCEL: messagebox_result_type = "CANCEL"; break;
case XFD_MB_RESABORT: messagebox_result_type = "STOP"; break;
case XFD_MB_RESRETRY: messagebox_result_type = "RETRY"; break;
case XFD_MB_RESIGNORE: messagebox_result_type = "IGNORE"; break;
case XFD_MB_RESYES: messagebox_result_type = "YES"; break;
case XFD_MB_RESNO: messagebox_result_type = "NO"; break;
case XFD_MB_RESCONTINUE: messagebox_result_type = "CONTINUE"; break;
default: messagebox_result_type = "UNKNOWN"; break;
}
return messagebox_result_type;
}