右侧
火软幻日组
当前位置:网站首页 > 自绘经验 > 正文

[已解决]调整窗口尺寸宽高会闪边问题,窗口样式问题

作者:997502977发布时间:2019-12-24分类:自绘经验浏览:1206


导读:首先,创建窗口时窗口风格必须为 位或(#WS_POPUP,#WS_VISIBLE,#WS_CLIPCHILDREN,#WS_MINIMIZEBOX,#WS_SY...

首先,创建窗口时

窗口风格必须为 位或 (#WS_POPUP, #WS_VISIBLE, #WS_CLIPCHILDREN, #WS_MINIMIZEBOX, #WS_SYSMENU)

如果是分层窗口,则最后一个 #WS_SYSMENU 必须存在


扩展样式不能存在 #WS_EX_LAYERED 属性,不管是不是分层窗口


就这样创建了窗口之后,如果是 分层窗口,就执行 

SetWindowLong (窗口句柄, #GWL_EXSTYLE, 位或 (GetWindowLongW (窗口句柄, #GWL_EXSTYLE), #WS_EX_LAYERED))

风格=  GetWindowLongW (窗口句柄, #GWL_STYLE)

判断(边框可调节)

就 风格 = 位或 (风格, #WS_EX_LAYERED)

否则 风格 = 位与 (风格, 位取反 (#WS_EX_LAYERED))

SetWindowLong (窗口句柄, #GWL_STYLE, 风格)


如果还未解决,那么进行方法2

先将窗口设置为隐藏属性风格,然后在第一次显示时设置为可视,这样也可以避免闪烁的情况


方法3

区域 =CreateRectRgn (0, 0, 1, 1)

SetWindowRgn(窗口句柄, 区域, 假)

DeleteObject(区域)



打赏 支付宝打赏 微信打赏