Delphi把窗體設為bsnone時如何拖動窗體

2021-09-29 03:43:58 字數 456 閱讀 5624

大家在寫程式的時候為了追求美觀,習慣性的會把borderstyle設定為bsnone,這麼一來窗體就會變成無邊框,大家可以自己在角落畫乙個image插入美工做好的,自己弄最小、大化,關閉按鈕。但是沒有了原始邊框,要怎麼實現拖動窗體呢?

我自己想了乙個很簡單的方法,先在介面中插入乙個控制項,可以是button、panel、image等等只要能響應滑鼠事件即可。最好是選擇自己畫的邊框,也就是image或panel。定義乙個全域性變數drop:boolean;

在控制項的onmousedown事件中令drop為true,在onmouseup事件中令drop為false,最後在onmousemove事件中

if drop then

begin

form1.left:=form1.left+x;

form1.top=form1.top+y;

end;

這麼一來,按住這個控制項就可以拖動窗體了。

delphi窗體設計

可以通過設定窗體的屬性以及程式設計的方法,限制和控制窗體的變化。如讓窗體不能最小化 最大化.1.通過屬性設定方法 使用form的bordericon屬性,我們可設定窗體是否具有系統選單 bisystemmenu 最小化按鈕 biminimize 最大化按鈕 bimaximize 和幫助按鈕 bihe...

delphi窗體設計

可以通過設定窗體的屬性以及程式設計的方法,限制和控制窗體的變化。如讓窗體不能最小化 最大化.1.通過屬性設定方法 使用form的bordericon屬性,我們可設定窗體是否具有系統選單 bisystemmenu 最小化按鈕 biminimize 最大化按鈕 bimaximize 和幫助按鈕 bihe...

delphi窗體屬性

1 0 none 窗體不僅沒有邊界,而且沒有標題欄 2 1 fixed single 邊界是固定的單線,執行時不能改變窗體大小 3 2 sizable 預設設定,窗體的大小可以在執行時改變 4 3 fixed dialog 固定的對話方塊,大小不能改變 5 4 fixed toolwindow 固定...