易语言Aero透明效果源码
系统结构:开启Aero,命中测试,是否在矩形内,NewWndProc,取高位,取低位,DwmIsCompositionEnabled,DwmExtendFrameIntoClientArea,DwmDefWindowProc,CallWindowProc,发送消息,设置窗口位置_,SetLayeredWindowAttributes,BeginPaint,EndPaint,SetWindowLong,
======Aero
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 开启Aero
| |
| |------ 命中测试
| |
| |------ 是否在矩形内
| |
| |
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ NewWndProc
| |
| |------ 取高位
| |
| |------ 取低位
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_尺寸被改变
| |
| |
======调用的Dll
| |
| |---[dll]------ DwmIsCompositionEnabled
| |
| |---[dll]------ DwmExtendFrameIntoClientArea
| |
| |---[dll]------ DwmDefWindowProc
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ 发送消息
| |
| |---[dll]------ 设置窗口位置_
| |
| |---[dll]------ SetLayeredWindowAttributes
| |
| |---[dll]------ BeginPaint
| |
| |---[dll]------ EndPaint
| |
| |---[dll]------ SetWindowLong
调用的DLL命令:
.DLL命令 DwmIsCompositionEnabled, 整数型, "dwmapi.dll", "DwmIsCompositionEnabled"
.参数 en, 整数型, 传址
.DLL命令 DwmExtendFrameIntoClientArea, 整数型, "dwmapi.dll", "DwmExtendFrameIntoClientArea"
.参数 hwnd, 整数型
.参数 margin, _矩形, 传址
.DLL命令 DwmDefWindowProc, 整数型, "dwmapi.dll", "DwmDefWindowProc"
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wparam, 整数型
.参数 lparam, 整数型
.参数 result, 整数型, 传址
.DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 发送消息, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 设置窗口位置_, 整数型, "user32.dll", "SetWindowPos", , Long,非零表示成功,零表示失败。会设置GetLastError
.参数 窗口句柄, 整数型, , Long,欲定位的窗口
.参数 定位类型, 整数型, , Long,窗口句柄。在窗口列表中,窗口hwnd会置于这个窗口句柄的后面。HWND_BOTTOM将窗口置于窗口列表底部HWND_TOP将窗口置于Z序列的顶部;Z序列代表在分级结构中,窗口针对一个给定级别的窗口显示的顺序HWND_TOPMOST将窗口置于列表顶部,并位于任何最顶部窗口的前面HWND_NOTOPMOST将窗口置于列表顶部,并位于任何最顶部窗口的后面
.参数 窗口新横坐标, 整数型, , Long,窗口新的x坐标。如hwnd是一个子窗口,则x用父窗口的客户区坐标表示
.参数 窗口新纵坐标, 整数型, , Long,窗口新的y坐标。如hwnd是一个子窗口,则y用父窗口的客户区坐标表示
.参数 窗口新宽度, 整数型, , Long,指定新的窗口宽度
.参数 窗口新高度, 整数型, , Long,指定新的窗口高度
.参数 显示方式, 整数型, , Long,包含了旗标的一个整数SWP_DRAWFRAME围绕窗口画一个框SWP_HIDEWINDOW隐藏窗口等等
.DLL命令 SetLayeredWindowAttributes, , "user32.dll", "SetLayeredWindowAttributes"
.参数 窗口句柄, 整数型
.参数 透明色, 整数型
.参数 透明度, 整数型
.参数 透明方式, 整数型
.DLL命令 BeginPaint, , , "BeginPaint"
.参数 hwnd, 整数型
.参数 lpPaint, PAINTSTRUCT
.DLL命令 EndPaint, , , "EndPaint"
.参数 hwnd, 整数型
.参数 lpPaint, PAINTSTRUCT
.DLL命令 SetWindowLong, 整数型, "user32.dll", "SetWindowLongA"
.参数 hWnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。