Função LoadIconMetric (commctrl.h)
Carrega um recurso de ícone especificado com uma métrica de sistema especificada pelo cliente.
Sintaxe
HRESULT LoadIconMetric(
[in] HINSTANCE hinst,
[in] PCWSTR pszName,
[in] int lims,
[out] HICON *phico
);
Parâmetros
[in] hinst
Tipo: HINSTANCE
Um identificador para o módulo de um arquivo DLL ou executável (.exe) que contém o ícone a ser carregado. Para obter mais informações, consulte GetModuleHandle.
Para carregar um ícone de sistema predefinido ou um arquivo de ícone autônomo, defina esse parâmetro como NULL.
[in] pszName
Tipo: PCWSTR
Um ponteiro para um buffer Unicode encerrado em nulo que contém informações de localização sobre o ícone a ser carregado.
Se hinst não for NULL, pszName especificará o recurso de ícone por nome ou ordinal. Esse ordinal deve ser empacotado usando a macro MAKEINTRESOURCE .
Se hinst for NULL, pszName especificará o identificador (começando com o prefixo IDI_) de um ícone de sistema predefinido a ser carregado.
[in] lims
Tipo: int
A métrica desejada. Um dos seguintes valores:
Valor | Significado |
---|---|
|
Corresponde a SM_CXSMICON, a largura de pixel recomendada de um ícone pequeno. |
|
Corresponde a SM_CXICON, a largura de pixel padrão de um ícone. |
[out] phico
Tipo: HICON*
Quando essa função retorna, contém um ponteiro para o identificador do ícone carregado.
Retornar valor
Tipo: HRESULT
Retorna S_OK se tiver êxito, caso contrário, um erro, incluindo o valor a seguir.
Código de retorno | Descrição |
---|---|
|
O conteúdo do buffer apontado por pszName não se encaixa em nenhuma das interpretações esperadas. |
Comentários
LoadIconMetric é semelhante a LoadIcon, mas com a capacidade de especificar a métrica de ícone. Ele é usado no lugar de LoadIcon quando o aplicativo de chamada deseja garantir um ícone de alta qualidade. Isso é particularmente útil em situações de pontos altos por polegada (dpi).
Os ícones são extraídos ou criados da seguinte maneira.
- Se uma correspondência de tamanho exato for encontrada no recurso, esse ícone será usado.
- Se uma correspondência de tamanho exato não puder ser encontrada e um ícone maior estiver disponível, um novo ícone será criado escalando a versão maior para baixo para o tamanho desejado.
- Se uma correspondência de tamanho exato não puder ser encontrada e nenhum ícone maior estiver disponível, um novo ícone será criado dimensionando um ícone menor até o tamanho desejado.
NOTIFYICONDATA nidIconData = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
// Or...
HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);
O aplicativo é responsável por chamar DestroyIcon no ícone recuperado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | commctrl.h |
Biblioteca | Comctl32.lib |
DLL | Comctl32.dll |