Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: [Synedit] markierten text bei Tab nicht löschen

  Alt 18. Sep 2005, 07:17
Hai l0b0dy,
Zitat von n0b0dy:
Wie kann ich das denn verhindern?
Du hast einen kleinen (denk)fehler in deinem Code
Nach dem abarbeiten der OnKeyPress/OnKeyDown Methoden wird die gedrückte Taste trotzdem von dem Control verarbeitet. Bei dir bedeutet dies:
  • Aufrufen deiner OnKeyPress-Methode
  • Diese abarbeiten
  • Das Char welches in der Variablen Key steht an das Controll übergeben
  • Das Controll arbeitet weiter

Du musst also nur den Wert für Key ändern nachdem Du deine IF-Abfrage gemacht hast:

Delphi-Quellcode:
procedure TForm1.SynEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = Char(Vk_Tab)) and (Synedit1.SelLength > 0) then
  begin
    ShowMessage('huhu DP');
    Key := #0;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat