Compartilhar via


Estrutura BROWSEINFOW (shlobj_core.h)

Contém parâmetros para a função SHBrowseForFolder e recebe informações sobre a pasta selecionada pelo usuário.

Sintaxe

typedef struct _browseinfoW {
  HWND              hwndOwner;
  PCIDLIST_ABSOLUTE pidlRoot;
  LPWSTR            pszDisplayName;
  LPCWSTR           lpszTitle;
  UINT              ulFlags;
  BFFCALLBACK       lpfn;
  LPARAM            lParam;
  int               iImage;
} BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;

Membros

hwndOwner

Tipo: HWND

Um identificador para a janela do proprietário da caixa de diálogo.

pidlRoot

Tipo: PCIDLIST_ABSOLUTE

Um PIDL que especifica o local da pasta raiz da qual iniciar a navegação. Somente a pasta especificada e suas subpastas na hierarquia de namespace aparecem na caixa de diálogo. Esse membro pode ser NULL; nesse caso, um local padrão é usado.

pszDisplayName

Tipo: LPTSTR

Ponteiro para um buffer para receber o nome de exibição da pasta selecionada pelo usuário. O tamanho desse buffer é considerado MAX_PATH caracteres.

lpszTitle

Tipo: LPCTSTR

Ponteiro para uma cadeia de caracteres terminada em nulo exibida acima do controle de exibição de árvore na caixa de diálogo. Essa cadeia de caracteres pode ser usada para especificar instruções ao usuário.

ulFlags

Tipo: UINT

Sinalizadores que especificam as opções para a caixa de diálogo. Esse membro pode ser 0 ou uma combinação dos valores a seguir. Os números de versão referem-se à versão mínima de Shell32.dll necessária para SHBrowseForFolder para reconhecer sinalizadores adicionados em versões posteriores. Consulte de versões do Shell e controles comuns para obter mais informações.

BIF_RETURNONLYFSDIRS (0x00000001)

0x00000001. Retornar apenas diretórios do sistema de arquivos. Se o usuário selecionar pastas que não fazem parte do sistema de arquivos, o botão OK estará esmaecido.

Observação o botão OK permanece habilitado para itens "\\server", bem como "\server\share" e itens de diretório. No entanto, se o usuário selecionar um item "\\server", a passagem do PIDL retornado por SHBrowseForFolder para SHGetPathFromIDList falhar.
 

BIF_DONTGOBELOWDOMAIN (0x00000002)

0x00000002. Não inclua pastas de rede abaixo do nível de domínio no controle de exibição de árvore da caixa de diálogo.

BIF_STATUSTEXT (0x00000004)

0x00000004. Inclua uma área de status na caixa de diálogo. A função de retorno de chamada pode definir o texto de status enviando mensagens para a caixa de diálogo. Não há suporte para esse sinalizador quando BIF_NEWDIALOGSTYLE é especificado.

BIF_RETURNFSANCESTORS (0x00000008)

0x00000008. Retornar somente ancestrais do sistema de arquivos. Um ancestral é uma subpasta que está abaixo da pasta raiz na hierarquia do namespace. Se o usuário selecionar um ancestral da pasta raiz que não faz parte do sistema de arquivos, o botão OK estará esmaecido.

BIF_EDITBOX (0x00000010)

0x00000010. versão 4.71. Inclua um controle de edição na caixa de diálogo Procurar que permite que o usuário digite o nome de um item.

BIF_VALIDATE (0x00000020)

0x00000020. versão 4.71. Se o usuário digitar um nome inválido na caixa de edição, a caixa de diálogo Procurar chamará o BrowseCallbackProc do aplicativo com a mensagem BFFM_VALIDATEFAILED. Esse sinalizador será ignorado se BIF_EDITBOX não for especificado.

BIF_NEWDIALOGSTYLE (0x00000040)

0x00000040. versão 5.0. Use a nova interface do usuário. Definir esse sinalizador fornece ao usuário uma caixa de diálogo maior que pode ser redimensionada. A caixa de diálogo tem vários novos recursos, incluindo: recursos de arrastar e soltar dentro da caixa de diálogo, reordenação, menus de atalho, novas pastas, exclusão e outros comandos de menu de atalho.

