bilder aus dll holen



  • Hallo zusammen
    Ich muss für ein kleines Projekt selber eine MsgBox nachbilden, dazu brauche ich auch die Bilder, die je nach Fehlermeldugstyp angezeigt wird. Weiss jemand wie ich an diese bilder rankommen kann? Wenn möchglich solle ich sie direkt aus der dll aufrufen können, da ich sonst Bildateien mitgeben muss, was sehr unschön ist.
    Gruss Binggi



  • Die Bezeichner liegen alle in WinUser.h vor, statt des Präfixes MB_ für die Messagebox kannst du einfach IDI_ voranstellen:

    HICON icon = LoadIcon(0, IDI_WARNING);
    

    Und dann mit DrawIcon(Ex) zeichnen (kurz angetestet nur mit WinXP).

    Edit: Man sollte auf jeden Fall DrawIconEx mit dem Flag DI_NORMAL (= DI_MASK | DI_IMAGE) verwenden:

    ICONINFO ii = {0};
    if (GetIconInfo(icon, &ii))
    {
    	int iconW = (ii.xHotspot * 2);
    	int iconH = (ii.yHotspot * 2);
    	DrawIconEx(hdc, 0, 0, icon, iconW, iconH, 0, 0, DI_NORMAL);
    }
    


  • Charles Petzold hat in seinem Buch zur WinApi-Programmierung eine solche DLL für die Bereitstellung von Bildern (bmp) beschrieben. Für die MessageBox empfiehlt sich wohl eine eigene Funktion zum Laden und Anzeigen des Bildes. Ist es das, was du suchst?



  • Aber er sucht doch die Icons, die bei der Standard-Messagebox, abhängig von uType , angezeigt werden.
    Und an diese Icons kommt man ohne Probleme ran.



  • Ja ich will keine eigene dll schreiben, ich will nur aus einer bestehenden die Bilder verwenden. Das ganze in autoit, sollte aber kein Problem darstellen.


Anmelden zum Antworten