環境是C/C++下的普通win32,沒有任何花哨的MFC或類似的巨無霸。我有一個窗戶,裏面有幾個孩子和孫子。有些孩子是怪異的圖標,我需要他們有透明的背景(奇怪形狀的圖標)。考慮這種僞結構:如何強制父窗口繪製「under」子窗口?
- Parent1
- Child1(正常)
- CHILD2(奇怪形狀的圖標)
- Child3(正常)/ Parent2
- Grandchild1(正常)
- 孫子2(怪形圖標)
以上,CHILD2和Grandchild2應該有透明的背景(WM_ERASEBKGND什麼也不做,或(WNDCLASS) - >看一看hbrBackground = NULL)。現在這些圖標的背景是透明的,但透明到極端 - 我看到Parent1下的東西 - 桌面等。
這一切都發生在Windows Mobile下。
是否有任何額外的標誌,我必須爲Parent1和Parent2設置?你可能會提供什麼好的技巧?
如果沒有人有類似的問題,我會感到驚訝,因爲許多應用程序現在必須顯示圖標,所有形狀和大小。
編輯:形狀奇怪的窗口是透明膠片的圖標。如果父窗口不會爲這些特定的窗口執行剪切,而是在每次父開始繪製時都使其無效,那將會很好。 CS_PARENTDC看起來非常有前途,但沒有足夠的前景。有任何想法嗎?
是的,WM_PAINT正在調用DrawIcon。我如何設置非矩形剪輯區域? – 2009-02-06 08:40:09