Este tópico descreve codificar exemplo que exibe uma caixa de diálogo Abrir para que um usuário pode especificar a unidade, o diretório e o nome de um arquivo para abrir. O exemplo de código primeiro Inicializa um OPENFILENAME estrutura e, em seguida, chama o GetOpenFileName função para exibir a caixa de diálogo.
Neste exemplo, o membro lpstrFilter aponta para um buffer que especifica dois filtros de nome de arquivo que o usuário pode selecionar para limitar os nomes de arquivos que são exibidos. A reserva contém uma matriz demitido nulo duplo de seqüências de caracteres em que cada par de seqüências de caracteres Especifica um filtro. O membro nFilterIndex especifica que o primeiro padrão é usado quando a caixa diálogo é criada.
Este exemplo define os sinalizadores OFN_PATHMUSTEXIST e OFN_FILEMUSTEXIST na sinalizadores membro. Esses sinalizadores causam a caixa de diálogo verificar, antes de retornar, que o caminho e o nome do arquivo especificado pelo usuário realmente existem.
O GetOpenFileName função retorna TRUE se o usuário clicar no botão OK e o caminho especificado e o nome do arquivo existirem. Neste caso, a reserva apontada pelo lpstrFile membro contém o caminho e o nome do arquivo. O código de exemplo usa essa informação em um chamar para o CreateFile função para aberto o arquivo.
Embora este exemplo não definido o Sinalizar OFN_EXPLORER, ele ainda exibe a caixa de diálogo estilo do Explorer Abrir padrão. No entanto, se você deseja fornecer um procedimento de gancho ou um modelo Personalizar e você deseja que a interface de usuário do Explorer, você deve definir o sinalizador OFN_EXPLORER.
Ofn OPENFILENAME; / / estrutura de caixa de diálogo comum
Char szFile [260]; / / do buffer de nome de arquivo
HWND hwnd; / / janela do proprietário
Lidar com hf; / / Arquivo identificador
/ / Inicializar 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.Sinalizadores = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
/ / Exibir a caixa de diálogo Abrir.
se (GetOpenFileName(&ofn) = = TRUE) hf = CreateFile (ofn.lpstrFile, GENERIC_READ,
0, NULL (LPSECURITY_ATTRIBUTES)
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
(ALÇA) NULO)