没有使用双缓冲之前,使用以下代码重新设置坐标映射模式:// 设置坐标模式
SetMapMode(dc, MM_LOMETRIC);
SetViewportOrgEx(dc, m_dgOrigin_x, m_dgLength_y, NULL);
dc.Rectangle(0, 0, 100, 100);可以正确使用,但是在使用了双缓冲之后:CRect rect;
GetWindowRect(&rect);
//ScreenToClient(&rect);CClientDC dc(this);
CDC *pDC = this->GetDC();

dc.CreateCompatibleDC(pDC); 
m_bkBmp.LoadBitmapW(IDB_SHOW_GRAPH);
dc.SelectObject(&m_bkBmp);
dc.FillSolidRect(rect, pDC->GetBkColor());
dc.SetBkMode(TRANSPARENT);// 设置坐标模式
SetMapMode(dc, MM_LOMETRIC);
SetViewportOrgEx(dc, m_dgOrigin_x, m_dgLength_y, NULL);

//dc.Rectangle(0, 0, 100, 100);
不会绘制矩形,我不理解为什么,请教各位!谢谢!