熟悉WIN32 API的人进啊帮小弟我讲讲啊
熟悉WIN32 API的人进啊,帮我讲讲啊!
最近在看SDK编程,这几个获得HDC的方法分不清楚啊。
BeginPaint(hwnd,hdc);
GetDC(hwnd);
GetWindowDC(hwnd);
CreateDC(...);
这几个函数一直分不清,它们都是啥时候用啊?有区别吗?
用完都要释放吗?
------解决方案--------------------
BeginPaint对应EndPaint
Get...DC对应ReleaseDC
Create...DC对应DeleteDC
------解决方案--------------------
GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境。
所获得的设备环境可以是通用、类或者私有类型,具体由指定窗口的类风格决定。对于通用设备环境,GetDc函数每次获取一个设备环境时都会用默认属性对它进行初始化。
GetWindowDC函数:返回hWnd参数所指定的窗口的设备环境。
获得的设备环境覆盖了整个窗口(包括非客户区),例如标题栏、菜单、滚动条,以及边框。这使得程序能够在非客户区域实现自定义图形,例如自定义标题或者边框。
BeginPaint/EndPaint()用在WM_PAINT消息里
最近在看SDK编程,这几个获得HDC的方法分不清楚啊。
BeginPaint(hwnd,hdc);
GetDC(hwnd);
GetWindowDC(hwnd);
CreateDC(...);
这几个函数一直分不清,它们都是啥时候用啊?有区别吗?
用完都要释放吗?
------解决方案--------------------
BeginPaint对应EndPaint
Get...DC对应ReleaseDC
Create...DC对应DeleteDC
------解决方案--------------------
GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境。
所获得的设备环境可以是通用、类或者私有类型,具体由指定窗口的类风格决定。对于通用设备环境,GetDc函数每次获取一个设备环境时都会用默认属性对它进行初始化。
GetWindowDC函数:返回hWnd参数所指定的窗口的设备环境。
获得的设备环境覆盖了整个窗口(包括非客户区),例如标题栏、菜单、滚动条,以及边框。这使得程序能够在非客户区域实现自定义图形,例如自定义标题或者边框。
BeginPaint/EndPaint()用在WM_PAINT消息里