Maximale Blt-Anweisungen?



  • Hi,

    ich habe in eine Funktion für ein kleines Spiel drei Blit-Anweisungen geschrieben. Es werden aber nur zwei sichtbar ausgeführt(es kommt kein Fehler).
    Gibt es vielleicht eine maximale Anzahl an erlaubten Blt-Anweisungen pro Funktion (kann ich mir eigentlich nicht vorstellen) oder ist an meinem Code etwas falsch?

    Ich hatte übrigens vorher die Anweisungen in drei verschiedene Funktionen gepackt, mit dem Ergebnis, dass nur eine ausgefährt wurde! Hat jemand eine Idee warum?

    #include <windows.h> 
    #include "graphic.hpp" 
    #include "defs.hpp" 
    #include "keyboardancer.hpp" 
    
    //############################################################# 
    
    extern    KEYD    KeyD; 
    extern    ARROW    Arrow; 
    
    //############################################################# 
    
    DrawBackground() 
    { 
        RECT rc; 
    
        HBITMAP hBackground = (HBITMAP)LoadImage(NULL, "background4.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); 
        HBITMAP hLogo = (HBITMAP)LoadImage(NULL, "logo.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); 
        HBITMAP hArrow = (HBITMAP)LoadImage(NULL,"pfeil_rechts",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); 
    
        HDC hDCBackground    = CreateCompatibleDC(0); 
        HDC hDCLogo            = CreateCompatibleDC(0); 
        HDC hDCArrow        = CreateCompatibleDC(0); 
    
        SelectObject(hDCBackground, hBackground); 
        SelectObject(hDCLogo, hLogo); 
        SelectObject(hDCArrow, hArrow); 
    
        GetClientRect(KeyD.hWnd, &rc); 
    
        HDC hDChWnd = GetDC(KeyD.hWnd); 
    
        BitBlt(hDChWnd,0,0,rc.right,rc.bottom,hDCBackground,0,0,SRCCOPY); 
        TransparentBlt(hDChWnd,0,0,189,189,hDCArrow,0,0,189,189,RGB(254,0,254)); 
        TransparentBlt(hDChWnd,430,400,152,62,hDCLogo,0,0,610,250,RGB(254,254,254)); 
    
        ReleaseDC(KeyD.hWnd, hDChWnd); 
    } 
    
    //#############################################################
    

    In Hoffnung auf Antwort
    spacegaier



  • oder ist an meinem Code etwas falsch?

    Ja.



  • Und was, bitte?



  • Überleg mal selbst 😉

    Aja... DrawBackgound müsste der VC eigentlich, wenn de nix vor schreibst als int ansehen und nen return value erwarten!



  • Er gibt mir deswegen auch eine Warnung aus, aber er zeichnet ja zwei der drei Blt-Anweisungen.

    Aber wo ist mein Fehler??? Ich seh ihn echt net!!! Bitte sag's mir!!!



  • Welche 2 sind es denn? Geht hArrow nicht? Dann guck mal ob der das Bild überhaupt geladen hat... "pfeil_rechts" 😉



  • Ohh, wie peinlich!! 😮 😮 😮 Jetzt geht's. Danke!!!


Anmelden zum Antworten