我想創建一個具有自定義樣式的 Delphi 專案,如下圖所示。

可以看到,MainForm 是透明的,里面有一些組件。
如何創建這個透明的 MainForm?
PS:我想創建 VCL 專案,我用 Photoshop 繪制了這張圖片。
uj5u.com熱心網友回復:
假設您使用的是 Firemonkey,因為您沒有指定 VCL 或 FMX。
您實際上不需要為此創建樣式。更簡單的方法是:
- 將表單透明屬性設定為
True - 在表格上放置 a
TRectangle并使其對齊Most left并根據自己的喜好調整顏色等。 - 在您的表單上放置另一個
TRectangle并將對齊設定為Client。然后,您可以調整Opacity透明度的fill屬性,color然后stroke調整border. - 我在照片中看到左右之間有一個小空間。這可以通過在您放置
margin left的第二個上設定一個值來完成。TRectangle
現在這應該看起來像您希望它提供的內容,前提是您禁用了表單的邊框。為了避免控制元件顯示為透明,我們還需要做 1 件事。我們需要在表單上放置一個布局。不是矩形。如果將控制元件放置在不透明的矩形上,控制元件也將是透明的。如果您希望控制元件具有相同的透明度值,請將其放置在矩形上。否則,請執行以下操作:
TLayout在表格上放置一個。不是矩形。- 將對齊屬性設定為內容。這將使它與所有內容重疊。
- 將
margin left布局的屬性設定為您放置的左側矩形的寬度 您放置的客戶矩形的邊距值以補償小空間。 - 將您的控制元件放在布局上,它們應該以默認不透明度顯示。
最后一件事是實作視窗拖動。假設您禁用了邊框,您的用戶將根本無法移動視窗,因為沒有可拖動的邊框。在要開始拖動的組件的 MouseDown 事件上,添加以下代碼:
procedure TForm1.rctngl1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
StartWindowDrag;
end;
你現在應該完成了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/495038.html
