mfc如何擦除textout 绘制文字
我在picturecontrol里面绘制文字,想要擦拭picturecontrol上面的一块区域,其他区域内容不变如下图,只擦拭红色的A区域::InvalidateRec...
我在picture control里面绘制文字,想要擦拭picture control上面的一块区域,其他区域内容不变
如下图,只擦拭红色的A区域
::InvalidateRect(0, rect, TRUE); 把整个picture control区域都擦拭了
请问如何才能只擦拭A区域??? 展开
如下图,只擦拭红色的A区域
::InvalidateRect(0, rect, TRUE); 把整个picture control区域都擦拭了
请问如何才能只擦拭A区域??? 展开
展开全部
设置一个标志位来表示是否想擦除a区域 当想擦除时把标志位设置TRUE 并且刷新该区域 在onpain函数中根据这个标志位来确认是否绘制A区域,在想绘制A区域的地方把标志位设为FALSE 刷新该区域
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个有很多种办法,你把要擦除的区域分为两块,进行分别绘制。
一块绘制你的左边,一块绘制你的右边。在OnPaint时,进行分别绘制。
一块绘制你的左边,一块绘制你的右边。在OnPaint时,进行分别绘制。
更多追问追答
追问
用那个函数进行擦拭啊?
有例子没有呢?
追答
你还需要灵活点运用CDC啊。
你的CDC不是既可以画图,也可以画字呢?那就把它拆分成三块。
第一块,画你的边框,就是蓝色的那个框。
dc.FrameRect()。
第二块,画你左边的文字。
dc.DrawText(leftRect, strLeftText);
第三块,画你右边的文字,加个if语句判断是否需要画即可。
if(bDrawRight)
{
dc.DrawText(rightRect, strRightText);
}
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算下字符长度 每个字节占 m 。将rect.right -= m
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询