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 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计