我正在編寫一個工具欄樣式的控件,並使用ThemeServices單元繪製工具欄所需的背景。像這樣:避免在嵌套控件上繪畫
ThemeServices.DrawElement(Canvas.Handle,
ThemeServices.GetElementDetails(trRebarRoot), ARect);
然後我將子控件放到工具欄上,然後瞧 - 即時工具欄。除了每隔一段時間我都會注意到嵌套(子)控件不會重新繪製。所以我的控件描繪了它的背景,並且在您將鼠標移動到其上方之前,子控件會消失。
一些編輯控件顯示其客戶區(無邊框),其中一些完全消失。
這種情況主要發生在我從工具欄上的另一個應用程序放置窗口並將其移開時。
我一直認爲這必須很容易治癒,也許我不知道如何防止油漆消息到達子控件,或者失去一個覆蓋,但我一直無法弄清楚。
我發現了很多東西(請參閱我自己的答案),但是您的解釋更好。謝謝! – 2010-03-25 13:38:35