当前位置:学习生活->会员解答 ->关于WinProc函数的SetTextColor调用问题

原创版权标志关于WinProc函数的SetTextColor调用问题

作者:plateau  发表时间:2018/1/27 9:21:29  阅读:
[摘要] C++技术网已经用心解答了用户提出的问题【关于WinProc函数的SetTextColor调用问题】,如还有问题,请继续在文章底部留言交流,直到完全懂了为止。
case WM_PAINT:
 hdc = BeginPaint(hwnd, &ps);
 SetTextColor(hdc, RGB(255, 0,0));// - 设置文字颜色为红色
 TextOut(hdc, 0, 0, L"Hello world", sizeof("Hello world")-1);// -显示文字
 SetTextColor(hdc, RGB(255, 255,0));// - 再次设置文字颜色

 EndPaint(hwnd, &ps);//- 注释后就不释放DC了

-------------问题------------------------

在CS_CLASSDC这一节中,我对代码反复理解,然后自己添加了一个SetTextColor(hdc, RGB(255, 255,0));// - 再次设置文字颜色

第二次设置颜色以后 窗口中的文字没有任何变化 请问是怎么回事呢


C++技术网会员解答:

    设置颜色是将画笔的颜色属性进行更改,而画笔是在TextOut函数调用时使用了。TextOut

使用的画笔是hdc关联的画笔,而这个画笔的颜色就是SetTextColor函数设置的。

    第二次设置颜色也是成功的,只是你没有再输出文字了。

    这里你需要理解一个模式,不管是画笔、画刷还是其他的,都是系统的一个绘画工具箱。所有设置的操作只是改变工具箱的属性而不是画出来的窗口的属性。所以都是先设置属性再用设置好属性的工具去画。

    理解了这个套路,这类问题就迎刃而解了。

文章来源:C++技术网原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。

返回顶部

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)