今、BMPのTIPを繋ぎ合わせて1枚のMapを作り、そのMapの一部分だけを
ウィンドウに表示させることを考えてます。
maptipというのが,BMPのTIPを並べたBMPで、
そこからBitbltを使って、mapdc(MapViewクラスが持っているメンバ)にMAPを作ってます。
その後、Bitbltを使ってmapdcの一部分を表示させようと
しているのですが、何も表示されません。
初心者なもので、トンチンカンな質問をしているかと思いますが、
よろしくお願いします。
void MapView::drawMaptoScreen(CDC *pDC)
{
CBitmap maptip;
maptip.LoadBitmap(IDB_Maptip);
CDC maptipdc;
maptipdc.CreateCompatibleDC(0);
CBitmap* Oldmaptip = maptipdc.SelectObject(&maptip);
mapdc.CreateCompatibleDC(pDC);
for (int j = 0; j < 15; ++j)
for (int i = 0; i < 15; ++i)
mapdc.BitBlt(i * 32, j * 32, 32, 32, &maptipdc, 0, 0, SRCCOPY);
maptipdc.SelectObject(Oldmaptip);
pDC->BitBlt(0, 0, 32, 32, &mapdc, 0, 0, SRCCOPY);
}
mapdcにBMPが結び付けられてますか?
mapdc.SelectObjectのことでしょうか?
この場合,引数に(与えるBMPは)何を指定すればよいのでしょうか?
DCはいうなれば画家(と画材一式)で、DCに選択するビットマップは画用紙です。
必要な大きさと形式を持ったビットマップを
CBitmap::CreateCompatibleBitmap()とかで作って、指定しましょう。
ありがとうございました。
無事解決しました。
今後もよろしくお願いいたします。
ツイート | ![]() |