CreateIcon, CreateBitmap: Frage zu Mask- und ColorBuffer



  • Hi,

    ich wollte zuerst mit CreateIcon ein eigenes Icon erstellen und an den "pbANDbits" Parameter die Farbinformationen übermitteln.
    Dann lese ich aber in der WinAPI Programmer's Reference, dass man damit nur monochrome Icons erstellen kann.
    Was soll ich denn damit?
    Also versuche ich jetzt mit CreateIconIndirect und CreateBitmap so mein Icon zu erstellen.
    Das will aber auch nicht zu richtig funktionieren.

    Kann mir also bitte mal jemand sagen, wie ich mit einem Array, das die Farbinformationen enthällt, ein Icon erstellen kann?!

    Beispiel:

    struct SColor
    {
        SColor(unsigned char c)
            : r(c), g(c), b(c)
        {
        }
        SColor(unsigned char Red, unsigned char Green, unsigned char Blue)
            : r(Red), g(Green), b(Blue)
        {
        }
        unsigned char r, g, b;
    };
    
    int Width = 2;
    int Height = 2;
    
    SColor ColorBuffer[Width * Height] = {
        SColor(0), SColor(0),            // Schwarz, Schwarz
        SColor(255, 255, 0), SColor(255) // Gelb, Weiß
    };
    
    CreateIcon(
        /* ... ? */
        ColorBuffer   /* oder */   &(ColorBuffer[0].r)
        /* ? ... */
    );
    

Anmelden zum Antworten