Compartilhar via


GetOpenFileNameEx

Windows Mobile SupportedWindows Embedded CE Not Supported

9/9/2008

Essa função cria uma caixa diálogo System-defined que mostra uma grade de miniaturas, ativando o usuário a escolher uma imagem ou vídeo.

Syntax

BOOL GetOpenFileNameEx(
  LPOPENFILENAMEEX lpofn
);

Parameters

  • lpofn
    [no] Ponteiro para um OPENFILENAMEEX estrutura que contém informações usadas para inicializar o diálogo. Quando GetOpenFileNameEx Retorna, essa estrutura contém informações sobre arquivo seleção do usuário.

Return Value

Nonzero indica que o usuário especificou um nome arquivo. A reserva apontado pelo lpstrFile membro das OPENFILENAMEEX estrutura contém os caminho completo e nome do arquivo especificado pelo usuário.

Zero indica que o usuário cancelada ou fechada o diálogo ou que ocorreu um erro. Para informações de erro estendidas get, chamar GetLastError função. Valores de erro que podem ser retornados incluem:

Return valor Descrição

ERROR_SUCCESS

O usuário cancelou o diálogo.

ERROR_OUTOFMEMORY

Operação ficou memória insuficiente.

ERROR_INVALID_PARAMETER

Um inválido argumento foi especificado.

ERROR_INSUFFICIENT_BUFFER

Esse erro indica que a reserva apontado pelo lpstrFile era muito pequeno. Neste maiúsculas e minúsculas, os dois primeiros bytes da reserva contêm o exigido tamanho do buffer em caracteres.

ERROR_RESOURCE_DISABLED

Esse erro indica que a câmera está desabilitada devido a um valor específico condição.

Exemplo de código

O seguinte exemplo de código demonstra como usar GetOpenFileNameEx.

Observação

Para fazer o seguinte exemplo de código mais fácil de ler, verificação de segurança e manipulação de erro não estão incluídos.Esta exemplo de código não deve ser usado em uma configuração versão a menos que ele foi modificado para incluí-las.

BOOL UseFilePicker(HWND hwndOwner)
{
    TCHAR    szFile[MAX_PATH];
    OPENFILENAMEEX  ofnex = {0};
    ofnex.lStructSize     = sizeof(ofnex);
    ofnex.hwndOwner       = hwndOwner;
    ofnex.lpstrFile       = szFile;
    ofnex.nMaxFile        = sizeof(szFile)/sizeof(szFile[0]);
    ofnex.lpstrFilter     = TEXT("All Files (*.*)\0*.*\0");
    ofnex.lpstrTitle      = TEXT("Thumbnail View");
    // Show thumbnails of files that are not DRM protected
    ofnex.ExFlags         = OFN_EXFLAG_THUMBNAILVIEW | OFN_EXFLAG_HIDEDRMPROTECTED;
    ofnex.lpstrInitialDir = NULL;
}

Exemplo de código

O seguinte exemplo de código exibe um diálogo na qual o usuário pode selecionar somente arquivos do tipo ' * BMP '. A função retorna TRUE se o usuário seleciona um arquivo, e a reserva é definida para o caminho completo e nome do arquivo selecionado. Se a função retorna FALSE, o conteúdo da reserva é indefinido.

Observação

Para fazer o seguinte exemplo de código mais fácil de ler, verificação de segurança e manipulação de erro não estão incluídos.Esta exemplo de código não deve ser usado em uma configuração versão a menos que ele foi modificado para incluí-las.

BOOL SelectBMP(LPTSTR pszFilename, DWORD cchBufSize)
{
  ASSERT(pszFilename);
  OPENFILENAMEEX ofn = {0};
  ofn.lStructSize     = sizeof(ofn);
  ofn.lpstrFilter     = _T("BMP Files (*.bmp)\0*.bmp\0");
  ofn.lpstrFile       = pszFilename;
  ofn.nMaxFile        = cchBufSize;
  ofn.lpstrInitialDir = _T("\\Program Files\\MyApp");
  ofn.lpstrTitle      = _T("Select a bitmap");
  ofn.ExFlags         = OFN_EXFLAG_THUMBNAILVIEW;
  return GetOpenFileNameEx(&ofn));
}

Requirements

Header aygshell.h
Windows Mobile Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later

See Also

Reference

Funções do shell
OPENFILENAMEEX