Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Re: Letzte gedrückte Taste aus dem System Speicher löschen ?

  Alt 16. Jun 2011, 12:06
Das KeyDown Ereignis bringt das gewünschte Ziel.
Und das klappt bei Dir?

Bei mir funktioniert folgender Code nicht:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Case Key Of
    54 : If (ssShift in Shift) Then Key:=0; // '&' einfach ignorieren
  End;
  Caption:=IntToStr(Key);
end;

end.
Zwar wird - wenn ich das '&' (Shift + 6) drücke - Key auf 0 gesetzt in meinem Edit1 erscheint dennoch das unliebsame '&'. Den Umweg über OnKeyPress(); wollte ich nicht gehen, weil ich in meinem Programm bereits eine sehr umfangreiche Procedure für OnKeyDown habe und es spätestens in ein paar Jahren sehr umständlich in der Wartung wird.
Wo liegt der Fehler bei mir?
Sollte es am Compiler von TurboDelphi liegen?


Ich wollte kein neues Thema aufmachen, weil schon die Frage wie die sprichwörtliche Faust aufs Auge passt und ich es daher sinnlos fand, genau dasselbe Thema erneut aufzumachen...

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat