적용 단추 처리
속성 시트에는 표준 대화 상자에서 수행할 수 없는 기능이 있습니다. 사용자가 속성 시트를 닫기 전에 변경한 내용을 적용할 수 있습니다. 적용 단추를 사용하여 이 작업을 수행합니다. 이 문서에서는 이 기능을 올바르게 구현하는 데 사용할 수 있는 방법을 설명합니다.
모달 대화 상자는 일반적으로 사용자가 확인을 클릭하여 대화 상자를 닫을 때 외부 개체에 설정을 적용합니다. 속성 시트도 마찬가지입니다. 사용자가 확인을 클릭하면 속성 시트의 새 설정이 적용됩니다.
그러나 사용자가 속성 시트 대화 상자를 닫지 않고도 설정을 저장할 수 있도록 허용할 수 있습니다. 적용 단추의 함수입니다. 적용 단추는 현재 활성 페이지의 현재 설정만 적용하는 대신 모든 속성 페이지의 현재 설정을 외부 개체에 적용합니다.
기본적으로 적용 단추는 항상 사용하지 않도록 설정됩니다. 적절한 시간에 적용 단추를 사용하도록 설정하는 코드를 작성해야 하며, 아래에 설명된 대로 적용의 효과를 구현하는 코드를 작성해야 합니다.
사용자에게 적용 기능을 제공하지 않으려면 적용 단추를 제거할 필요가 없습니다. 이후 버전의 Windows에서 사용할 수 있는 표준 속성 시트 지원을 사용하는 애플리케이션에서 일반적이기 때문에 사용하지 않도록 설정할 수 있습니다.
페이지를 수정된 것으로 보고하고 적용 단추를 사용하도록 설정하려면 .를 호출합니다 CPropertyPage::SetModified( TRUE )
. 수정 중인 페이지 보고서가 있으면 현재 활성 페이지가 수정되었는지 여부에 관계없이 적용 단추가 다시 활성화됩니다기본.
사용자가 페이지의 설정을 변경할 때마다 CPropertyPage::SetModified를 호출해야 합니다. 사용자가 페이지에서 설정을 변경하는 시기를 감지하는 한 가지 방법은 속성 페이지의 각 컨트롤(예: EN_CHANGE 또는 BN_CLICKED)에 대한 변경 알림 처리기를 구현하는 것입니다.
적용 단추의 효과를 구현하려면 속성 시트에서 속성 페이지의 현재 설정을 적용하려면 해당 소유자 또는 애플리케이션의 다른 외부 개체를 알려야 합니다. 동시에 속성 시트는 외부 개체에 수정을 적용한 모든 페이지를 호출 CPropertyPage::SetModified( FALSE )
하여 적용 단추를 사용하지 않도록 설정해야 합니다.
이 프로세스의 예제는 MFC 일반 샘플 PROPDLG를 참조하세요.