Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#1

UndoList bei Drag 'n Drop im SynEdit

  Alt 3. Mär 2004, 12:08
In meinem Programm kann der User Spaltennamen aus einer Liste von verfügbaren Spalten per Drag'n Drop in einen Filter (SynMemo) ziehen.
Das funktioniert auch einwandfrei. Doch wenn man mehrere Spalten "rübergezogen" hat und dann einmal auf Undo klickt/[Strg] + [Z] drückt, werden alle eingefügten Spalten entfernt. Nicht nur die letzte.

Der Code steht im DragDrop-Envent des SynMemos:
Delphi-Quellcode:
  ...
  smSender.SelStart := absPos;
  smSender.SelEnd := absPos;

  smSender.UndoList.BeginBlock;
  Try
    For i := 1 To Length(NewText) Do
      smSender.ExecuteCommand(ecChar, NewText[i], Nil);
  Finally
    smSender.UndoList.EndBlock;
    smSender.SetFocus;
  End;
  ...
Ich dachte mit...
Delphi-Quellcode:
UndoList.BeginBlock;
  ExecuteCommand...
UndoList.EndBlock;
...bekomme ich die Änderungen als eine Gruppe in die UndoList, die dann mit einem Undo alles zwischen BeginBlock & EndBlock rückgängig macht.

Nachtrag: Ich hoffe jetzt ist's verständlicher
  Mit Zitat antworten Zitat