已有17人关注
::BitBlt(hdc,0,0,rc.Width(),rc.Height(),m_dcMemory.GetSafeHdc(),0,0,SRCCOPY);跑完黑屏
发表在C++图书答疑 2018-04-03 悬赏:2 学分 《C++项目开发实战入门》第1章 坦克动荡游戏
是否精华
版块置顶:

void CGame::GameRunDram()
{
    HDC hdc = ::GetDC(m_hWnd);//获取hWnd设备描述表包括绘图属性,方法
    CRect rc;
    GetClientRect(m_hWnd, &rc);//获取当前客户区坐标位置信息 存储在rc.witch()
    CDC *dc = CClientDC::FromHandle(hdc);//CDC是一个类 HDC的具体操作都在CDC封装
    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());
    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);
    //Image image(pStream, 0);
    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(0, 0, 0xFF));
//        SolidBrush brush(RGB(255, 0, 255));
        Gdiplus::Font font1(fontFamily,10.0);
        CRect rc;
        ::GetClientRect(m_hWnd, &rc);
    
        PointF origin(rc.right - 50,rc.top + 2);
        gh.DrawString(s.GetString(), -1, &font1, origin, &brush);


    }

}

图片.png

分享到:
精彩评论 1
李木子
学分:2954 LV11
2018-04-12
沙发

你好:

  是书中的源码吗?如果不是,你可以运行光盘里的源码试试

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照