Eigenes Icon mit LoadIcon?



  • Hallo,

    kann man eine Icon Datei z.B. "C:\Test.ico" mit LoadIcon öffnen und dem hIcon der WNDCLASS zuordnen? Also ungefähr so hab ich mir das gedacht:

    WNDCLASS wc;
    wc.hIcon = LoadIcon(NULL, "C:\\Test.ico");
    

    Dies klappt leider nicht. Geht das irgendwie anders?

    Danke schon im vorraus für eure Hilfe



  • Moin, Moin...

    LoadIcon() lädt ein Icon aus der Resource einer Anwendung. Daher musst Du vorher ein Icon als Resource erstellen. Dann lautet der Aufruf:

    wc.hIcon = LoadIcon(hInstanceHandleDeinerAnwendung, MAKEINTRESOURCE(ID_DEINES_ICONS));
    

    Willst Du eine Icon-Datei einladen, benutzt Du LoadImage():

    HICON hIcon=LoadImage(NULL, "C:\\Test.ico", IMAGE_ICON, Breite, Höhe, LR_LOADFROMFILE);
    wc.hIcon = hIcon;
    

    Sicherheitshalber sollte bei Programmende DestroyIcon(hIcon) aufgerufen werden. Ich weiß nicht genau, ob Windows ein Icon, das aus einer Datei geladen und einer Fensterklasse zugeordnet wird, automatisch löscht, wenn das Fenster geschlossen wird.

    Ciao...



  • Hallo Danke hat prima geklappt. 🙂



  • Eine Frage hab ich allerdings noch:

    Wie bekomme ich denn die Größe des Icons raus?



  • Wenn Du in der Funktion LoadImage() die Werte für Breite und Höhe auf 0 setzt, übernimmt die Funktion die Breite und Höhe des Icons.

    Ciao...



  • Vielen Dank



  • Werden noch mehr Icons auf diese Weise geladen? Dann denke bitte daran, die Icons nach Gebrauch zu löschen.


Anmelden zum Antworten