1

当在右侧使用 TEdit 控件时,保持小图标“x”。单击图标后如何清除 TEdit 框。

全部!

在此处输入图像描述

4

1 回答 1

4

Delphi 提供TClearEditButton清除TEdit内容。它可以通过右键单击并AddItem - TClearEditButton从弹出菜单中选择来添加。它还在 FMX.Edit 单元中覆盖了一个 Click 过程,例如:

procedure TClearEditButton.Click;
var
  EditTmp: TCustomEdit;
begin
  inherited Click;
  EditTmp := GetEdit;
  if EditTmp <> nil then
  begin
    if EditTmp.Observers.IsObserving(TObserverMapping.EditLinkID) then
      if not TLinkObservers.EditLinkEdit(EditTmp.Observers) then
        Exit; // Can't change
    EditTmp.Text := string.Empty;
    if EditTmp.Observers.IsObserving(TObserverMapping.EditLinkID) then
      TLinkObservers.EditLinkModified(EditTmp.Observers);
    if EditTmp.Observers.IsObserving(TObserverMapping.ControlValueID) then
      TLinkObservers.ControlValueModified(EditTmp.Observers);
  end;
end;

这使您不需要为 编写OnClick事件处理程序,TClearEditButton除非您想在清除编辑的同时做一些其他工作。

如果您使用的是 aTEditButton那么您应该编写OnClick事件处理程序,例如:

procedure TForm1.EditButton1Click(Sender: TObject);
begin
  Edit1.Text:= EmptyStr;
end;
于 2018-09-23T14:29:42.077 回答