PSN_APPLY 알림 코드
속성 시트의 모든 페이지에 전송되어 사용자가 확인, 닫기 또는 적용 단추를 클릭했으며 모든 변경 내용을 적용하기를 원함을 나타냅니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.
PSN_APPLY
lppsn = (LPPSHNOTIFY) lParam;
매개 변수
-
lParam
-
페이지 ID를 포함하여 알림 코드에 대한 정보가 포함된 PSHNOTIFY 구조체에 대한 포인터입니다.
반환 값
이 페이지에 대한 변경 내용이 유효하고 적용되었음을 나타내도록 PSNRET_NOERROR를 설정합니다. 모든 페이지가 PSNRET_NOERROR를 설정하면 속성 시트가 제거될 수 있습니다. 이 페이지에 대한 변경 내용이 유효하지 않음을 나타내고 속성 시트가 제거되지 않도록 하려면 다음 반환 값 중 하나를 설정합니다.
- PSNRET_INVALID. 속성 시트는 삭제되지 않고 포커스가 이 페이지로 돌아갑니다.
- PSNRET_INVALID_NOCHANGEPAGE. 속성 시트는 제거되지 않고 단추를 눌렀을 때 포커스가 있었던 페이지로 포커스가 돌아갑니다.
반환 값을 설정하려면 페이지의 대화 상자 프로시저가 DWL_MSGRESULT 값으로 SetWindowLong 함수를 호출해야 하며 대화 상자 프로시저는 TRUE를 반환해야 합니다.
설명
사용자의 유효성이 검사, 적용 또는 닫기 단추를 클릭하면 속성 시트가 활성 페이지에 PSN_KILLACTIVE 알림을 보내 사용자의 변경 내용의 유효성을 검사할 수 있는 기회를 제공합니다. 변경 내용이 유효하면 속성 시트는 각 페이지에 PSN_APPLY 알림 코드를 보내 해당 항목에 새 속성을 적용하도록 지시합니다.
참고
속성 시트는 PSN_APPLY 알림 코드가 전송될 때 페이지 목록을 조작하는 중입니다. 이 알림을 처리하는 동안 페이지를 추가, 제거 또는 삽입하지 마세요. 그렇게 하면 예측할 수 없는 결과가 발생합니다.
사용자가 확인 단추를 클릭하면 lParam이 가리키는 PSHNOTIFY 구조체의 lParam 멤버가 TRUE로 설정됩니다. PSM_CANCELTOCLOSE 메시지가 전송되고 사용자가 닫기 단추를 클릭하는 경우에도 TRUE로 설정됩니다. 사용자가 적용 단추를 클릭하면 FALSE로 설정됩니다.
PSHNOTIFY 구조체에는 NMHDR 구조체가 첫 번째 멤버인 hdr로 포함되어 있습니다. 이 NMHDR 구조체의 hwndFrom 멤버에는 속성 시트에 대한 핸들이 포함되어 있습니다.
이 알림 코드를 처리할 때 EndDialog 함수를 호출하지 마세요.
사용자가 확인 단추를 클릭하고 모든 페이지가 PSN_APPLY에 대한 응답으로 PSNRET_NOERROR 값을 반환하면 모달 속성 시트가 삭제됩니다. 페이지에서 PSNRET_INVALID 또는 PSNRET_INVALID_NOCHANGEPAGE를 반환하면 적용 프로세스가 즉시 취소됩니다. 취소 페이지 이후의 페이지는 PSN_APPLY 알림 코드를 받지 않습니다.
이 알림 코드를 받으려면 페이지에서 PSN_KILLACTIVE 알림 코드에 대한 응답으로 DWL_MSGRESULT 값을 FALSE로 설정해야 합니다.
참고
이 알림 코드는 Aero 마법사 스타일(PSH_AEROWIZARD)을 사용할 때 지원되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱만 해당] |
헤더 |
|