大家好,又见面了,我是你们的朋友全栈君。
CreateCompatibleDC |
VB声明 | |
Declare Function CreateCompatibleDC Lib “gdi32” Alias “CreateCompatibleDC” (ByVal hdc As Long) As Long | |
说明 | |
创建一个与特定设备场景一致的内存设备场景 | |
返回值 | |
Long,新设备场景句柄,若出错则为零 | |
参数表 | |
参数 | 类型及说明 |
hdc | Long,设备场景句柄。新的设备场景将与它一致。也可能为0以创建一个与屏幕一致的设备场景 |
注解 | |
在绘制之前,先要为该设备场景选定一个位图。不再需要时,该设备场景可用DeleteDC函数删除。删除前,其所有对象应回复初始状态 |
对CreateCompatibleDC的粗浅认识
gdi在sdk应该是很重要的东西,不过嘛自己的水平实在是不怎么够品。长久以来一直都没有认识到 CreateCompatibleDC 的用途到底在这里,不过还好从知道这个东西数起的200天内,我终于还是晓得一些关于这个函数或者说内存dc存在的意义了。
在这种情况下,假如你要对屏幕进行比较多的gdi函数操作,如果每一步操作都直接对屏幕dc进行操作,那出现的大多数可能性都是屏幕的闪烁。一个很好的解决方法就是使用内存dc,将这些操作全部先在内存dc上操作,然后依次性在屏幕上进行操作。
例如:如果你单单使用bitblt在屏幕上拷贝一个图,那可以直接使用屏幕的dc。但是如果你要先设置背景(fillrect)然后再bitblt的话,这就涉及到两个屏幕dc的操作,这样的话屏幕很容易闪烁。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125901.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...