Thema: Delphi Strg+Backspace

Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#4

Re: Strg+Backspace

  Alt 7. Jul 2009, 08:41
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;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat