2014-09-30 81 views
0

在我的自定義組件Paint方法中,我想繪製的區域不是整個畫布,因爲在其他區域是其他對象(如滾動條),而且我不想繪製它們。可能嗎 ?爲什麼在地球上他們只能讀取Canvas.ClipRect是否可以在Paint方法中縮小裁剪矩形?

+0

@DavidHeffernan,謝謝你的高擡頭! – markE 2014-09-30 19:25:36

+1

很難說,但爲什麼你要修改它(在'Paint'方法中)?只需將其複製到局部變量中,然後用它做什麼;-) – TLama 2014-09-30 20:02:10

+0

在我的組件中,我的組件的表面(畫布)上繪製了右側的滾動條,如果在它上面繪製閃爍發生。 – 2014-09-30 20:13:53

回答

3

您可以使用ExcludeClipRect從剪輯區域中排除區域。將畫布Handle作爲設備上下文。爲每個您希望排除的區域的滾動條等調用一次函數。

+0

是的,現在我無法在排除區域繪製,但它仍然填充(通過不知道是誰)與背景顏色,然後整個ClipRect重新繪製在我的滾動條上... – 2014-09-30 20:04:34

+1

那麼,這將是進一步調查。您問過如何修改剪輯矩形。有人想知道你如何處理'wm_erasebkgnd'以及如何繪製滾動條。但這肯定是一個不同的問題。 – 2014-09-30 20:06:49