2011-01-11 36 views
0

我創建了一個自定義進度控件,派生自CProgressCtrl,通過覆蓋OnPaint函數(未調用CProgressCtrl :: OnPaint)來顯示使用位圖的進度。在應用程序中查看時,進度條周圍有一個邊框。沒有爲進度控制設置WS_BORDER,也沒有在應用程序中找到任何其他控件。調用進度控件上的ModifyStyle(WS_BORDER,0)以刪除邊框返回0並且不會更改外觀,而ModifyStyle(0,WS_BORDER)在進度欄周圍添加第二個邊框。如何刪除自定義CProgressCtrl的邊框?

WS_BORDER絕對沒有在這個控件上設置,但是在控件周圍顯然有一個Windows邊框。是否有可能將控件完全封閉在另一個控件中作爲子窗口,如果可以,我如何找到該控件並禁用WS_BORDER?或者是自動繪製邊框,因爲控件是派生的CProgressCtrl類,即使OnPaint被覆蓋?

+0

不重複 - 邊框是進度欄包含框的邊框。 – 2011-01-11 21:57:36

回答

0

進度控制是一個單一的窗口 - 這可以很容易地用Spy ++驗證。

我認爲你需要覆蓋OnNcPaint以及OnPaint

+0

我錯過了OnNcPaint電話 - 非常感謝! – 2011-01-12 14:20:58