2012-05-15 24 views
0

我在win32中實現了一個邊框控件,並且我爲該邊框實現了各種樣式。我正在使用簡單的MoveTo()和LineTo()命令來繪製邊框。 我的問題是,當我爲我的邊框選擇一些新的樣式時,它開始繪製在當前繪製的邊框上。我知道我需要刷新/重新繪製我的窗口,以便擁有新的畫布。我現在使用InvalidateRect()來達到這個目的。但是我擔心,如果我的其他窗口與我的邊框控制窗口(作爲子窗口)相關聯,這將如何影響子窗口?我需要重新繪製此窗口上的所有內容,對嗎?其次,是否有我可以在GDI區域(HRGN)內劃線?到目前爲止,我所遇到的是如何用一些填充顏色來填充HRGN。無論如何,我可以檢索與特定HRGN對象關聯的HDC嗎?在win32 HRGN對象中繪製

回答

0

這不是一個問題,你繪製的任何東西都會被子窗口矩形自動剪裁。不需要額外的代碼。底層窗口樣式標誌是WS_CLIPCHILDREN。

您不能在區域中畫線,也不能與設備上下文關聯。除了繪製區域,然後在繪製消息處理程序中繪製線條之外。你可能對路徑感興趣。 MSDN文檔start here

+0

好的。感謝指向Paths對象的指針,我不認爲我需要使用它們。我只是想確保將我的子窗口重新粘貼到我的父邊框窗口。謝謝! –