双缓冲显示问题(高分!)(急求!)

RedHat_net RedHat_net 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
SIZE n_size;
GetTextExtentExPoint(hDC,_T("中"),_tcslen(_T("中")),NULL,NULL,NULL,&n_size);
n_hight = 11*n_size.cy;
MoveRect.top = 0;
MoveRect.left = 0;
MoveRect.right = 300;
MoveRect.bottom = 300;


nDC = CreateCompatibleDC(hDC);
n_map = CreateCompatibleBitmap(nDC, 300, 300);

SelectObject(nDC,&n_map);

::FillRect(nDC,&MoveRect,hbrush);

if(!g_nTimeGet->allData[DataNum].nameData.empty())
{
for(int i = 0; i<= DataNum; i++)
{

DrawText(nDC, (LPCTSTR)g_nTimeGet->UTF8ToUnicode(g_nTimeGet->allData[i].nameData).c_str(), -1, &MoveRect, DT_LEFT);

switch(g_nTimeGet->allData[i].colorType)
{
case 1:
SetTextColor(hDC, RGB(255,0,0));
break;
case 2:
SetTextColor(hDC, RGB(0,255,0));
break;
default:
break;
}
MoveRect.left = 92;
DrawText(nDC, (LPCTSTR)g_nTimeGet->UTF8ToUnicode(g_nTimeGet->allData[i].newData).c_str(), -1, &MoveRect, DT_LEFT);

MoveRect.left += 60;
wsprintf(szTextBuffer, TEXT("%s%\r\n%"), (LPCTSTR)g_nTimeGet->UTF8ToUnicode(g_nTimeGet->allData[i].changeData).c_str());
DrawText(nDC, szTextBuffer, -1, &MoveRect, DT_LEFT);


}

BitBlt(hDC, 60, 30, 300 , 300, nDC, 0, 0, SRCCOPY);
DeleteDC(nDC);
}
上面代码是我实现往屏幕上显示文字的,虽然已经画到屏幕上,可不知道为什么,只是一个点而已啊!!不知道错在哪了,改了很多次,都没行!!
希望高手指点,给高分!
...全文

相关推荐

评论 22
收藏 已收藏
分享
返回顶部
RedHat_net
界面 15,976 成员 115,866 内容