대화 상자가 열려 있으면 Microsoft Word가 정확히 닫히지 않는 이유는 무엇입니까?

대화 상자가 열려 있으면 Microsoft Word가 정확히 닫히지 않는 이유는 무엇입니까?

다른 대화 상자가 열려 있는 상태에서 문서를 닫으려고 하면 Word에서 표시하는 오류가 가끔 발생하지만 결코 알 수 없습니다.일어난다.

답변1

대부분의 대화 상자는 "모달" 이는 대화 상자 자체가 닫힐 때까지 제어가 기본 프로그램이나 호출 컨테이너로 다시 전달되지 않음을 의미합니다. 이는 의도적으로 설계된 것이며 프로그래머는 창을 모달 또는 비모달로 만들 수 있는 옵션이 있습니다. 일반적으로 창은 다음과 같습니다. 열린 대화 상자가 선택(확인) 또는 중단(취소)을 통해 처리될 때까지 주 프로그램이 계속될 수 없거나 계속되어서는 안되는 경우 모달로 정의됩니다.

답변2

대화 상자에 다음과 같은 내용이 표시될 수 있습니다.

문서를 변경했습니다. 저장하시겠습니까? (예 아니오)

여기에는 명확한 정답이 없습니다. 실수로 문서가 손상되었을 수 있습니다(예: 고양이가 키보드 위로 걸어가는 경우). 대답은 "아니요"이고, 변경 내용을 입력하는 데 몇 시간을 소비한 경우 대답은 "예"입니다.

Word에서 가장 안전한 방법은 질문에 대답할 때까지 닫기를 거부하는 것입니다.

답변3

프로그램이 이런 방식으로 설계되었기 때문에 사용자가 원하지 않는 조치를 취하지 않도록 할 수 있습니다.

일반적으로 프로그램에서 사용자에게 어떤 작업을 안내해야 할 때 대화 상자가 표시됩니다. 저장되지 않은 문서를 닫는 것이 좋은 예입니다. 대화 상자는 변경 사항을 저장하거나, 변경 사항을 취소하거나, 닫기를 중단하고 편집으로 돌아가도록 제안합니다. 프로그램을 닫으면 일부 조치가 취해지기 때문에 프로그램은 이 질문에 대답하지 않고 닫히는 것을 의도적으로 거부합니다. 프로그램은 예를 들어 자체적으로 결정할 수 없습니다. 최근 편집 내용을 삭제하거나 반대로 키보드에 고양이를 입력하여 올바른 버전을 덮어쓰십시오.

닫기와 관련이 없는 대화 상자를 고려하더라도 이는 일반적으로 일부 프로세스가 진행 중이고 아직 완료되지 않았으며 사용자가 어느 방향으로 갈지 결정해야 함을 의미합니다. 중단은 사용자가 의도하지 않은 작업이기도 하기 때문에 "단순히 중단"할 수 없습니다.

또한 제작자가 모든 기능에 대해 "안전한 탈출구"를 만들 필요가 없기 때문에 프로그램 설계가 단순화됩니다.

오늘날 대부분의 대화 상자는 기술적인 의미에서 모달이 아니지만(프로그램이 계속 책임을 집니다) 프로그램의 논리 흐름이라는 더 넓은 의미에서 모달로 만드는 것이 여전히 더 쉽습니다.

답변4

커튼 뒤에서 프로그램(우리의 경우 MS Word)은 창을 생성할 때 "X 버튼 클릭 이벤트 핸들러"를 생성합니다. 대화 상자 창이 있으면 Word에서 이를 기록합니다. 그런 다음 X 버튼 핸들러에서 X 버튼을 클릭하면 기록된 열린 대화 상자 창을 확인합니다. 일부가 있는 경우 핸들러는 닫기 작업을 중단합니다. 메모리가 없으면 프로그램을 종료하고 OS는 프로그램이 차지한 메모리를 정리합니다. 이것이 작동하는 방식입니다.

관련 정보