我有一個WS_EX_LAYERED擴展樣式集的分層形式。我使用CreateWindowEx(...)API函數創建了一個「EDIT」子控件;它在那裏的控件,但沒有畫,沒有任何東西出現在窗體上。在C分層窗口上的alpha混合控制#
我知道,當在頂部窗口上使用WS_EX_LAYERED樣式時,WM_PAINT消息不再發送,兩個子控件都不會收到它,因此它不會出現。
請考慮到窗體的不透明度設置爲255,並且使用UpdateLayeredWindow(...)API將背景繪製爲透明圖像。
當我將鼠標懸停在EDIT控件上時,文本光標出現,我可以複製其中的文本。
我想我要處理的問題是以某種方式使控件接受用戶畫圖。
我已經嘗試使用與窗體相同的技術繪製控件,爲此我創建了一個兼容的DC,但是我不知道這是否可能,我的控件仍然沒有繪製。
它應該工作,如果我發送該控件的WM_PRINTCLIENT?在這種情況下,DC應該是分層的父表單?我也嘗試過這一點,但我無法讓它工作。
範式:http://img580.imageshack.us/i/formy.png/
分層形式:http://img6.imageshack.us/i/layeredform.png/
我的問題是如何讓我的編輯控件接受alpha混合用戶漆?如何在分層窗體上繪製一個alpha混合控件?
問題回答 – dst 2011-02-27 15:28:39