void CGame::GameRunDram()
{
HDC hdc = ::GetDC(m_hWnd);
CRect rc;
GetClientRect(m_hWnd, &rc);
CDC *dc = CClientDC::FromHandle(hdc);
CDC m_dcMemory;
CBitmap bmp;
bmp.CreateCompatibleBitmap(dc, rc.Width(), rc.Height());
m_dcMemory.CreateCompatibleDC(dc);
CBitmap* p0ldBitmap = m_dcMemory.SelectObject(&bmp);
Graphics gh(m_dcMemory.GetSafeHdc());
gh.Clear(Color::White);
gh.ResetClip();
DrawFps(gh);
::BitBlt(hdc,0,0,rc.Width(),rc.Height(),m_dcMemory.GetSafeHdc(),0,0,SRCCOPY);
dc->DeleteDC();
return;
}
void CGame::DrawFps(Graphics &gh)
{
static int fps = 0;
m_fps++;
static DWORD dwLast = GetTickCount();
if (GetTickCount() - dwLast >= 1000) {
fps = m_fps;
m_fps = 0;
dwLast = GetTickCount();
}
{
CString s;
FontFamily* fontFamily = new FontFamily(_T("宋体"));
//FontFamily fontFamily(L"楷体");
s.Format(_T("FPS:%d"), fps);
SolidBrush brush(Color(0x00, 0x00, 0xFF));
Gdiplus::Font font1(fontFamily,10.0);
CRect rc;
::GetClientRect(m_hWnd, &rc);
PointF origin(static_cast<float>(rc.right - 50),
static_cast<float>(rc.top + 2));
}
}
大虾们帮忙看看 解决问题立刻结贴