Einzelnen Beitrag anzeigen

TucTuc

Registriert seit: 20. Dez 2008
18 Beiträge
 
#10

Re: Tastenbestätigung in Delphi

  Alt 15. Mai 2010, 17:59
Delphi-Quellcode:
unit Tastendruck_Testprogramm;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    procedure Form1OnKeyPress(Sender: TObject; var Key: Word);
    procedure Label2Click(Sender: TObject);
    procedure A(Sender: TObject; var Key: Char); // Diese Zeile wird von Delphi automatisch generiert: OI -> Form1 -> Ereignisse -> OnKeyPress -> Doppelklick daneben, wie für alle anderen Ereignisse.
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1; // Taste muss keine globals Variable sein. Das Ereignis gibt dir ja immer die Taste.

implementation

{$R *.DFM}


procedure TForm1.A(Sender: TObject; var Key: Char);
begin
label1.Caption := 'A was pressed';
end;

procedure TForm1.Form1OnKeyPress(Sender: TObject; var Key: Word); // Diese Zeile erzeugt Delphi übrigens auch automatisch
begin
  label1.caption := 'nichts';
  if (Key = ord ('A')) then label1.caption := ('Taste A wurde gedrückt');
  if (Key = ord ('B')) then label1.caption := ('Taste B wurde gedrückt') else label1.caption := ('Keine Taste gedrückt');
  if (Key = vk_up) then label1.caption := ('Taste pfeil hoch wurde gedrückt');
  
end;

procedure TForm1.Label2Click(Sender: TObject);
begin
label1.Caption := 'label2press';
end;

end.
Also wenn ich auf Label 2 klicke wird in Label 1 "label2pressed" angezeigt, wenn ich A drücke wird "A was pressed" angezeigt, die OnKeyPressed Procedure funktioniert allerdings nicht.
Jetzt bin ich absolut ratlos...
liegt das an der Win32 Anwendung von Delphi 2007 oder woran liegt das nun :'-(

[Edit=Matze][delphi]-Tags geschlossen. MfG Matze[/edit]

Geändert von Matze (25. Jun 2010 um 06:13 Uhr)
  Mit Zitat antworten Zitat