namocpp 2014-12-29 11:29 采纳率: 50%
浏览 1624
已采纳

Visual C++的一段代码搞不懂求解释

说一下自己的理解。题目是孙鑫老是的文本输出的例子。
1:GetBkColor得到背景白色,然后SetTextColor(白色)把背景白色设置为文字颜色。跟着clr应该是赋值得到白色了吧,但是F5看的时候是黑色,就要原文字颜色。我这么理解应该错了
1 COLORREF clr=dc.SetTextColor(dc.GetBkColor());
//GetBkColor属于dc对象,改变dc中的背景值(白色)。然后SetTextColor用白色值设置了dc文字的颜色。
问题赋值给clr是什么?为什么是0(黑色)好像等号的左右两边没有任何关系。
2 dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);//用背景色输出了文字,等于没看不到。
3 m_strLine=m_strLine.Left(m_strLine.GetLength()-1);//不用解释,理解。
4 dc.SetTextColor(clr);//这里这个函数用clr的0,把文字颜色设置为黑色。当么语句1应该是白色给了clr。
问题主要在语句1和4.

求帮忙,谢谢哪位大叔给个解释
http://msdn.microsoft.com/zh-cn/library/wf4k5sew.aspx这个上面的我还是没能看明白。不用给我地址了。

  • 写回答

4条回答 默认 最新

  • foruok 博客专家认证 2014-12-29 13:27
    关注

    要看SetTextColor是如何定义的,它返回的应该是 COLORREF 类型的变量,而且返回的是dc中改变之前的TextColor。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题