說一下自己的理解。題目是孫鑫老是的文本輸出的例子。
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這個上面的我還是沒能看明白。不用給我地址了。
要看SetTextColor是如何定義的,它返回的應該是 COLORREF 類型的變量,而且返回的是dc中改變之前的TextColor。