problem mit transparentem bitmap



  • Mit der Funktion DrawTransparentBitmap will ich eine Farbe transparent machen. Die Funktion hab ich mir von MSDN geholt. Doch leider krieg ich ne Fehlermeldung (Dev-C++ 4):

    void DrawTransparentBitmap(HDC hdc, HBITMAP hBitmap, short xStart,
                               short yStart, COLORREF cTransparentColor)
       {
    
    ...
    
       // Each DC must select a bitmap object to store pixel data.
       bmBackOld   = SelectObject(hdcBack, bmAndBack); //<- hier Fehler
       bmObjectOld = SelectObject(hdcObject, bmAndObject);//<- hier Fehler
       bmMemOld    = SelectObject(hdcMem, bmAndMem);//<- hier Fehler
       bmSaveOld   = SelectObject(hdcSave, bmSave);//<- hier Fehler
    
    ...
    
       }
    

    Der Fehler ist:

    ANSI C++ forbids implicit conversion from `void *' in assignment

    Die DrawTransparentBitmap Funktion hab ich hier her: http://support.microsoft.com/default.aspx?scid=kb;en-us;79212

    edit: ups, da hatte ich doch glatt die falschen zeilen als fehler angestrichen



  • Und was haben die ganzen Variablen (hdcBack, bmAndBack, ...) für Typen bei dir?



  • flenders schrieb:

    Und was haben die ganzen Variablen (hdcBack, bmAndBack, ...) für Typen bei dir?

    Keine Ahnung, ich hab die funktion ja nicht programmiert.



  • probiers mal damit:

    // Each DC must select a bitmap object to store pixel data.
       bmBackOld   = (HBITMAP) SelectObject(hdcBack, bmAndBack); 
       bmObjectOld = (HBITMAP) SelectObject(hdcObject, bmAndObject);
       bmMemOld    = (HBITMAP) SelectObject(hdcMem, bmAndMem);
       bmSaveOld   = (HBITMAP) SelectObject(hdcSave, bmSave);
    


  • flammenvogel schrieb:

    probiers mal damit:

    // Each DC must select a bitmap object to store pixel data.
       bmBackOld   = (HBITMAP) SelectObject(hdcBack, bmAndBack); 
       bmObjectOld = (HBITMAP) SelectObject(hdcObject, bmAndObject);
       bmMemOld    = (HBITMAP) SelectObject(hdcMem, bmAndMem);
       bmSaveOld   = (HBITMAP) SelectObject(hdcSave, bmSave);
    

    danke, klappt


Anmelden zum Antworten