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"