CDC上写大量的字用什么函数好 我要在CDC上写很多的字,而且是对每个字都有特殊的矩形范围限定的。请问用什么函数比较好?我用过DrawText,画出来的效果很好,但很慢写多了(100个矩形范围)刷新速度很慢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就用DrawText,刷新速度慢应该是你的程序效率问题,请先创建内存DC,在内存DC上面绘制会非常快,然后拷贝到视图DC即可。根据,我的经验,100个矩形根本不会有什么影响 。 楼上两位我已经使用了双倍缓冲,在内存写,我把写word的那个注掉就快很多,不注掉就慢代码://写上文字void CTableClass::DrawWords(CDC* pDC,const CString& str,CRect& rc,int align,COLORREF color){ pDC->SetTextColor(color); pDC->SetBkMode(TRANSPARENT); if(align==ALIGN_MID_INT) pDC->DrawText(str,rc,DT_VCENTER|DT_SINGLELINE|DT_CENTER|DT_END_ELLIPSIS); else if(align==ALIGN_RIGHT_INT) pDC->DrawText(str,rc,DT_VCENTER|DT_SINGLELINE|DT_RIGHT|DT_END_ELLIPSIS); else pDC->DrawText(str,rc,DT_VCENTER|DT_SINGLELINE|DT_LEFT|DT_END_ELLIPSIS); } 我指的刷新速度是:在我的程序视图上面,我随便拿来一个其它的小窗口,然后拖着这个小窗口不断移动(好比不断除非ondraw事件)结果没有写文字的快,写上文字的慢很多,出现延迟严重 我支持的球队赢了,散300分祝贺!~ 急急急!!!关于0xC0000005的访问冲突问题 急问:图形界面在频繁拖动滚动条后,无法正常显示 如果是高手,请帮我解决一个函数调用及其返回值的问题? 看MFC源代码的一个问题,高手请进!!! 关于访问ActiveX控件的问题 vc经常发生得错误,请指点 ds 疯了。竟然找不到指向对话框的指针。 如何在对话框里绘图 程序控制QQ发送文件 源码说明一切,高人帮我看看这里出了什么问题!
我已经使用了双倍缓冲,在内存写,我把写word的那个注掉就快很多,不注掉就慢
代码:
//写上文字
void CTableClass::DrawWords(CDC* pDC,const CString& str,CRect& rc,int align,COLORREF color)
{ pDC->SetTextColor(color);
pDC->SetBkMode(TRANSPARENT);
if(align==ALIGN_MID_INT)
pDC->DrawText(str,rc,DT_VCENTER|DT_SINGLELINE|DT_CENTER|DT_END_ELLIPSIS);
else if(align==ALIGN_RIGHT_INT)
pDC->DrawText(str,rc,DT_VCENTER|DT_SINGLELINE|DT_RIGHT|DT_END_ELLIPSIS);
else
pDC->DrawText(str,rc,DT_VCENTER|DT_SINGLELINE|DT_LEFT|DT_END_ELLIPSIS);
}
在我的程序视图上面,我随便拿来一个其它的小窗口,然后拖着这个小窗口不断移动(好比不断除非ondraw事件)结果没有写文字的快,写上文字的慢很多,出现延迟严重