Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: Doppelte Einträge in einem Treeview verhindern

  Alt 11. Jun 2009, 11:49
Zitat von Satty67:
EditText ruft TreeView_EditLabel (COM-Interface) auf, wenn sich der Node aber wie im aktuellen Fall noch im Editiermodus befindet, passiert nichts (vermute ich jetzt mal).

Es wird mit EditText ja keine Botschaft verschickt, sondern eine Funktion aufgerufen, die den Inplace-Editor aktiviert bzw. aktiviert lässt, wenn er schon aktiv ist.
Das Ereignis OnEdited wird doch nach dem Editeren aufgerufen. Ich habe jetzt mal folgendes probiert :
Delphi-Quellcode:
  if TreeNodeSearch(Node.Parent, S) <> nil then
  begin
    case MessageBox(0, PChar(rsDuplicateEntry), PChar(rsDuplicateEntryTitle), MB_ICONQUESTION or MB_YESNO) of
      idYes: begin
        PostMessage(Self.Handle, WM_NOTIFY, TVN_BEGINLABELEDIT, 0);
        Node.Text := S;
      end;
      idNo: S := S + ' [new]';
    end;
  end;
Nur das funktioniert nicht. Ich habe vermutlich das mit der Message falsch gemacht, weiß aber nicht genau wo und wie.

Dazu habe ich noch getestet, wenn ich in der Case-Anweisung bin, liefert mir TV_Category.IsEditing gleich False zurück.

Edit : Die Delphi-Tags korrigiert.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat