我有一個窗口是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