思路 把原始窗口阴影想象成单色的矩形 这个矩形经过高斯模糊处理后, 加上偏移即形成阴影 实际上绘制时与原窗口重叠的部分应该不计算, 这样的话效率还可以 模块没有用到GDIPlus, 只是创建了一个32位的位图 实际上也可以用Direct2D硬件加速计算高斯模糊效果 但考虑到不是所有系统(比如XP, 早期WIN7, Windows安全模式)都支持d2d1_1, 只好作罢 其实是不会Direct2D( 用法 在程序创建阴影之前调用 阴影_初始化, 指定阴影类名和实例句柄, 一般填 #DEFAULTSHADOWNAME 和 0 即可 在程序销毁阴影之后调用 阴影_反初始化, 释放资源是个好习惯 如果要使用阴影, 有两种方案 一种是使用 阴影_通知, 自行发送消息创建/销毁/更新窗口, 例子见测试窗口程序集 另一种使用 阴影_创建/阴影_销毁/阴影_更新 这3个函数, 例子见测试窗口2程序集
2022-01-17 19:08:56 15KB 易语言自绘窗口阴影源码 这应