![]() |
Objekt in Lazarus per Tastendruck bewegen!
Kann einer hier sagen wie man in Lazarus per Tastendruck Objekte bewegen kann?
Code:
ich bekomme hier immer eine Fehlermeldung bei VK_Right und VK_Left!
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin if (Shape1.Left<236) and (Shape1.Left>2) then begin case key of VK_RIGHT: Shape1.Left:=Shape1.Left+1; VK_LEFT : Shape1.Left:=Shape1.Left-1; end; end; end; |
Re: Objekt in Lazarus per Tastendruck bewegen!
Und welche? Oder ist das streng geheim?
|
Re: Objekt in Lazarus per Tastendruck bewegen!
Oh sorry hab ich vergessen:
Identifier not found "VK_RIGHT" |
Re: Objekt in Lazarus per Tastendruck bewegen!
Einmal gegoogelt und gleich der erste Treffer:
![]() |
Re: Objekt in Lazarus per Tastendruck bewegen!
Oder in der "%lazarus%\fpc\2.2.4\source\rtl\win\wininc\defines .inc" nachschauen. Vermutlich muss man dazu nur die richtige Unit einbinden (Windows wahrscheinlich).
|
Re: Objekt in Lazarus per Tastendruck bewegen!
Zitat:
Also ich hab hier die Liste verwendet hat mir jemand in der Schule gegeben weil ich gefragt hab: ![]() und da stehen genau die die ich verwendet hab drin! Sind die falsch? Edit: Oh beim runterscrollen kommt ja die liste und siehe da die gleichen befehle die ich verwendet hab(siehe code oben) Weiß denn keiner was ich falsch mache?(VK_RIGHT und VK_LEFT stehen doch da auch) |
Re: Objekt in Lazarus per Tastendruck bewegen!
Dort sind auch die Werte eingetragen, sodass du die im schlimmsten Fall selber definierst!
|
Re: Objekt in Lazarus per Tastendruck bewegen!
Selber definieren? Wie? Muss ich erst lernen!
|
Re: Objekt in Lazarus per Tastendruck bewegen!
Roter Kasten. Fail. Ich poste es trotzdem:
Die von dir verlinkte Textdatei hat mit der Fehlermeldung nichts zu tun. Lazarus kennt bei dir VK_RIGHT/VK_LEFT einfach nicht. Das sind schließlich nur Bezeichnungen für "Zahlen", die unter Delphi standardmäßig bekannt sind, weil die Unit, die die Definitionen enthält, wohl standardmäßig in der "uses"-Klausel steht. Damit es klappt musst du eben direkt die Werte der Konstanten angeben wie hier in meinem Beispiel, wobei die Werte aus der von daywalker9 verlinkten Liste kommen:
Delphi-Quellcode:
Oder du bindest eben die Unit ein, die diese Konstanten definiert. Welche das ist, weiß ich so direkt auch nicht, ich vermute, wie bereits von DeddyH erwähnt, "Windows"...
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin if (Shape1.Left<236) and (Shape1.Left>2) then begin case key of $27: Shape1.Left:=Shape1.Left+1; // VK_RIGHT = $27 $25 : Shape1.Left:=Shape1.Left-1; // VK_LEFT = $25 end; end; end; HTH Edit: Änder mal deine Signatur - die bringt dir sicher mehr Nach- als Vorteile :mrgreen: *SCNR* Edit2: Selber definieren geht so:
Delphi-Quellcode:
Das kommt unter den "type" Abschnitt der Unit, dann müsste es klappen.
const
VK_LEFT = $27; VK_RIGHT = $25; |
Re: Objekt in Lazarus per Tastendruck bewegen!
Ok danke erstmal
PS.: das mit dem von DeddyH war ja ne schöne idee wenn man soviel erfahrung hat und genau weiß wonach man in der Liste suche muss! Aber das weiß ich leider nicht! Ich denke das findet man einfach mit der Zeit raus^^ PS.: die signatur is nicht ernst gemeint und ich wußte das nunmal einfach nciht da ich es noch nie gemacht hab^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz