清除TEdit控件rad studio delphi

时间:2018-09-23 13:47:49

标签: delphi firemonkey rad-studio

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

全部收尾!

enter image description here

1 个答案:

答案 0 :(得分:3)

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事件处理程序,除非您想在清除编辑内容的同时做其他工作。

如果您使用的是TEditButton,则应编写OnClick事件处理程序,例如:

procedure TForm1.EditButton1Click(Sender: TObject);
begin
  Edit1.Text:= EmptyStr;
end;