TScaledLayout

解決


Moe  2022-11-09 08:01:27  No: 150670

Delphi好き女子です。
CommunityEditionの10.4.2を使ってFireMonkeyアプリケーションにトライしています。
TEdit(×ボタンを表示)をフォームに配置してscaleを2にしたところ、×ボタンがTEditの枠から大きくはみ出してしまいます。
これを解消する方法ございましたら教えて頂けませんでしょうか?


AAAAA  2022-11-09 10:11:05  No: 150671

FireMonkeyのTEditでTClearEditButtonを追加すると
https://www.petitmonte.com/bbs/answers?question_id=29971

と同じなんだけど

procedure TForm1.Button1Click(Sender: TObject);
begin
    ClearEditButton1.Parent := Form1;
    ClearEditButton1.Scale  := Edit1.Scale;
    ClearEditButton1.Align := TAlignLayout.None;
    ClearEditButton1.Position.X := Edit1.Position.X + (Edit1.Width * Edit1.Scale.X)- (Edit1.Height * Edit1.Scale.Y) + 4;
    ClearEditButton1.Position.Y := Edit1.Position.Y + 4;
    ClearEditButton1.Width      := (Edit1.Height) -4;
    ClearEditButton1.Height     := (Edit1.Height) -4;
end;

//Parent を Edit1 から外すとクリアされなくなるので OnClick で削除
procedure TForm1.ClearEditButton1Click(Sender: TObject);
begin
    Edit1.Text := '';
end;

こうすればなんとかなる


Moe  2022-11-09 19:05:44  No: 150672

AAAAA さん、回答ありがとうございます。
バグなのですね。。。
ご提示いただきました方法で逃げてみます。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加