Skocz do zawartości

Recommended Posts

Napisano

Mam bitmape z zasobów z ID: IDB_BITMAP1
I teraz chciałbym ją wyświetlić, już czytałem artykół o tym na tej stronie ale wyskakuje mi błąd. Może mi ktoś napisać kawałek kodu jak tą bitmape wyświetlić? :$

Napisano

No chyba tak robie w VC++ 6.0:

HBITMAP hbitmap;
HDC hdc;

hbitmap=LoadBitmap(hInstance, "IDB_BITMAP1");
GetObject(hbitmap, sizeof(bm), &bm);
chdc=CreateCompatibleDC(hdc);
SelectObject(chdc, hbitmap);
BitBlt(hdc,0,0, bm.bmWidth, bm.bmHeight, chdc,0,0, SRCCOPY);
DeleteDC(chdc);

i kompilator zwraca:

Compiling...
LED lighter.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\LED\LED.cpp(144) : error C2065: 'bm' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\LED\LED.cpp(145) : error C2065: 'chdc' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\LED\LED.cpp(145) : error C2440: '=' : cannot convert from 'struct HDC__ *' to 'int'
        This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\MyProjects\LED\LED.cpp(147) : error C2228: left of '.bmWidth' must have class/struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\LED\LED.cpp(147) : error C2228: left of '.bmHeight' must have class/struct/union type
Error executing cl.exe.

LED lighter.exe - 5 error(s), 0 warning(s)
Napisano
C:\Program Files\Microsoft Visual Studio\MyProjects\LED\LED.cpp(144) : error C2065: 'bm' : undeclared identifier

nie zadeklarowlaes struktury stad ten blad.

a gdzie GetDC(), gdze deklaracja chdc?

wogole nie wiesz co piszesz, jak przepisujesz skas kod postaraj sie go najpierw zrozumiec :)

Napisano

Jej :$
No to moge zrobić tak i wszystko się ładnie kompiluje ale nie wyświetla mi bitmapy:

HBITMAP hbitmap=LoadBitmap(hInstance, "IDB_BITMAP1"); 
HDC pomocniczy=CreateCompatibleDC(hdc); 
SelectObject(pomocniczy, hbitmap); 
BitBlt(hdc,0,0, 100, 100, pomocniczy,0,0, SRCCOPY); 
DeleteDC(pomocniczy); 
Napisano

ty dalej nic nie rozumiesz.
dlatego zaprzestaje dalszej pomocy :P

// (1)przeczytaj mojego wczesniejszego posta jeszcze raz...(2)jak zrozumiesz to masz klopot z glowy...jak nie to przejdz do (1).
i tak do momentu az spelnisz warunek (2) :)

Napisano

Tak jak napisł one_eddie

HBITMAP hbitmap=LoadBitmap(hInstance, "IDB_BITMAP1");
HDC hdc=GetDC(hwnd);
HDC pomocniczy=CreateCompatibleDC(hdc);
SelectObject(pomocniczy, hbitmap);
BitBlt(hdc,0,0, 100, 100, pomocniczy,0,0, SRCCOPY);
DeleteDC(pomocniczy); 
ReleaseDC(hwnd,hdc);
Napisano
miik napisał:
Dzięki już zrozumiałem i działa :D

Moim zdaniem nic nie zrozumiales.
Skopiowales tylko kod ktory ktos ci napisal i potem bedziesz sie chwalil jakim jestes super programista :P

  • 2 months later...
Napisano

Buhahaha dobre ja nie użyłem wogle jego kodu tylko zrobiłem inny napisałem, że dziękuje za pomoc...

                                hdc = BeginPaint(hWnd,&ps);
                                memDC = CreateCompatibleDC(hdc);
                if(stan==0)
                {
                                SelectObject(memDC, hBit1);
                }
                if(stan==1)
                {
                                SelectObject(memDC, hBit2);
                }
                BitBlt(hdc, 155, 60, 20, 20, memDC, 0,0,SRCCOPY);
                                SelectObject(memDC, hBit1);
                BitBlt(hdc, 185, 60, 128, 128, memDC, 0,0,SRCCOPY);
                                SelectObject(memDC, hBit1);
                BitBlt(hdc, 215, 60, 128, 128, memDC, 0,0,SRCCOPY);
                                SelectObject(memDC, hBit1);
                BitBlt(hdc, 245, 60, 128, 128, memDC, 0,0,SRCCOPY);
                                SelectObject(memDC, hBit1);
                BitBlt(hdc, 275, 60, 128, 128, memDC, 0,0,SRCCOPY);
                                SelectObject(memDC, hBit1);
                BitBlt(hdc, 305, 60, 128, 128, memDC, 0,0,SRCCOPY);
                                SelectObject(memDC, hBit1);
                BitBlt(hdc, 335, 60, 128, 128, memDC, 0,0,SRCCOPY);
                                SelectObject(memDC, hBit1);
                BitBlt(hdc, 365, 60, 128, 128, memDC, 0,0,SRCCOPY);
                EndPaint(hWnd,&ps);
                DeleteDC(memDC);
Napisano

Oka oka, ja tylko uważam, że ten komentarz jest zbendny, już minęło sporo czasu od napisania tego tematu i musze powiedzieć, że coraz więcej się ucze i dużo więcej umiem. Zresztą już koniec sprzeczki, bo to zupełnie nie na temat...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...