Closed Reg1350 closed 2 years ago
编译工具链是使用v141_xp xp系统不确定是不是还需要打补丁,只是虚拟机用来测试的 我询问其他人,得知这个报错有可能是使用了xp不支持的函数(gdipus) duilib/Render/Render.cpp 这个类是什么作用? 注释掉void RenderContext_GdiPlus::DrawBoxShadow(const UiRect& rc, const CSize& roundSize, const CPoint& cpOffset, int nBlurRadius, int nBlurSize, int nSpreadSize, DWORD dwColor, bool bExclude) 该函数的内容后,程序在xp上能正常使用
请确认下您那边 XP Service Pack 版本是 2 还是 3? GDIPlus 是 GDI 渲染引擎的加强版,原版 XP SP3 有这些功能但可能不完善,所以可能需要安装完整 SP 和 hotfix 补丁包才可以。
这块代码是后面开发者贡献的,没有考虑对 XP 的兼容,Gdiplus::BlurParams 要工作在 Windows Vista 以上才可以。
可以加宏判断如果大于 XP 系统再启用此函数 (WINVER >= 0x0600)
测试OK了。感谢了
问题现象
预期结果
重现步骤