모덜리스 대화 상자

모덜리스 대화 상자는 시스템 메뉴, 제목 표시줄 및 얇은 테두리; 팝업 창이 있어야 합니다. 즉, 대화 상자 템플릿에 WS_POPUP, WS_CAPTION, WS_BORDER, 및 WS_SYSMENU 스타일을 지정 해야 합니다. 시스템은 하지 않으면 WS_VISIBLE 스타일을 지정 하는 서식 파일 대화 상자를 자동으로 표시.

응용 프로그램 CreateDialog 또는 CreateDialogIndirect 함수를 사용 하 여 모덜리스 대화 상자를 만듭니다. CreateDialog 필요 대화 상자 템플릿에;를 포함 하는 리소스의 식별자 또는 이름 CreateDialogIndirect 대화 상자 템플릿에 포함 된 메모리 개체의 핸들이 필요 합니다. CreateDialogParamCreateDialogIndirectParam, 두 개의 다른 기능 또한 모덜리스 대화 상자 만들기 대화 상자를 만들 때 대화 상자 프로시저에 지정한 매개 변수 전달.

CreateDialog 및 다른 생성 함수 대화 상자에 대 한 창 핸들을 반환합니다. 응용 프로그램 및 대화 상자 프로시저 관리 대화 상자에이 핸들을 사용할 수 있습니다. 예를 들어, WS_VISIBLE 대화 상자 템플릿에 지정 하지 않은 경우 응용 프로그램 상자를 표시할 수 대화 창 핸들이 ShowWindow 함수에 전달 하 여.

모덜리스 대화 상자는 소유자 창을 비활성화도 그것에 메시지를 보냅니다. 대화 상자를 만들 때 시스템 그것에 게 현재 창 하지만 사용자 또는 응용 프로그램이 언제 든 지 활성 창을 변경할 수 있습니다. 대화 상자 비활성 되는가, 소유자 창이 활성화 되어 있는 경우에 Z 순서로 소유자 창 위에 유지.

응용 프로그램은 검색 하 고 대화 상자에 입력된 메시지를 디스패치 하는 작업을 담당 합니다. 대부분의 응용 프로그램에 대 한 기본 메시지 루프를 사용합니다. 그러나 사용자를 이동 하 고 키보드를 사용 하 여 컨트롤을 선택 하려면,, 응용 프로그램 IsDialogMessage 함수를 호출 해야 합니다. 이 함수에 대 한 자세한 내용은 다음 웹 사이트를 참조 하십시오. 대화 상자 키보드 인터페이스.

모달 대화 상자가 않지만 대화 상자 프로시저는 소유자 창 SendMessage 함수를 사용 하 여 정보를 보낼 수 있습니다으로 모덜리스 대화 상자 응용 프로그램에 값을 반환할 수 없습니다.

응용 프로그램이 종료 되기 전에 모든 모덜리스 대화 상자를 파괴 해야 한다. 그것은 DestroyWindow 함수를 사용 하 여 모덜리스 대화 상자를 파괴할 수 있다. 대부분의 경우, 대화 상자 프로시저에서 취소 단추를 선택 하는 것과 같은 사용자 입력에 응답 DestroyWindow 를 호출 합니다. 응용 프로그램 사용자는 절대 이런 방식으로 대화 상자를 닫는 경우 DestroyWindow 를 호출 해야 합니다.

DestroyWindow 후속 호출 핸들을 사용 하는 함수는 오류 값을 반환 하므로 대화 상자에 대 한 창 핸들을 무효화 합니다. 오류를 방지 하려면 대화 상자 프로시저를 알려야 소유자 대화 상자가 소멸 되었습니다. 많은 응용 프로그램은 대화 상자에 대 한 핸들을 포함 하는 전역 변수를 유지 합니다. 대화 상자는 더 이상 유효를 나타내는 NULL을 또한 전역 변수 설정 대화 상자를 파괴 하는 대화 상자 프로시저를 하는 경우.

대화 상자 프로시저를 모덜리스 대화 상자를 파괴 EndDialog 함수를 호출 하지 해야 합니다.

 

Index