gpt4 book ai didi

Delphi FMX 用鼠标调整无边框窗体大小

转载 作者:行者123 更新时间:2023-12-03 15:36:22 26 4
gpt4 key购买 nike

是否可以在 Delphi FMX 中使用鼠标调整无边框窗体的大小?我尝试使用 OnMouseDown 和 OnMouseMove ,然后使用表单的位置与表单的左侧和顶部进行比较,但我无法使其工作。

出于某种原因,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 是一个按钮、图像或任何其他用作 handle 大小控制的东西。

将其添加到您的类(class)中:

deplacementX, deplacementY: Single;

这些字段用于计算移动(增加或减小表单/框架的大小)。

关于Delphi FMX 用鼠标调整无边框窗体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21934273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com