GetOpenFileNameEx
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 |