탐색기 스타일 후크 프로시저

탐색기 스타일 열기 또는 다른 이름으로 저장 대화 상자 후크 프로시저, 사용자 지정 서식 파일, 또는 둘 모두를 제공 하 여 사용자 지정할 수 있습니다. 탐색기 스타일 대화 상자의 후크 프로시저를 제공 하는 경우 시스템 기본 대화 상자의 자식인 대화 상자를 만듭니다. 후크 프로시저 대화 프로시저 자식 대화 상자에 대 한 역할을 합니다. 이 자식 대화 상자는 없음 제공 하는 경우 사용자 지정 서식 파일 또는 기본 서식 파일에 기반 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. 탐색기 스타일 사용자 지정 서식 파일.

탐색기 스타일 열기 또는 다른 이름으로 저장 대화 상자 후크 프로시저를 사용 하려면 대화 상자를 만들 때 OPENFILENAME 구조를 사용 합니다. 플래그 구성원에서 OFN_ENABLEHOOK 및 OFN_EXPLORER 플래그가 설정 하 고 lpfnHook 멤버에서 OFNHookProc 후크 프로시저의 주소를 지정 합니다. 후크 프로시저를 제공 OFN_EXPLORER 플래그를 생략 하는 경우 OFNHookProcOldStyle 후크 프로시저를 사용 해야 하 고 오래 된-스타일의 사용자 인터페이스를 얻을 것 이다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. 오래 된-스타일 대화 상자 사용자 지정.

탐색기 스타일 후크 프로시저 대화 상자가 열려 있는 동안 다양 한 메시지를 받습니다. 이러한 다음과 같습니다.:

또한, 거기에 정보를 얻기 위해 또는 대화 상자의 모양과 동작을 제어 하려면 탐색기 스타일 대화 상자에 보낼 수 있는 메시지의 집합.

탐색기 스타일 대화 상자의 후크 프로시저를 제공 하는 경우 기본 대화 상자 프로시저가 기본 대화 상자 프로시저는 WM_INITDIALOG 메시지를 처리 하는 경우 자식 대화 상자를 만듭니다. 후크 프로시저 대화 프로시저 자식 대화 상자에 대 한 역할을 합니다. 이 시점에서 후크 프로시저는 lParam 매개 변수 대화 상자를 초기화 하는 데 사용 하는 OPENFILENAME 구조체의 주소를 설정 자체 WM_INITDIALOG 메시지를 받습니다. 자식 대화 자체 WM_INITDIALOG 메시지를 처리 완료 후 기본 대화 상자 프로시저 자식 대화 상자의 추가 컨트롤 위한 공간을 만들기 위해 필요한 경우 표준 컨트롤을 이동 합니다. 기본 대화 상자 프로시저는 다음 후크 프로시저를 CDN_INITDONE 알림 메시지를 보냅니다.

후크 프로시저를 수신 WM_NOTIFY 알림 메시지 대화 상자에서 사용자가 수행한 작업을 표시 합니다. 이러한 메시지 중 일부를 사용 하 여 대화 상자 동작을 제어할 수 있습니다. 예를 들어, 후크 프로시저는 사용자 파일 이름을 선택 하 고 확인 단추를 클릭할 때 CDN_FILEOK 메시지를 받습니다. 이 메시지에 응답, 후크 프로시저 수 SetWindowLong 함수 사용 하 여 선택한 이름을 거부 하 고 대화 상자를 열어.

각 WM_NOTIFY 메시지의 lParam 매개 변수는 작업을 정의 하는 OFNOTIFY 구조에 대 한 포인터입니다. OFNOTIFY 구조에 대 한 헤더에 코드 멤버 다음 알림 코드 중 하나를 포함.

CDN_FILEOK 사용자가 클릭 한 확인 단추; 대화 상자를 닫습니다.
CDN_FOLDERCHANGE 사용자는 새 폴더 또는 디렉터리를 열.
CDN_HELP 사용자가 도움말 단추를 클릭 한.
CDN_INITDONE 시스템 초기화 대화 상자를 완료 하 고 대화 상자 WM_INITDIALOG 메시지를 처리 완료. 또한, 시스템 완료 (해당 되는 경우) 자식 대화 상자의 컨트롤에 대 한 공간을 만들기 위해 일반 대화 상자에 컨트롤 정렬.
CDN_SELCHANGE 사용자 파일 목록에서 새 파일이 나 폴더 선택.
CDN_SHAREVIOLATION 일반 대화 상자에 대해 반환 될 파일 공유 위반이 발생 했습니다.
CDN_TYPECHANGE 사용자는 새 파일 형식을 파일 형식 목록에서 선택.

이러한 WM_NOTIFY 메시지 대체 FILEOKSTRING, LBSELCHSTRING, SHAREVISTRINGHELPMSGSTRING 등록 열기다른 이름으로 저장 대화 상자의 이전 버전에서 사용 되는 메시지. 그러나 후크 프로시저 또한 메시지가 대체 WM_NOTIFY 메시지 후 WM_NOTIFY 처리 아닌 DWL_MSGRESULT 값을 설정 하려면 SetWindowLong 사용 하지 않는 경우.

후크 프로시저 대화 상자에 다음 메시지를 보낼 수 있습니다 대화 상자의 상태에 대 한 정보를 검색 하거나 대화 상자의 모양과 동작을 제어 하려면.

CDM_GETFILEPATH 경로 및 선택한 파일의 파일 이름 검색.
CDM_GETFOLDERIDLIST 대화 상자에 열기는 현재 폴더에 해당 항목 식별자 목록을 검색 합니다. 항목 식별자 목록에 대 한 자세한 내용은 참조 항목 식별자 및 식별자 목록.
CDM_GETFOLDERPATH 현재 폴더 또는 대화 상자에 대 한 디렉터리 경로 검색합니다.
CDM_GETSPEC 검색 대화 상자에서 현재 선택한 파일의 파일 이름 (경로 제외).
CDM_HIDECONTROL 지정된 된 컨트롤을 숨깁니다.
CDM_SETCONTROLTEXT 지정된 된 컨트롤의 텍스트 설정.
CDM_SETDEFEXT 대화 상자에 대 한 기본 파일 확장명 설정.

 

Index