[Solved] CPaintDC Problem. Wie komme ich an den validen DC?



  • Hi!

    Warum zum Henker meldet hier TransparentBlt() einen ungültigen Handle im GetLastError()?

    Ich programmiere unter wince wo es aus irgendeinem grund keinen TransparentBlt als member des CDC:: gibt.

    Daher versuche ich das ganze über die API Funktion.

    Leider ist der SaveHdc() aus dem CPaintDC Object bei mir IMMER invalid?!

    Warum? Andere Lösung?

    Danke!!
    Marcel

    CPaintDC dc(this);
    
    .
    .
    .
    
    int error = TransparentBlt(dc.GetSafeHdc(), ptDest.x, ptDest.y, xend-xstart, yend-ystart, &memDc, ptOrigin.x, ptOrigin.y, xend-xstart, yend-ystart, transparentcolor);
    


  • ich war selbst schuld.

    richtig ist:

    CPaintDC dc(this);
    
    .
    .
    .
    
    int error = TransparentBlt(dc.GetSafeHdc(), ptDest.x, ptDest.y, xend-xstart, yend-ystart, memDc.GetSafeHdc(), ptOrigin.x, ptOrigin.y, xend-xstart, yend-ystart, transparentcolor);
    

Anmelden zum Antworten