Hallo,
das ist das Zeichen 127 = DEL.
Das hat auch nichts mit
Unicode zu tun, es wird auch bei älteren Delphi-Versionen eingefügt.
= > Zeichen im Edit selektieren und durch SelText := '' löschen, Key = 0; hilft da nicht, denn zu dem Zeitpunkt ist das Zeichen schon im Edit eingetragen.
Nimm das Ereignis OnKeyUp, in OnKeyDown funktioniert das nicht:
Delphi-Quellcode:
procedure TFPasswort.EPasswordKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Pass : string;
begin
if ([ssCtrl] = Shift) and (Key = VK_BACK) then
begin
EPassword.SelLength := -1; //Zeichen vor SelStart markieren
EPassword.SelText := ''; //DEL löschen
Pass := EPassword.Text;
Delete(Pass, 1, EPassword.SelStart);
EPassword.Text := Pass;
//Key := 0; kannst Du Dir sparen
end;
end;