Freigeben über


LoadImageA-Funktion (winuser.h)

Lädt ein Symbol, einen Cursor, einen animierten Cursor oder eine Bitmap.

Syntax

HANDLE LoadImageA(
  [in, optional] HINSTANCE hInst,
  [in]           LPCSTR    name,
  [in]           UINT      type,
  [in]           int       cx,
  [in]           int       cy,
  [in]           UINT      fuLoad
);

Parameter

[in, optional] hInst

Typ: HINSTANCE-

Ein Handle für das Modul einer DLL oder ausführbaren Datei (.exe), die das zu ladende Bild enthält. Weitere Informationen finden Sie unter GetModuleHandle-. Beachten Sie, dass ab 32-Bit-Windows ein Instanzhandle (HINSTANCE), z. B. das Anwendungsinstanzhandle, das vom Systemfunktionsaufruf von WinMainverfügbar gemacht wird, und ein Modulhandle (HMODULE) identisch sind.

Um ein vordefiniertes Bild oder eine eigenständige Ressource (Symbol-, Cursor- oder Bitmapdatei) zu laden, legen Sie diesen Parameter auf NULL-fest.

[in] name

Typ: LPCTSTR-

Das zu ladende Bild.

Wenn der hInst Parameter nichtNULL- ist und der fuLoad Parameter LR_LOADFROMFILEweggelassen, gibt Name die Bildressource im hInst Modul an.

Wenn die Bildressource anhand des Namens aus dem Modul geladen werden soll, ist der Name Parameter ein Zeiger auf eine null-beendete Zeichenfolge, die den Namen der Bildressource enthält.

Wenn die Bildressource vom Modul geladen werden soll, verwenden Sie das MAKEINTRESOURCE-Makro, um das Bild-Ordinal in ein Formular zu konvertieren, das an die LoadImage--Funktion übergeben werden kann.

Wenn der hInst Parameter NULL- ist und der fuLoad Parameter den LR_LOADFROMFILE Wert ausgelassen und den LR_SHAREDenthält, gibt der Name das vordefinierte bild an, das geladen werden soll.

Die vordefinierten Bildbezeichner werden in Winuser.h definiert und weisen die folgenden Präfixe auf:

Präfix Bedeutung
OBM_ OEM-Bitmaps. Verwenden Sie das MAKEINTRESOURCE Makro, um diese zu übergeben.
OIC_ OEM-Symbole. Verwenden Sie das MAKEINTRESOURCE Makro, um diese zu übergeben.
OCR_ OEM-Cursor. Verwenden Sie das MAKEINTRESOURCE Makro, um diese zu übergeben.
IDI_ Standardsymbole
IDC_ Standardcursor

Um OEM-Bildbezeichner konstanten an die LoadImage--Funktion zu übergeben, verwenden Sie das MAKEINTRESOURCE Makro. Um beispielsweise den OCR_NORMAL Cursor zu laden, übergeben Sie MAKEINTRESOURCE(OCR_NORMAL) als Namen Parameter, NULL als hInst Parameter, und LR_SHARED als eines der Flags an den fuLoad Parameter.

Wenn der hInst-Parameter NULL- ist und der fuLoad- Parameter den LR_LOADFROMFILE Wert enthält, ist Name der Name der Datei, die die eigenständige Ressource (Symbol-, Cursor- oder Bitmapdatei) enthält , z. B. c:\myicon.ico.

Weitere Informationen finden Sie im Abschnitt "Hinweise" weiter unten.

[in] type

Typ: UINT-

Der Typ des zu ladenden Bilds.

Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
IMAGE_BITMAP Lädt eine Bitmap.
IMAGE_CURSOR Lädt einen Cursor.
IMAGE_ICON Lädt ein Symbol.

[in] cx

Typ: int

Die Breite des Symbols oder Cursors in Pixel. Wenn dieser Parameter null ist und der fuLoad Parameter LR_DEFAULTSIZEist, verwendet die Funktion den SM_CXICON- oder SM_CXCURSOR Systemmetrikwert, um die Breite festzulegen. Wenn dieser Parameter null ist und LR_DEFAULTSIZE nicht verwendet wird, verwendet die Funktion die tatsächliche Ressourcenbreite.

[in] cy

Typ: int

Die Höhe des Symbols oder Cursors in Pixel. Wenn dieser Parameter null ist und der fuLoad Parameter LR_DEFAULTSIZEist, verwendet die Funktion den SM_CYICON- oder SM_CYCURSOR Systemmetrikwert, um die Höhe festzulegen. Wenn dieser Parameter null ist und LR_DEFAULTSIZE nicht verwendet wird, verwendet die Funktion die tatsächliche Ressourcenhöhe.

[in] fuLoad

Typ: UINT-

Dieser Parameter kann einen oder mehrere der folgenden Werte sein.

