答案 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;