문제
많은 응용 프로그램에서는 사용자에게 입력 또는 선택을 요청한 다음 해당 입력에 따라 조치를 취해야 합니다. 이 레시피는 모덜리스 (즉, 모달이 아닌) 선택 항목이 있는 대화 상자. 사용자가 좋아요 버튼을 눌러 창을 닫으면 사용자 입력을 변수에 저장한 다음 필요한 모든 작업을 수행합니다.
해결책
그만큼 새창() 함수는 사용자에게 입력을 요청하는 데 사용할 수 있는 창을 만듭니다. 새 창에서 사용할 수 있습니다. 입력 선택기 표시 상자 사용자 선택을 수집합니다.
그런 다음 기능 설정 또는 스크립트 설정 옵션 버튼 박스 표시 상자의 값을 JSL 변수에 저장합니다.
버튼 상자에 있는 스크립트의 마지막 부분은 사용자가 창을 닫은 후에 필요한 작업을 수행합니다.
win = New Window( "Set the Value",
H List Box( Text Box( "Set this value" ), num_edit_box1 = Number Edit Box( 42 ) ),
check_box_1 = Check Box( "On" ),
combo_box1 = Combo Box( {"Choice 1", "Choice 2", "Choice 3"} ),
list_box1 = List Box( {"Choice 3", "Choice 4", "Choice 5"} ),
H List Box(
Button Box( "OK",
//store results in jsl variables
num_input = num_edit_box1 << get;
check_box_input = check_box_1 << get;
combo_box_input = combo_box1 << get selected;
list_box_input = list_box1 << get selected;
//close the window
//wait until you've unloaded the input boxes before you closing
//or else they'll be gone
win << close window;
//now do whatever work you want with the inputs
Show( num_input, check_box_input, combo_box_input, list_box_input );
),
//a cancel button that closes the window and doesn't store store the results
Button Box( "Cancel", win << close window )
)
);
논의
모덜리스 대화 상자는 모달 대화 상자보다 약간 까다롭습니다. 새창() 대화 상자가 닫히기 전에 실행됩니다. 그렇기 때문에 버튼 박스 스크립트에 해야 할 "작업"을 넣어야 합니다.
또한보십시오
모덜리스 대화 상자에서 값 검색