Hallo,
wie kann ich mit Strg und Backspace den Teilinhalt eines Edits löschen?
Also es geht darum, dass fast jeder gute Editor mit Strg+Backspace und Strg+Delete den Inhalt des Edits bis zum nächsten "Stopzeichen" (i.d.R. Leertaste... Unter Delphi auch Klammern u.ä.) löscht. Nun für Strg+Del gehtdas schon mal.
Aber für Strg+BS bräuchte ich noch eine Lösung. Es handelt sich um ein Passwortfeld, also wird alles gelöscht:
Delphi-Quellcode:
procedure TFPasswort.EPasswordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Pass : string;
begin
// [Ctrl] + [Backspace] = Alles löschen
if ([ssCtrl] = Shift) and (Key = VK_BACK) then
begin
Pass := EPassword.Text;
Delete(Pass, 1, EPassword.SelStart);
EPassword.Text := Pass;
Key := 0;
end;
end;
Also an sich funktioniert das schon. Das Problem jetzt ist nur, dass danach noch ein Kästchen in der Selektion eingefügt wird.
So sieht es vorher aus (| = Cursor):
Zitat:
Ein |Passwort
Dann einmal Ctrl+BS:
Zitat:
|Passwort
MfG
xZise