16,548
社区成员




CBitmap *pOldBmp;
CPaintDC dc(this);
CDC dcSelect;
CRect rect(m_ptMoveChess.x, m_ptMoveChess.y, 60, 60);
ScreenToClient(rect);
dcSelect.CreateCompatibleDC(&dc);
m_BoardBmp.LoadBitmapW(IDB_REDGROUND);
pOldBmp = dcSelect.SelectObject(&m_BoardBmp);
dcSelect.FillSolidRect(rect, RGB(192, 192, 192));
dc.StretchBlt(rect.TopLeft().x, rect.TopLeft().y, rect.Width(), rect.Height(), &dcSelect, 0, 0, 60, 60, SRCCOPY);
CBitmap *pOldBmp;
CPaintDC dc(this);
CDC dcSelect;
dcSelect.CreateCompatibleDC(&dc);
pOldBmp = dcSelect.SelectObject(&m_redSelectBmp);
dc.BitBlt(x, y, 56, 56, &dcSelect, 0, 0, SRCCOPY);
dcSelect.SelectObject(&pOldBmp);
dcSelect.DeleteDC();
(x,y)是加载点的坐标,这段代码我放在OnPaint()里面测试过了,可以加载位图
现在问题是我在对话框上已经画了一个位图,
我在这个位图上左击(x,y)位置加载56,56大小的位图,左击鼠标没反应,是没更新还是什么问题?
可以说一下吗?谢谢CPaintDC dc(this);
CRect rc;
GetClientRect(&rc);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BAR);
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap* pbmpPri = dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rc.Width(), rc.Height(), &dcMem,0,0,bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);