procedure  TMainForm.AclonRectSelectoolExecute(Sender;Tobject);

     begin

       MapDetail.CurrentTool  := miRectSelectTool;

       sb.Panele[2].Text  := TAction(Sender).Hint;

    end

 简单地说明状态回放的一些功能所示:

       type

    ThistoryList  =  class(TList)

    private

       FHistoryinteger;     //过去时的索引

       procedure SetHistoryIndex(const  Value: Integer): //过去时索引设置

    protected

    public

       //通过SetHistoryIndex方法设置过去时的索引属性

       property  HistoryIndex:Integer read FHistoryIndex write SethistoryIndex;

       function Add(Item: pointer): Integer;       //增加过时的索引

       procegure  Clear; override;                     //清空过去时的索引

       procedure  Delete(Index:  Integer);        //删除过去的索引

       procedure  Insert(Index:  Integer;  Item:  Pointer);  //插入过去的索引

       function   Goback:  integer;

       function   GoForward:  integer;             //实现状态后退

       function   GoForward:  integer              //实现状态前朝

       constructor   Create ;                          //分类的构造

     end