Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Layered Window 中如果存在WM_CHILD的子窗口,子窗口无法渲染出来。测试发现UpdateLayeredWindow不行,SetLayeredWindowAttributes可以 #337

Open
Xuhuajie-2021 opened this issue Jun 30, 2021 · 2 comments

Comments

@Xuhuajie-2021
Copy link
Contributor

Xuhuajie-2021 commented Jun 30, 2021

问题现象

image

预期结果

重现步骤

上面是用SetLayeredWindowAttributes的效果。

@Xuhuajie-2021
Copy link
Contributor Author

Xuhuajie-2021 commented Jun 30, 2021

UpdateLayeredWindow与SetLayeredWindowAttributes的另一区别是:UpdateLayeredWindow上所有的东西(包括子控件都必须自己绘制上去,自己响应事件)都由个人处理;SetLayeredWindowAttributes则仅仅处理该窗口的掩码色处理成透明色或将整个窗口的透明度设置为LWA_ALPHA 指定的不透明度值,不影响其他子控件的处理

@Xuhuajie-2021
Copy link
Contributor Author

有大神试过吗,UpdateLayeredWindow之后,确实上面得WM_CHILD无法渲染了

@Xuhuajie-2021 Xuhuajie-2021 reopened this Jun 30, 2021
@Xuhuajie-2021 Xuhuajie-2021 changed the title Layered Window 中如果存在WM_CHILD的子窗口,无法渲染出来。我试了下纯windows可以渲染的。 Layered Window 中如果存在WM_CHILD的子窗口,无法渲染出来。测试发现UpdateLayeredWindow不行,SetLayeredWindowAttributes可以 Jun 30, 2021
@Xuhuajie-2021 Xuhuajie-2021 changed the title Layered Window 中如果存在WM_CHILD的子窗口,无法渲染出来。测试发现UpdateLayeredWindow不行,SetLayeredWindowAttributes可以 Layered Window 中如果存在WM_CHILD的子窗口,子窗口无法渲染出来。测试发现UpdateLayeredWindow不行,SetLayeredWindowAttributes可以 Jun 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant