我有一个窗口是100x100,但我只想绘制50x100并保留右侧透明而不使用WS_EX_LAYERED。当启用自动隐藏功能时,Windows任务栏似乎会执行此操作。根据GetWindowRect,任务栏高度为40px,但只有2px可见。如何让窗口大于屏幕上显示的窗口而不将其设为分层窗口?裁剪窗口渲染到一个区域
回答
SetWindowRgn
使您的窗口小于其GetWindowRect
。
如果仔细观察,您会看到任务栏高度为40像素,但其中38个像素不在屏幕上。
这就是我想问的问题,在多显示器设置上,这些额外的38像素在第二个屏幕上不可见。 – 2012-03-08 18:49:02
在这种情况下,有一个窗口区域。尝试一下:调用'GetWindowRgn',看它是否会返回一个矩形,用于剪出第二个监视器。 – 2012-03-08 18:58:44
在我的窗口中调用SetWindowRgn强制DWMWA_NCRENDERING_ENABLED被禁用,并且在删除该区域之前我无法重新启用它。有没有办法解决这个问题? – 2012-03-08 19:46:47
- 1. 裁剪区域
- 2. uiview只渲染特定区域xcode(不是通过裁剪)
- 3. 访问每个窗口的渲染区域
- 4. 在.NET中裁剪一个子控件到一个区域WinForms
- 5. 不裁剪选定区域
- 6. 无法裁剪区域
- 7. GDI渲染到WPF窗口
- 8. 如何在OpenGL中剪裁渲染(C++)
- 9. 画布中的多个裁剪区域?
- 10. C++ SDL - 在窗口的特定区域内渲染
- 11. OpenGL不渲染到Framebuffer而是渲染到窗口
- 12. OGRE - 多个窗口 - 渲染窗口和菜单窗口
- 13. 覆盖区域渲染
- 14. 直接渲染Magnolia区域
- 15. 渲染区域播放器会看到
- 16. 的jQuery拖动一个项目到区域和渲染控制
- 17. opengl渲染纹理只是看到一个黑色区域
- 18. 在Android中裁剪拖动的区域
- 19. 在opencv中裁剪矩形区域
- 20. InlineUIElement不尊重TextBlock的裁剪区域
- 21. 添加背景裁剪画布区域
- 22. Java:创建有洞的裁剪区域?
- 23. 按多边形区域裁剪图像
- 24. Directshow渲染窗口DLL,
- 25. Backgroundworker不能渲染窗口
- 26. 窗口拒绝渲染
- 27. SFML通过渲染窗口
- 28. C#窗口渲染PHP
- 29. DirectX11 2窗口渲染
- 30. 渲染透明窗口
它显示Windows任务栏不使用SetWindowRgn,可以有另一种方式吗? – 2012-03-08 18:08:14
使用此工具:http://www.rohitab.com/apimonitor,它看起来像Windows任务栏在自动隐藏时在开始按钮上使用SetWindowRgn,但不在任务栏上。 – 2012-03-08 18:11:42