2012-07-02 108 views
1

我有一些不錯的分離器代碼爲我的GUI,但我無法得到筆/畫筆/無論是我需要做適當的突出顯示。您知道在Visual Studio 10中,分隔條可以被拖動,並且有一個漂亮的黑色透明條,讓您知道當您擡起鼠標按鈕時將發生拆分的位置。這裏有一張圖片:http://www.freeimgshost.com/fullsize/efmcxyyu1wbyb1r7mz0.png與GDI黑色高亮欄

我該如何實現單獨使用GDI和C++的黑色高亮條?

回答

3

Visual Studio用戶界面是在WPF中實現的,所以我猜測分隔欄只是一個半透明的填充矩形。

但是,GDI對透明度的支持相當差。

使用半透明,始終位於頂層的分層窗口可以獲得相同的效果。這是一個簡單的解決方案,因爲您不必擔心重新繪製任何東西。你只是移動窗口。

This answer to another question有一些代碼可以創建這樣一個窗口(用於不同的目的)。

1

這可能是LockWindowUpdate()的正確用法之一。

在Mousedown上,鎖定窗口,然後開始直接拖動拖動條。由於鼠標仍然被捕獲,拖動條仍然會收到鼠標通知。在mouseup上,解鎖窗口,調整大小並讓繪圖繼續正常進行。