下你所需,载你所想!
汇集开发技术源码资料

GDI彗星置窗口阴影皮肤模块源码

:97.93KB :1 :2019-12-16 09:15:50

部分简介

.子程序 彗星置窗口阴影, 逻辑型
.参数 窗口句柄, 整数型
.参数 阴影颜色, 整数型, 可空
.参数 阴影大小, 整数型, 可空, 留空默认为5,为0取消阴影
.局部变量 hWndParent, 整数型
.局部变量 hWndShadow, 整数型
.局部变量 pWndProc, 整数型

.如果真 (IsWindow (窗口句柄) = 0)
返回 (假)
.如果真结束
' //--------------------------------------
hWndParent = 窗口句柄
.如果真 (是否为空 (阴影大小) = 假 且 阴影大小 < 1)
hWndShadow = GetProp (hWndParent, #SHADOW_HWND)
.如果真 (IsWindow (hWndShadow) ≠ 0)
RemoveProp (hWndShadow, #SHADOW_COLOR)
RemoveProp (hWndShadow, #SHADOW_SIZE)
DestroyWindow (hWndShadow)
.如果真结束
RemoveProp (hWndParent, #SHADOW_HWND)
pWndProc = GetProp (hWndParent, #SHADOW_PROC)
.如果真 (pWndProc ≠ 0)
pWndProc = SetWindowLong (hWndParent, #GWL_WNDPROC, pWndProc)
RemoveProp (hWndParent, #SHADOW_PROC)
.如果真结束
返回 (假)
.如果真结束
' //--------------------------------------
hWndShadow = WindowShadow_Create (hWndParent)
SetProp (hWndShadow, #SHADOW_COLOR, 阴影颜色)
SetProp (hWndShadow, #SHADOW_SIZE, 选择 (是否为空 (阴影大小), 5, 阴影大小))
WindowShadow_Adjust (hWndParent)
' //--------------------------------------
pWndProc = GetProp (hWndParent, #SHADOW_PROC)
.如果真 (pWndProc = 0)
pWndProc = SetWindowLong (hWndParent, #GWL_WNDPROC, 到整数 (&WindowShadow_OnMessage))
SetProp (hWndParent, #SHADOW_PROC, pWndProc)
.如果真结束
' //--------------------------------------
返回 (真)

GDI彗星置窗口阴影皮肤模块源码

热门推荐

相关文章