3
有無論如何使用鼠標來調整德爾福Fmx的無邊界形式? 我試圖使用MouseDown和MouseMove,然後使用窗體的位置與窗體的左側和頂部相比較,但我無法使其工作。德爾福fmx調整大小格式
出於某種原因fmx中的鼠標與正常的vcl應用程序中的鼠標看起來非常不同。
有無論如何使用鼠標來調整德爾福Fmx的無邊界形式? 我試圖使用MouseDown和MouseMove,然後使用窗體的位置與窗體的左側和頂部相比較,但我無法使其工作。德爾福fmx調整大小格式
出於某種原因fmx中的鼠標與正常的vcl應用程序中的鼠標看起來非常不同。
在Firemonkey鼠標座標不是任何時候相對於窗體的頂部/左側像素。
可以使用的功能,將它們轉換和模擬sizegrip有這樣的代碼:
procedure TFenetre.btnRedimensionneMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Single);
begin
if (ssLeft in Shift) then
begin
deplacementX := X;
deplacementY := Y;
end;
end;
procedure TFenetre.btnRedimensionneMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Single);
begin
if (ssLeft in Shift) then
begin
Self.width := Self.width - deplacementX + X;
Self.height := Self.height - deplacementY + Y;
end;
end;
btnRedimensionne是別人用作gripsize控制按鈕,圖像或任何東西。
在你的類添加這樣的:
deplacementX, deplacementY: Single;
這些字段被用於計算解放運動(增加或減少的形式/幀的大小)。
添加一個狀態欄,保持其「ShowSizeGrip」爲真,並且您已完成:) – TLama
偉大的,如果它的工作 - 您已經保存了我的一天:) – user3337132
@TLama:請作出答案,以便我們可以投票? – whosrdaddy