Funzione LoadIconMetric (commctrl.h)
Carica una risorsa icona specificata con una metrica di sistema specificata dal client.
Sintassi
HRESULT LoadIconMetric(
[in] HINSTANCE hinst,
[in] PCWSTR pszName,
[in] int lims,
[out] HICON *phico
);
Parametri
[in] hinst
Tipo: HINSTANCE
Handle per il modulo di un file DLL o eseguibile (.exe) che contiene l'icona da caricare. Per altre informazioni, vedere GetModuleHandle.
Per caricare un'icona di sistema predefinita o un file icona autonoma, impostare questo parametro su NULL.
[in] pszName
Tipo: PCWSTR
Puntatore a un buffer Unicode con terminazione Null che contiene informazioni sulla posizione sull'icona da caricare.
Se hinst è diverso da NULL, pszName specifica la risorsa icona in base al nome o all'ordinale. Questo ordinale deve essere creato in un pacchetto utilizzando la macro MAKEINTRESOURCE .
Se hinst è NULL, pszName specifica l'identificatore (a partire dal prefisso IDI_) di un'icona di sistema predefinita da caricare.
[in] lims
Tipo: int
Metrica desiderata. Uno dei valori seguenti:
Valore | Significato |
---|---|
|
Corrisponde a SM_CXSMICON, la larghezza in pixel consigliata di un'icona piccola. |
|
Corrisponde a SM_CXICON, la larghezza in pixel predefinita di un'icona. |
[out] phico
Tipo: HICON*
Quando termina, questa funzione contiene un puntatore all'handle dell'icona caricata.
Valore restituito
Tipo: HRESULT
Restituisce S_OK in caso di esito positivo; in caso contrario, viene restituito un errore, incluso il valore seguente.
Codice restituito | Descrizione |
---|---|
|
Il contenuto del buffer a cui punta pszName non rientra nelle interpretazioni previste. |
Commenti
LoadIconMetric è simile a LoadIcon, ma con la possibilità di specificare la metrica dell'icona. Viene usato al posto di LoadIcon quando l'applicazione chiamante vuole garantire un'icona di alta qualità. Ciò è particolarmente utile in situazioni di punti alti per pollice (dpi).
Le icone vengono estratte o create come indicato di seguito.
- Se viene trovata una corrispondenza esatta delle dimensioni nella risorsa, viene usata tale icona.
- Se non è possibile trovare una corrispondenza esatta delle dimensioni e è disponibile un'icona più grande, viene creata una nuova icona ridimensionando la versione più grande fino alle dimensioni desiderate.
- Se non è possibile trovare una corrispondenza esatta delle dimensioni e non è disponibile alcuna icona più grande, viene creata una nuova icona ridimensionando un'icona più piccola fino alle dimensioni desiderate.
NOTIFYICONDATA nidIconData = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
// Or...
HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);
L'applicazione è responsabile della chiamata di DestroyIcon sull'icona recuperata.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | commctrl.h |
Libreria | Comctl32.lib |
DLL | Comctl32.dll |