WindowsDC

Posted _xiaohaige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WindowsDC相关的知识,希望对你有一定的参考价值。

1、Window中,画图工具,最重要的一个东西:设备句柄。

2、Device Context--设备上下文,习惯叫设备句柄(代表一个画图工具),并且提供一套统一的接口,将硬件底层的差别隐藏起来,

3、好处:编程简单化、移植性。

4、CClientDC:客户区设备句柄。

5、CPaintDC:这个设备句柄类,只有在OnPaint函数中能被使用,如果想重载CView::OnPaint函数的话,一定要用CPaintDC这个设备句柄类。

6、HDC GetDC(HWND);获得客户区

7、HDC GetWindowDC(HWND);获得整个窗口

8、HDC BeginPaint(HWND, LPPAINTSTRUCT);只在WM_PAINT消息中使用。

9、设备句柄的属性:

  9.1、CBrush:画刷类,决定设备句柄的背景。

  9.2、CFont:在设备句柄代表的设备上,写字的时候,所选用的字体。

  9.3、CPen:就当一只笔。

  9.4、这三个要起作用,必须使用CDC::SelectObject(object),将三个属性选入设备句柄。

    如果不用了,就使用CDC::DeleteObject(object)删除。

10、其余的和画图相关的类:

  10.1、CBitmap:代表一个图片。

  10.2、CRgn:代表一个规则区域。

11、Windows的颜色:就是一个数据类型:COLORREF

  COLORREF color = RGB(红(0 - 255), 绿色(0 - 255), 蓝色(0 - 255));

12、在设置DC的属性之后要还原。

HFONT hFont = CreateFontIndirect(&font);
HFONT hOldFont = (HFONT)SelectObject(hDC, hFont);
COLORREF old_color = SetTextColor(hDC, RGB(255, 0, 0));
//代码... SetTextColor(hDC, old_color);//进行还原 SelectObject(hDC, hOldFont);//进行还原 DeleteObject(hFont);

 

以上是关于WindowsDC的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器