파일 열기

열려는 파일의 이름, 디렉터리 및 드라이브를 사용자 지정할 수 있도록 열기 대화 상자를 표시 하는 샘플 코드에 설명 합니다. 샘플 코드를 먼저 OPENFILENAME 구조를 초기화 하 고 대화 상자를 표시 하려면 GetOpenFileName 함수를 호출 하는 다음.

이 예제에서는 lpstrFilter 멤버 사용자 제한 표시 되는 파일을 선택할 수 있는 두 개의 파일 이름 필터를 지정 하는 버퍼를 가리킵니다. 버퍼 이중 null 종료 배열 문자열의 각 쌍에 필터를 지정 하는 문자열을 포함 합니다. 대화 상자를 만들 때 사용 하는 첫 번째 패턴을 지정 하는 nFilterIndex 멤버.

플래그 구성원에서 OFN_PATHMUSTEXIST 및 OFN_FILEMUSTEXIST 플래그를 설정 하는이 예제. 이러한 플래그를 반환 하기 전에 확인 대화 상자를 경로 파일 이름을 사용자가 지정한 실제로 존재 하는 원인.

GetOpenFileName 함수는 확인 단추를 클릭 하 고 지정 된 경로 파일 이름이 존재 하는 경우 TRUE를 반환 합니다. 이 경우 lpstrFile 멤버에서 가리키는 버퍼는 경로 파일 이름을 포함 합니다. 샘플 코드에서이 정보를 사용 하 여 호출 하는 파일을 엽니다 CreateFile 함수.

이 예제는 OFN_EXPLORER 플래그를 설정 하지 않습니다, 하지만 여전히 기본 탐색기 스타일 열기 대화 상자를 표시 합니다. 그러나 후크 프로시저 또는 사용자 지정 서식 파일을 제공 하려는 경우 탐색기 사용자 인터페이스를 설정 해야 합니다 OFN_EXPLORER 플래그.

OPENFILENAME ofn;       / / 일반 대화 상자 구조
char szFile [260];       / / 파일 이름 버퍼
HWND hwnd;              / / 소유자 창
핸들 hf;              / / 파일 핸들

/ / OPENFILENAME 초기화
ZeroMemory (amp; ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0 ";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn입니다.플래그 = OFN_PATHMUSTEXIST (ko) | OFN_FILEMUSTEXIST;

/ / 열기 대화 상자를 표시 합니다. 

경우 (GetOpenFileName(&ofn) = TRUE) hf CreateFile (ofn.lpstrFile, GENERIC_READ, =
        0, NULL (LPSECURITY_ATTRIBUTES)
        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
        (핸들) NULL) 

 

Index