我正在使用Delphi,並且正在構建自己的TControl類標籤組件。 在根據屬性(如標題,字體等)繪製文本之前,我想清除繪製矩形,就像在組件的位置沒有任何東西。我的意思是我想讓它像玻璃一樣,以便顯示它後面的其他組件;然後繪製文字。我應該如何繪製放置在標籤背後的其他組件?怎麼可能清除以前畫的東西?
1
A
回答
4
要做到這一點,您無需執行任何操作。 :-)
當你製作一個透明的標籤式組件時,最好使用TGraphicControl基類。這實際上僅僅是一幅畫畫。無論何時應該更改內容,您都可以調用Invalidate
方法重新繪製控件。這將調用Paint
方法,您可以覆蓋。每重繪一遍,您的控制就會清晰透明,除了您在Paint
方法中繪製內容的部分外。
0
除非你重寫和禁用背景畫,那麼你不需要做任何事情。這取決於你去的基礎班。雖然您可以簡單地使用(在Paint()方法中):
Canvas.Brush.Style:=bsSolid;
Canvas.Brush.Color:=self.Color; //If you have a public color property
Canvas.FillRect(ClientRect);
您還應該閱讀TControlCanvas。這裏是一個網站,更深入地處理這個話題:http://www.delphidabbler.com/tips/75
相關問題
- 1. 清除Tkinter中的畫布而不刪除所有東西
- 2. 東西可以影響通過功能
- 3. 我怎麼能清除的ConnectionStrings
- 4. 這是什麼叫,我怎麼可以在android中創建類似的東西?
- 5. 在django 1.2.1我怎麼能得到像舊的.as_sql的東西?
- 6. 我怎麼能借鑑的東西精靈精靈不
- 7. 我怎樣才能讓sed刪除`\`後跟任何東西?
- 8. 我做了一些可能對社區有用的東西。怎麼辦?
- 9. 這爲什麼不畫任何東西?
- 10. 在清潔之前,git怎麼可能知道SHA-1?
- 11. 旋轉'可以在畫布上繪製的東西'
- 12. 我怎麼能使用一些東西一樣
- 13. 爲什麼gc.clearRect不能清除畫布?
- 14. 使用除ArrayList以外的東西
- 15. Jquery .delay()。fadeOut取消/清除隊列..可能嗎?怎麼樣?
- 16. 有人可以解釋一下:東西變量=新東西();?
- 17. 是否有可能運行DOMContentLoaded之前的東西嗎?
- 18. FCKeditor,刪除東西
- 19. 這些日誌解析Perl的行是什麼,我怎麼能想出可能工作的東西?
- 20. 在vsx中畫點東西
- 21. 我可以綁定的東西ALT(元)
- 22. CABasicAnimation在應該只動畫一件東西的時候動畫所有東西
- 23. SPARQL查詢,選擇除匹配的東西以外的所有東西?
- 24. 爲什麼不刪除任何東西?
- 25. 是否可以在iframe之前放置某些東西?
- 26. 我可以用PHP的流做什麼樣的酷東西?
- 27. 不可能在字段上寫東西
- 28. 清理碼頭 - 刪除'不必要的東西'
- 29. 如何在命令行上清除特定的東西
- 30. 變量和較少的CSS,這是可能的,或者我怎麼能實現類似的東西?
你讀過Charles Petzold關於Windows編程的開創性工作嗎?你肯定會找到答案。 – 2010-12-18 11:13:23