Wert Bedeutung
LR_CREATEDIBSECTION
0x00002000
Wenn der uType-Parameter IMAGE_BITMAPangibt, gibt die Funktion anstelle einer kompatiblen Bitmap eine DIB-Abschnittsbitmap zurück. Dieses Kennzeichen ist nützlich, um eine Bitmap zu laden, ohne sie den Farben des Anzeigegeräts zuzuordnen.
LR_DEFAULTCOLOR
0x00000000
Die Standardkennzeichnung; es tut nichts. Alles, was bedeutet, ist "nicht LR_MONOCHROME".
LR_DEFAULTSIZE
0x00000040
Verwendet die durch die Systemmetrikwerte angegebene Breite oder Höhe für Cursor oder Symbole, wenn die cxDesired oder cyDesired Werte auf Null festgelegt sind. Wenn dieses Flag nicht angegeben ist und cxDesired und cyDesired auf Null festgelegt sind, verwendet die Funktion die tatsächliche Ressourcengröße. Wenn die Ressource mehrere Bilder enthält, verwendet die Funktion die Größe des ersten Bilds.
LR_LOADFROMFILE
0x00000010
Lädt das eigenständige Bild aus der Datei, die durch Namen (Symbol, Cursor oder Bitmapdatei) angegeben wird.
LR_LOADMAP3DCOLORS
0x00001000
Sucht die Farbtabelle nach dem Bild und ersetzt die folgenden Graustufen durch die entsprechende 3D-Farbe.
  • Dk Gray, RGB(128,128,128) mit COLOR_3DSHADOW
  • Grau, RGB(192,192,192) mit COLOR_3DFACE
  • Lt Gray, RGB(223,223,223) mit COLOR_3DLIGHT
Verwenden Sie diese Option nicht, wenn Sie eine Bitmap mit einer Farbtiefe von mehr als 8 TB laden.
LR_LOADTRANSPARENT
0x00000020
Ruft den Farbwert des ersten Pixels im Bild ab und ersetzt den entsprechenden Eintrag in der Farbtabelle durch die Standardfensterfarbe (COLOR_WINDOW). Alle Pixel in dem Bild, das diesen Eintrag verwendet, werden zur Standardfensterfarbe. Dieser Wert gilt nur für Bilder mit entsprechenden Farbtabellen.

Verwenden Sie diese Option nicht, wenn Sie eine Bitmap mit einer Farbtiefe von mehr als 8 TB laden.

Wenn fuLoad- sowohl die werte LR_LOADTRANSPARENT als auch LR_LOADMAP3DCOLORS enthält, hat LR_LOADTRANSPARENT Vorrang. Der Farbtabelleneintrag wird jedoch durch COLOR_3DFACE und nicht durch COLOR_WINDOWersetzt.

LR_MONOCHROME
0x00000001
Lädt das Bild in Schwarzweiß.
LR_SHARED
0x00008000
Teilt das Bildhandle, wenn das Bild mehrmals geladen wird. Wenn LR_SHARED nicht festgelegt ist, wird das Image erneut geladen und ein anderer Handle zurückgegeben, wenn LoadImage- für dieselbe Ressource aufgerufen wird.

Wenn Sie dieses Kennzeichen verwenden, zerstört das System die Ressource, wenn sie nicht mehr benötigt wird.

Verwenden Sie LR_SHARED nicht für Bilder mit nicht standardmäßigen Größen, die sich nach dem Laden ändern können oder aus einer Datei geladen werden.

Beim Laden eines Systemsymbols oder Cursors müssen Sie LR_SHARED verwenden, oder die Funktion kann die Ressource nicht laden.

Diese Funktion findet das erste Bild im Cache mit dem angeforderten Ressourcennamen, unabhängig von der angeforderten Größe.

LR_VGACOLOR
0x00000080
Verwendet echte VGA-Farben.

Rückgabewert

Typ: HANDLE

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle des neu geladenen Images.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL-. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Wenn IS_INTRESOURCE(Name) TRUEist, gibt Name den ganzzahligen Bezeichner der angegebenen Ressource an. Andernfalls handelt es sich um einen Zeiger auf eine mit Null beendete Zeichenfolge. Wenn das erste Zeichen der Zeichenfolge ein Nummernzeichen (#) ist, stellen die verbleibenden Zeichen eine Dezimalzahl dar, die den ganzzahligen Bezeichner der Ressource angibt. Beispielsweise stellt die Zeichenfolge "#258" den Bezeichner 258 dar.

Wenn Sie mit der Verwendung einer Bitmap, eines Cursors oder eines Symbols fertig sind, das Sie geladen haben, ohne das kennzeichen LR_SHARED anzugeben, können Sie den zugeordneten Speicher freigeben, indem Sie eine der Funktionen in der folgenden Tabelle aufrufen.

Ressource Release-Funktion
Bitmap DeleteObject-
Cursor DestroyCursor
Ikone DestroyIcon
 

Das System löscht diese Ressourcen automatisch, wenn der Prozess, der sie erstellt hat, beendet wird; Das Aufrufen der entsprechenden Funktion spart jedoch Speicher und verringert die Größe des Arbeitssatzes des Prozesses.

Beispiele

Ein Beispiel finden Sie unter Verwenden von Fensterklassen.

Anmerkung

Der winuser.h-Header definiert LoadImage als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll
API-Satz ext-ms-win-ntuser-gui-l1-1-0 (eingeführt in Windows 8)

Siehe auch

Konzeptionelle

CopyImage-

GetSystemMetrics-

LoadBitmap-

LoadCursor-

LoadIcon-

andere Ressourcen

Referenz-

Ressourcen