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函数设置的。
第二次设置颜色也是成功的,只是你没有再输出文字了。
这里你需要理解一个模式,不管是画笔、画刷还是其他的,都是系统的一个绘画工具箱。所有设置的操作只是改变工具箱的属性而不是画出来的窗口的属性。所以都是先设置属性再用设置好属性的工具去画。
理解了这个套路,这类问题就迎刃而解了。