Autor Beitrag
Mäthew Glide
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Fr 22.10.10 19:43 
Hallo!
ICh habe ein Problem, ich habe versucht Snake zu programmieren gesteuert wird mit den PFeiltasten und gestartet über einen Start/pausebutton bei dem danach Enabled auf false gesetzt wird aber dann kann ich den Start/pausebutton nicht mehr benutzen. Nun ergibt sich aber folgendes Problem: Wenn ich nun Enabled auf true lasse, dann kann ich meine Schlange nicht steuern, da wenn ich die PFeiltasten bewege automatisch auf den Start/pausebutton geht.
ICh hoffe es ist in der richtigen Sektion gelandet :-)
Schonmal danke für die Hilfe im Vorraus :-)

mfg
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 22.10.10 20:08 
Stelle die Eigenschaft KeyPress des Formulares auf true.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 22.10.10 20:25 
Du meinst KeyPreview, oder?

_________________
We are, we were and will not be.
Mäthew Glide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Fr 22.10.10 20:29 
also KeyPress habe ich nicht gefunden nur KeyPreview und habe es auf true gesetzt doch leider hat dies auch nicht mein Problem gelöst. Es bleibt immer noch so dass sobald ich einen Richtungspfeil betätige der PauseButton angewählt wird.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 22.10.10 20:49 
Ein Workaround wäre, den Pausebutton wegzulassen, und dafür z.B. die Taste P oder die Leertaste zu benutzen. Es scheint so, als hätten die Pfeiltasten bei sowas Priorität zur Steuerung in der GUI. :nixweiss:

_________________
We are, we were and will not be.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 22.10.10 21:53 
user profile iconMäthew Glide hat folgendes geschrieben Zum zitierten Posting springen:
also KeyPress habe ich nicht gefunden nur KeyPreview und habe es auf true gesetzt doch leider hat dies auch nicht mein Problem gelöst. Es bleibt immer noch so dass sobald ich einen Richtungspfeil betätige der PauseButton angewählt wird.

Ja. KeyPreview meinte ich. Und was passiert, wenn du den Fokus nach dem Anklicken auf das Formular setzt?
Mäthew Glide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Fr 22.10.10 22:09 
Nein funktioniert springt trotzdem wieder auf den Start/PAusebutton.
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 22.10.10 22:28 
Tabstop vom Pausebutton auf False setzen?!
Mäthew Glide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Fr 22.10.10 22:52 
Nein passiert leider auch das gleiche werde wohl dann auf eine andere Steuerung ausweichen müssen
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Fr 22.10.10 23:07 
Nehme ein TImage statt dem Button und lade dort ein Bild von einem Button rein (zur Not Screenshot machen, in Paint rein, ausschneiden, speichern...)

Das ist zwar nicht so dolle, aber es funktioniert :mrgreen:

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Mäthew Glide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Fr 22.10.10 23:19 
Geil Auf diese MEthode muss man erstmal kommen gefällt mir aber :-) Danke für die Hilfe
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 22.10.10 23:26 
Dann sehen deine Buttons aber nie aus wie die des Systems und verhalten sich auch nicht so...

Dann schreibe ich doch einmal was intern passiert (dass das niemand von euch wusste... :shock: :D):
Zuerst wird die Message WM_GETDLGCODE geschickt. Wenn du in dieser DLGC_WANTARROWS zurückgibst, sagst du damit, dass du selbst diese Tastendrücke behandeln willst.
Andernfalls (eben standardmäßig) werden diese Tasten für den Wechsel des Fokus der Buttons usw. benutzt.

Um diese Botschaft abzufangen kannst du z.B. die WndProc überschreiben.