Observação Se COM for inicializado por meio de CoInitializeEx com o sinalizador COINIT_MULTITHREADED definido, SHBrowseForFolder falhará se BIF_NEWDIALOGSTYLE for passado.
 

BIF_BROWSEINCLUDEURLS (0x00000080)

0x00000080. versão 5.0. A caixa de diálogo Procurar pode exibir URLs. Os sinalizadores BIF_USENEWUI e BIF_BROWSEINCLUDEFILES também devem ser definidos. Se qualquer um desses três sinalizadores não estiver definido, a caixa de diálogo do navegador rejeitará URLs. Mesmo quando esses sinalizadores são definidos, a caixa de diálogo Procurar exibe URLs somente se a pasta que contém o item selecionado der suporte a URLs. Quando o método IShellFolder::GetAttributesOf da pasta é chamado para solicitar os atributos do item selecionado, a pasta deve definir o sinalizador de atributo SFGAO_FOLDER. Caso contrário, a caixa de diálogo Procurar não exibirá a URL.

BIF_USENEWUI

versão 5.0. Use a nova interface do usuário, incluindo uma caixa de edição. Esse sinalizador é equivalente a BIF_EDITBOX | BIF_NEWDIALOGSTYLE.

Observação Se COM for inicializado por meio de CoInitializeEx com o sinalizador COINIT_MULTITHREADED definido, SHBrowseForFolder falhará se BIF_USENEWUI for passado.
 

BIF_UAHINT (0x00000100)

0x00000100. versão 6.0. Quando combinado com BIF_NEWDIALOGSTYLE, adiciona uma dica de uso à caixa de diálogo, no lugar da caixa de edição. BIF_EDITBOX substitui esse sinalizador.

BIF_NONEWFOLDERBUTTON (0x00000200)

0x00000200. versão 6.0. Não inclua o botão Nova Pasta na caixa de diálogo Procurar.

BIF_NOTRANSLATETARGETS (0x00000400)

0x00000400. versão 6.0. Quando o item selecionado for um atalho, retorne o PIDL do atalho em si, em vez de seu destino.

BIF_BROWSEFORCOMPUTER (0x00001000)

0x00001000. Retornar somente computadores. Se o usuário selecionar algo diferente de um computador, o botão OK estará esmaecido.

BIF_BROWSEFORPRINTER (0x00002000)

0x00002000. Permitir somente a seleção de impressoras. Se o usuário selecionar algo diferente de uma impressora, o botão OK estará esmaecido.

No Windows XP e em sistemas posteriores, a melhor prática é usar uma caixa de diálogo estilo Windows XP, definindo a raiz da caixa de diálogo para a pasta Impressoras e Faxes (CSIDL_PRINTERS).

BIF_BROWSEINCLUDEFILES (0x00004000)

0x00004000. versão 4.71. A caixa de diálogo Procurar exibe arquivos, bem como pastas.

BIF_SHAREABLE (0x00008000)

0x00008000. versão 5.0. A caixa de diálogo Procurar pode exibir recursos fragmentáveis em sistemas remotos. Isso destina-se a aplicativos que desejam expor compartilhamentos remotos em um sistema local. O sinalizador BIF_NEWDIALOGSTYLE também deve ser definido.

BIF_BROWSEFILEJUNCTIONS (0x00010000)

0x00010000. Windows 7 e posteriores. Permitir que junções de pasta, como uma biblioteca ou um arquivo compactado com uma extensão de nome de arquivo .zip, sejam navegadas.

lpfn

Tipo: BFFCALLBACK

Ponteiro para uma função definida pelo aplicativo que a caixa de diálogo chama quando ocorre um evento. Para obter mais informações, consulte a função BrowseCallbackProc. Esse membro pode ser NULL.

lParam

Tipo: LPARAM

Um valor definido pelo aplicativo que a caixa de diálogo passa para a função de retorno de chamada, se um for especificado em lpfn.

iImage

Tipo: int

Um valor inteiro que recebe o índice da imagem associada à pasta selecionada, armazenado na lista de imagens do sistema.

Observações

Nota

O cabeçalho shlobj_core.h define BROWSEINFO como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP, Windows 7 [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
cabeçalho shlobj_core.h (inclua Shlobj.h, Shlobj_core.h)