2009-12-28 83 views
1

我試圖做一些像Rainmeter做它的窗口,即使用窗口中的完全透明度,但我們仍然閱讀每個窗口的文本。C++完全透明窗口,但仍然閱讀文本爲例

任何人都可以解釋我是如何做到的?我們如何在窗口中設置完全透明度並顯示此窗口的某些部分(如文本或其他內容)。

我可以做到這一點與地區,但在我看來,它不是像Rainmeter沒有,任何人都知道我怎麼可以在c + +(WinXP及以上)做到這一點?

感謝

回答

0

在回答您的評論:

使窗口部分透明,調用UpdateLayerdWindow功能,並給它一個半透明的背景圖像。

您也可以通過ULW_COLORKEY而不是給出部分透明的背景圖像,並且指定顏色的窗口的每個部分都將變爲透明。 (大多數人使用洋紅色)。但是,如果這樣做,則無法使半透明窗口成爲其中的一部分。

+0

好吧SLaks現在我明白看到更多的例子後。祕訣是使用已經具有alpha透明度的圖像。 – Nuno 2009-12-30 19:54:07

2

您需要使用layered windows

+0

好的我相信這是使用分層窗口完成的,但我已經嘗試使用WS_EX_LAYERED並將窗口完全透明並將alpha設置爲0,因此窗口中的所有圖形或文本也都是透明的。 我仍然不知道這是如何完成的,但我會嘗試閱讀nobugz指向我的代碼,無論如何。 – Nuno 2009-12-30 12:50:38