Bitmap sa nezobrazuje – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Bitmap sa nezobrazuje – C / C++ – Fórum – Programujte.comBitmap sa nezobrazuje – C / C++ – Fórum – Programujte.com

 

Adam
~ Anonymní uživatel
176 příspěvků
16. 4. 2013   #1
-
0
-

Zdravim,

pouzivam DevC++ a ked mam takyto kod :

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HBITMAP g_hbmBall = NULL;
    switch (message)                 
    {
        case WM_CREATE:
            
        g_hbmBall = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(100));
       
        case WM_PAINT:
            
        BITMAP bm;
        HBITMAP hbmOld;
        PAINTSTRUCT ps;
        HDC hdcMem;
        HDC hdc;
        hdc = BeginPaint(hwnd, &ps);
        hdcMem = CreateCompatibleDC(hdc);
        hbmOld =(HBITMAP) SelectObject(hdcMem, g_hbmBall);
        GetObject(g_hbmBall, sizeof(bm), &bm);
        BitBlt(hdc, 0, 0, 100, 200, hdcMem, 0, 0, SRCCOPY);
        SelectObject(hdcMem, hbmOld);
        DeleteDC(hdcMem);
        EndPaint(hwnd, &ps);
        break;
        return 0;
       
        case WM_DESTROY:
            
        PostQuitMessage (0);      
        break;
        default:                     
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}

Ked to spustim, zobrazi sa iba klasicke okno ale ani naznak nejakej bitmapy...Kde by mohol byt problem?

Nahlásit jako SPAM
IP: 62.152.234.–
Adam
~ Anonymní uživatel
176 příspěvků
16. 4. 2013   #2
-
0
-

Ospravedlnujem sa, vo chvili ako som to odoslal mi to doslo :D

g_hbmBall = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(100));

malo byt vo WM_PAINT , ale nechapem preco to v tutoriale bolo takto...

Nahlásit jako SPAM
IP: 62.152.234.–
liborb
~ Redaktor
+18
Guru
17. 4. 2013   #3
-
0
-

Maďarská anotace naznačuje, že proměnná g_hbmBall je globální (v "překladu" globální handle bitmapy Ball). A ty si z ní udělal lokální, proto ti to nemůže fungovat. To, že si jí dal do WM_PAINT je sice možné, ale pěkně sis zavařil. Jednak neustále načítáš tu samou bitmapu a hlavně pak handle neuvolňuješ, takže si za chvíli vyčerpáš "Objekty GDI" a začne se ti chovat divně, tj. zmizí ti ikonky apod.

Udělej z proměnné g_hbmBall globální proměnnou, vrať načtení bitmapy do WM_CREATE a bude ti to fungovat :).

Nahlásit jako SPAM
IP: 188.75.135.–
Adam
~ Anonymní uživatel
176 příspěvků
17. 4. 2013   #4
-
0
-

Tak, spravil som ako si povedal, ale znova sa to nezobrazuje, ked tam dam podmienku na g_hbmBall == NULL

vypisuje ze je prazdna...co s tym?

Nahlásit jako SPAM
IP: 62.152.234.–
Adam
~ Anonymní uživatel
176 příspěvků
17. 4. 2013   #5
-
0
-

Tak a je mi to jasne,chyba nebola v kode ale v kompilatore...

Ludia nepouzivajte DEV, potom hladate chyby tam, kde niesu.

Nahlásit jako SPAM
IP: 62.152.234.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 18 hostů

Podobná vlákna

Nezobrazuje scroll v IE — založil DuDo

Nezobrazuje se favicon — založil Vanisek

Tabulka se nezobrazuje — založil Montezo

Firefox mi nezobrazuje CSS — založil PuleCZek

Nezobrazuje mi DHTML menu v IE — založil spiker

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý