Einzelnen Beitrag anzeigen

ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#1

Nachfrage vorm Löschen eines Nodes beim Virtual String Tree

  Alt 12. Okt 2012, 11:18
Hi,

wie kann ich verhindern, dass beim Drücken der Taste "Entf" (Delete) der ausgewählte Node sofort gelöscht wird, und statt dessen ein Dialogfeld erscheint?
Ich habe in dem OnKeyAction- und im OnKeyDown-Event jeweils den Code stehen, jedoch erfolglos.
Beim drücken der Backspace-Taste wird der Dialog angezeigt; ich vermute mal, dass die Entf-Taste von Windows anders gehandhabt wird.
Delphi-Quellcode:
OnKeyAction:
if ((Shift = []) and (CharCode = VK_DELETE)) then
    if MessageDlg('wirklich löschen?', mtConfirmation,[mbYes, mbNo, mbCancel],0) = mrYes then
        Sender.DeleteNode (Sender.FocusedNode);


OnKeyDown:
if (Key = VK_DELETE) or (Key = VK_BACK) then begin
    if MessageDlg('wirklich löschen?', mtConfirmation,[mbYes, mbNo, mbCancel],0) = mrYes then begin
        Key := VK_DELETE;
        VST.EditNode(VST.FocusedNode, VST.FocusedColumn);
        SendKeys('{DELETE}', True);
        VST.SetFocus;
        VST.Selected[Node] := True;
        VST.FocusedNode := Node;
    end;
end;
Danke und Gruß
  Mit Zitat antworten Zitat