我正在使用VCL測試一些特殊形狀的窗口。德爾福 - 在窗體大小調整後重新構建點擊透明區域
在(邊界以內)主要形式有,我用了一種利用TForm.TransparentColor
和TForm.TransparentColorValue
,這樣做的長方形的點擊透明區域的TImage:
imgTrans.Canvas.Brush.Color := self.TransparentColorValue; imgTrans.Canvas.FillRect(Rect(0, 0, imgTrans.ClientWidth, imgTrans.ClientHeight));
窗口的透明區域起作用,除了在窗體大小調整之後,客戶端對齊的TImage應該調整大小,因此透明區域也應該調整大小,但不是。
我試過多種方法試圖使透明區域與其父形式一起調整,但失敗了,東西我想:
- 形式的調整後,正在重置父窗體的
TransparentColor
財產。 - 表單調整大小後,手動調整TImage的尺寸。
我使用xe4並在Win7上測試它。
任何建議?謝謝。
如果你正在繪製整個圖像的顏色相同,那麼跳過圖像並設置[表單的背景顏色](http://docwiki.embarcadero.com/Libraries /en/Vcl.Forms.TForm.Color)? –
@RobKennedy,由於我只想將窗體的一部分設置爲透明,我認爲使用TransparentColorValue填充整個窗體也會使窗體上的控件變得透明。但顯然我錯了:)嘗試了你的方法,它的工作,非常感謝你! –
該行爲由每個子控件的'ParentColor'屬性控制。 –