AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Radiobutton per Taste auslösen?
Thema durchsuchen
Ansicht
Themen-Optionen

Radiobutton per Taste auslösen?

Ein Thema von Astobix · begonnen am 26. Dez 2012 · letzter Beitrag vom 26. Dez 2012
 
Astobix

Registriert seit: 26. Dez 2012
26 Beiträge
 
Delphi 6 Personal
 
#1

Radiobutton per Taste auslösen?

  Alt 26. Dez 2012, 16:23
Hallo,

Erstmal möchte ich mich entschuldigen für diese "Noob - Frage" Ich bin ziemlich neu im Programmierbereich ( habe vor 3-4 Tagen damit angefangen.) Aktuell benutze ich Lazarus, da ich erstmal in das Programmieren reinschnuppern wollte ohne direkt (viel) Geld dafür auszugeben. Soviel zu meinem "Hintergrund", kommen wir jetzt zu dem Grund für diesen Thread.

Ich wollte ein Spiel programmieren, wo ich etwas per WASD / Pfeiltasten steuern kann. Als ganz simplen Anfang hatte ich mir gedacht, das ich per Canvas einen Kreis zeichne den ich dann eben mit den Tasten steuern kann. Man müsste dann irgendwelchen Dingen ausweichen oder irgendwas in die Richtung. Doch da hab ich schon das Problem: Ich weiß nicht wie ich einen Befehl machen kann, durch den eine Sache passiert wenn eine gewisse Taste gedrückt ist.

Meine Idee war, 5 Radiobuttons zu machen (Caption: &w, &a, &s, &d, Nichts). Ich hab irgendwo gelesen oder gehört, dass man mit dem & - Zeichen den Radiobuttons Tasten zuweisen kann.
Danach habe ich bei folgende Prozedur geschrieben:
Delphi-Quellcode:
procedure TForm1.RadioButton1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  RadioButton1.Checked:=true;
end;
Radiobutton1 ist in dem Fall "&w". Das habe ich ebenso bei "&a","&s","&d" gemacht. Anschließend habe ich eine OnKeyUp Prozedur für alle geschrieben:
Delphi-Quellcode:
procedure TForm1.RadioButton1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  RadioButton5.Checked:=true;
end;
RadioButton5 ist der Radiobutton ohne Funktion (Caption: Nichts).
Was ich mir jetzt gedacht habe, war folgendes:
Immer wenn ich eine Taste jetzt drücke, Wird der Radiobutton der zu der Taste gehört aktiviert. Lasse ich sie wieder los, wird der "neutrale" Radiobutton aktiviert.

Tatsächlich aber beginnt das Programm verrückt zu spielen. Erst 1-2 Sekunden nachdem ich W gedrückt habe, wird der Radiobutton1 aktiviert. Wenn ich die Taste loslasse aktiviert er sofort zu Radiobutton5 (gut!) und danach hat es den Anschein dass es funktioniert (drückt man nochmal W aktiviert er sofort Radiobutton1). Doch wenn ich jetzt z.b. A drücke, aktiviert er zuerst Radiobutton1 erneut und etwas später erst Radiobutton2. Das ganze bewirkt, dass mein "Spiel" nicht möglich wäre, weil die Steuerung nicht ordentlich funktioniert.

Jetzt die Fragen an euch:
1. Warum passiert das? (Würde meinem Verständniss weiterhelfen )
2. Wie kann ich es ändern?
3. Gibt es andere Möglichkeiten ohne Radiobuttons die sinnvoller sind?

Ich bitte euch, bei euren Antworten darauf zuachten, dass ich noch ganz am Anfang bin. Ich würde mich wirklich sehr über einige Hilfe freuen, weil ich selber nichts gefunden habe, dass mein Problem löst

Gruß,
Astobix

Geändert von Astobix (26. Dez 2012 um 16:27 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 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