WinAPI

LoadIcon

//C
HICON LoadIcon(
    HINSTANCE hInstance,
    LPCTSTR lpIconName
);

//Delphi
function LoadIcon(hInstance: Integer; lpIconName: PChar): HICON;


Funkcja LoadIcon ładuje określony zasób typu ICON z pliku wykonywalnego.

Uwaga: Ta funkcja została zastąpiona funkcją LoadImage.


Parametry
hInstance
Uchwyt modułu, z którego zasobów ma zostać załadowana ikona. Musi mieć wartość NULL (0) w przypadku ładowania standardowej ikony.

lpIconName
Wskaźnik na łańcuch zawierający nazwę ikony do załadowania. Parametr ten może też zawierać identyfikator zasobu w młodszym słowie i 0 w starszym słowie - aby utworzyć taką wartość należy posłużyć się makrem MAKEINTRESOURCE.

Aby załadować jedną z predefiniowanych ikon należy ustawić parametr hInstance na NULL (0) a parametrowi lpIconName nadać jedną z poniższych wartości:
IDI_APPLICATION
    Domyślna ikona aplikacji
IDI_ASTERISK
    To samo co IDI_INFORMATION
IDI_ERROR
    Ikona błędu
IDI_EXCLAMATION
    To samo co IDI_WARNING
IDI_HAND
    To samo co IDI_ERROR.
IDI_INFORMATION
    Ikona informacyjna
IDI_QUESTION
    Ikona znaku zapytania
IDI_WARNING
    Ikona wykrzyknika
IDI_WINLOGO
    Ikona logo Windows. Windows XP: Domyślna ikona aplikacji


Wartość zwracana
Jeśli funkcja się powiedzie, zwraca uchwyt załadowanej ikony.

Jeśli funkcja się nie powiedzie, funkcja zwraca NULL (0). Aby uzyskać dodatkowe informacje o błędzie należy użyć funkcji GetLastError.


Uwagi
Funkcja LoadIcon ładuje zasób tylko jeśli nie został jeszcze załadowany; w przeciwnym wypadku pobiera uchwyt załadowanej ikony. Funkcja przeszukuje zasób pod kątem ikony najbardziej pasującej do bieżącego trybu wyświetlania. Ikona może być wielokolorowa lub monochromatyczna.

Funkcja LoadIcon może załadować tylko ikony pasujące do wymiarów określonych zmiennymi systemowymi SM_CXICON i SM_CYICON (GetSystemMetrics). Aby załadować ikony o innych rozmiarach należy posłużyć się funkcją LoadImage.

Windows 95/98/Me: Wersja Unicode funkcji (LoadIconW) jest wspierana przez Warstwę Unicode (Microsoft Layer for Unicode) - MSLU. Aby użyć funkcji w wersji Unicode, należy dokonać pewnych zmian w aplikacji wedle wskazówek nakreślonych w Microsoft Layer for Unicode on Windows 95/98/Me Systems (eng)


Zobacz też