我們把我們的透明窗口的應用程序,在另一個進程的窗口。我們的窗口包含一些子控件。我們創建一個WS_EX_LAYERED窗口,使用colorkey來選擇透明度。主窗口是完全透明的,所以它只能作爲子控件的容器。WS_EX_LAYERED色鍵 - Vista的問題
這部作品XP和Vista不細航空。但是,Vista與Aero點擊不通過透明區域。我們可以做什麼?
使用WS_EX_TRANSPARENT失敗,它使我們自己的控件無法正常使用,當然。
我已經考慮隱藏父窗口(WS_SHOWWINDOW),但我相當肯定這會隱藏所有的孩子,並且AFAIK將窗口調整爲最小尺寸,使用CLIPCHILDREN CLIPSIBLINGS的任意組合都會以類似的方式失敗...
感謝您的幫助。
謝謝,我知道的區域,但我認爲它可能成爲相當乏味超過30個多種文字和按鈕元素打造的區域。但是,也許值得重新考慮。 – Adam 2009-12-11 15:08:55
那麼,他們都是兒童控制,很容易讓他們的RECT – Anders 2009-12-11 18:21:58
乏味?這就是爲什麼你是一個程序員 - 自動化乏味。從rects生成一個區域是微不足道的,從其他形狀更棘手。但是基於區域的窗口裁剪在Windows 6.0和6.1版本上比使用colorkey的WS_EX_LAYERED支持要好得多。 – 2009-12-11 19:07:22