Entwickler-Ecke
Sonstiges (Delphi) - Problem mit Pause Button
Mäthew Glide - Fr 22.10.10 19:43
Titel: Problem mit Pause Button
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
Delete - Fr 22.10.10 20:08
Stelle die Eigenschaft KeyPress des Formulares auf true.
Gausi - Fr 22.10.10 20:25
Du meinst KeyPreview, oder?
Mäthew Glide - 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 - 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:
Delete - Fr 22.10.10 21:53
Mäthew Glide hat folgendes geschrieben : |
| 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 - Fr 22.10.10 22:09
Nein funktioniert springt trotzdem wieder auf den Start/PAusebutton.
FinnO - Fr 22.10.10 22:28
Tabstop vom Pausebutton auf False setzen?!
Mäthew Glide - Fr 22.10.10 22:52
Nein passiert leider auch das gleiche werde wohl dann auf eine andere Steuerung ausweichen müssen
Xion - 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:
Mäthew Glide - Fr 22.10.10 23:19
Geil Auf diese MEthode muss man erstmal kommen gefällt mir aber :-) Danke für die Hilfe
jaenicke - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!