Multi Image Icons in MFC-Dialogen anzeigen



  • Hi,

    ich stehe vor der Aufgabe, mit Hilfe von C++ mit VS2010 Multi Image Icons in MFC-Dialogen anzuzeigen. Einfach ein Picture Control auf "Icon" setzen und das Icon auswählen, reicht nicht, da wird nur das 16x16 bzw. max. das 32x32 Icon angezeigt. Außerdem kann man ja nicht auswählen, welches der Icons aus der Icon-Resource man verwenden möchte.
    Ich habe schon nach Beispielcode gesucht (Codeproject usw.), der solche Icons in Static Controls anzeigt, wie es ja meistens gemacht, wenn "Irgendwas" "Irgendwo" angezeigt werden soll, bin aber nirgends fündig geworden. Soweit ich gelesen habe, ist es auch bei VS mit der Unterstützung von Multi Image Icons nicht weit her, das deckt sich mit meinem Recherche-Ergebnis.
    Kann mir jemand einen Tipp geben, wie das funktioniert, oder besser noch, Beispielcode zeigen, wie man ein Icon (z.B. 48x48) aus der Icon-Resource auswählt und unter Berücksichtigung der Transparent-Eigenschaft zur Anzeige (z.B. in einem Static-Control) bringt?

    Danke!

    Gruß Frank


  • Mod

    LoadImage + DrawIconEx tuts

    EDIT: Bist Du sicher das STM_SETICON nicht funktionmiert wenn die LoadImage mit der richtigen Auflösung benutzt hast?



  • Hallo, Martin,

    danke für deine schnelle Antwort.
    Leider bin ich mit dem "Icon-Handling" noch nicht so firm, von daher ist es für mich ziemlich schwierig, mit den zwei Brocken "LoadImage" und "DrawIconEx" etwas anzufangen ... kennst du ein paar Zeilen Beispielcode, die den grundsätzlichen Weg mit diesen Methoden aufzeigen? Das wäre prima ... davon ausgehend kriege ich eine fertige Lösung dann wahrscheinlich alleine hin.

    Gruß Frank


  • Mod

    Du baust eine eigene Fensterklasse und lädst das Image und zeichnest es selber.

    Aber nichts desto trotz. Hast Du mein EDIT gelesen?
    Ich denke, dass das richtige Icon angezeigt wird, wenn Du es setzt!



  • > EDIT: Bist Du sicher das STM_SETICON nicht funktionmiert wenn die LoadImage mit der richtigen Auflösung benutzt hast?

    Nein, bin ich nicht. Wie schon geschrieben, bin ich mit Icon-Handling nicht besonders firm, von daher weiss ich auch nicht, wie das mit STM_SETICON funktioniert. In meiner Naivität hätte ich gedacht, dass zum einfachen Anzeigen von Resource-Icons es reichen müsste, diese im Resourcce-Editor einfach mit einem Picure-Control zu verknüpfen ... scheint aber ja wohl nicht der Fall zu sein.

    > lädst das Image und zeichnest es selber.

    ich habe das bisher noch nicht selbst machen müssen, aber gut, es bleibt mir also nichts anders übrig.


  • Mod

    Dann versuch erstmal mit LoadImage das Icon zu laden und mit STM_SETICON das Icon zu setzen. das kostet Dich am wenigsten Aufwand.


Anmelden zum Antworten