Ich habe auch was gefunden:
Ja, das funktioniert auch aber wie gesagt, nur wenn ich den Code in einem neuen leeren Projekt lege
Wenn Du aber ein paar Kontrolle (Z.B. TEdit, TRadioGroup) dazu auf Form legst, dann Du würdest wundern
Hier ist mein Demo.dpr mit OnkeyDown
Es funktioniert nicht richtig. Beim Bewegen von Panel, wechselt sich den Fokus zwischen dem Panel- und dem Edit- Controll !
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 =
class(TForm)
Panel1: TPanel;
RadioGroup1: TRadioGroup;
Edit1: TEdit;
procedure FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
procedure Panel1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
Panel1.SetFocus;
if (Key = 39)
then
Panel1.Left:= Panel1.Left+10;
if (Key = 37)
then
Panel1.Left:= Panel1.Left-10;
if (Key = 38)
then
Panel1.Top:= Panel1.Top-10;
if (Key = 40)
then
Panel1.Top:= Panel1.Top+10;
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
Panel1.SetFocus;
end;
end.
die Tastaturabfrage scheint ein großes Hobby von dir zu sein:
klick
Du verstehst meine Frage nicht
wenn Du das Project2.exe testest, dann würdest Du verstehen
Was ich nicht verstehe, warum Edit1 Inhalt markiert wird und den Fokus bekommt ?