Yritän piirtää dialogiin Suomen lippua jonka koko on 32x32.
Mutta jostain syystä, WM_PAINT:ssä kun katotaan kuvan kokoa niin se onkin 64x64.
Mikä tossa on vikana.
// ladataan kuva
bm = (HBITMAP)LoadImage(hInst,_T("j:\\pics\\finland.bmp"), IMAGE_BITMAP, LR_DEFAULTSIZE, LR_DEFAULTSIZE, LR_LOADFROMFILE);
// piirretään kuva dialogiin
WM_PAINT:
BITMAP bminfo;
HDC hdc = GetDC(hDlg);
HDC memdc = CreateCompatibleDC(hdc);
GetObject(bm,sizeof(bminfo),&bminfo);
HBITMAP old_hbitmap = (HBITMAP)SelectObject(memdc, bm);
BitBlt(hdc ,10 , 10, bminfo.bmWidth, bminfo.bmHeight, memdc, 0, 0, SRCCOPY);
ReleaseDC(hDlg,hdc);
DeleteDC(memdc);
return (INT_PTR)TRUE;
Bitmap ongelma (SDK win32api)
hermotmenee
1
360
Vastaukset
- hermotmenee
Hahah, heti kun kirjoitin ton tänne, niin huomasin erheeni :)
Eli vika kuvan latauksessa... ei saa käyttää RL_DEFAULTSIZE ja RL_LOADFROMFILE tai
Windows asettaa ton defaultin eikä ota tietoja filusta!
//Väärin
bm = (HBITMAP)LoadImage(hInst,_T("j:\\pics\\finland.bmp"), IMAGE_BITMAP, LR_DEFAULTSIZE, LR_DEFAULTSIZE, LR_LOADFROMFILE);
//Oikein
bm = (HBITMAP)LoadImage(hInst,_T("j:\\pics\\finland.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077763
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1126026- 835177
- 1394546
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113220- 592997
- 582938
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102454- 612437
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562066