CS_OWNDC与 CS_CLASSDC

CS_OWNDC与 CS_CLASSDC  

 |字号

在调用GetDC或BeginPaint时,windows用默认值创建一个设备描述表,对设备描述表属性所做的一切改变在ReleaseDC或EndPaint使用后都会失效。如果你不想使用默认属性,那么可以使用CS_OWNDC 和 CS_CLASSDC 自己定义设备描述表属性。 
wndclass.style=CS_OWNDC
现在基于这个窗口类的每一个窗口都被创建了一个设备描述表,且一直存在直到窗口被删除。只需要初始化一次设备描述表(可以在WM_CREATE消息期间完成)当然可以在需要时改变,以后每次调用GetDC和BeginPaint函数时返回的的设备描述表就是用你刚刚设置的设备描述表了。CS_OWNDC风格只影响GetDC和BeginPaint获得的设备描述表,不影响其它函数(如GetWindowDC)获得设备描述表。
而关于CS_CLASSDC与CS_OWNDC不同的是,窗口类使用此风格时,只创建一个设备描述表为所有的窗口,所有的窗口共享这一个设备描述表(且是互斥的)。

你可能感兴趣的:(CS_OWNDC与 CS_CLASSDC)