Autor Beitrag
Pandax3
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40
Erhaltene Danke: 1



BeitragVerfasst: Mi 30.03.11 21:37 
Hallo,
ich habe einen Button und ein Label, dass die Clicks zählt wie oft ich auf den Button gedrückt habe ;D
jetzt möchte ich aber, dass man mit der Maus auf den Button drückt und nicht mit der Enter Taste.

Also wenn man die Enter Taste gedrückt hält, bekommt man ca 100 cklicks in 4 sekunden - das möchte ich verhindern ;)

Also kann man es irgendwie so einstellen, dass man den Button nicht per Enter "aktivieren" kann?

Danke :D
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Mi 30.03.11 22:06 
Was mir spontan einfällt, wäre bei jedem Klick den Focus wieder auf ein anderes Element zu setzen. Kann es gerade nicht testen, probier es doch mal so. ;)

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Pandax3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40
Erhaltene Danke: 1



BeitragVerfasst: Mi 30.03.11 22:10 
Ich habe nur 1 Button in der Form ;D
und auf ein Label kann ich den Focus doch nicht richten, oder?
HenryHux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: Mi 30.03.11 22:13 
Wenns dirty sein soll mach doch nen invisible Button oder Edit Feld dem du den Focus gibst.
Ich glaube du kannst sogar deiner ganzen Form den Focus geben.
Einfach mal ausprobieren.

Lg


EDIT: Der ganzen Form den Focus geben, klappt. Aber Martoks Methode scheint ein bisschen besser =)


Zuletzt bearbeitet von HenryHux am Mi 30.03.11 22:16, insgesamt 1-mal bearbeitet
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 30.03.11 22:14 
Du könntest einen TSpeedButton statt eines TButtons verwenden. Der kann keinen Fokus erhalten, damit stellt sich das Problem gar nicht ;-)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."

Für diesen Beitrag haben gedankt: Pandax3
Pandax3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40
Erhaltene Danke: 1



BeitragVerfasst: Mi 30.03.11 22:50 
danke an alle ^^

Edit:
Ich kann den Focus an einen andere Button geben, der muss aber sichtbar sein.
An eine Form kann ich den Focus nicht geben. Jetzt hab ich allerdings nen Button ohne Funktion in der Form - auch net so schön xD

Wie machst du das, wenn du der ganzen Form den Focus gibst?
Quake User
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Do 31.03.11 00:08 
- Du solltest den Nutzer Deiner Programme nicht Deine Bedienweise aufzwingen. Eine Bedienung mit Tastatur muss auch möglich sein.
- Beschreib genauer was Du realisieren möchtest. Dann könnne wir Dir helfen.

Moderiert von user profile iconMartok: Komplettzitat des OP entfernt
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Do 31.03.11 00:17 
Für mich hörte es sich so an als arbeite er an einem Klickspiel wo es nicht sinnvoll ist einen Bug zu haben durch den man sich einen Vorteil verschaffen kann.
Deshalb wird er vermutlich das Drücken des Buttons durch Enter verhindern wollen. ;)

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Quake User
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Do 31.03.11 00:34 
user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Für mich hörte es sich so an als arbeite er an einem Klickspiel wo es nicht sinnvoll ist einen Bug zu haben durch den man sich einen Vorteil verschaffen kann.
Deshalb wird er vermutlich das Drücken des Buttons durch Enter verhindern wollen. ;)

In dem Fall sollte er einfach prüfen, ob ENTER gedrück wurde und das als Fehler ausgeben. Oder?
hirschv
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 31.03.11 16:09 
Wie wäre es wenn Du statt auf OnEnter einfach auf OnMouseDown reagierst?
Pandax3 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40
Erhaltene Danke: 1



BeitragVerfasst: Do 31.03.11 16:10 
ja, es soll ein Klickspiel werden ;)
aber das mit OnKeyPress oder OnKeyDown geht nicht. Er führt die aktion den Button zu drücken trotzdem aus :D
Wenn ich bei OnKeyDown auf VK_delete eine showmessage lege, dann zeigt er mir das Fenster, falls der Button im Focus ist - wenn ich bei OnKeydown VK_return darauf habe zeigt er mir kein Fenster bei showmessage, obwohl der Button im Focus ist ;O
Er ignorit also dann den Befehl Vk_Return - und die ButtonClicks gehn sehr schnell in die Höhe :D Wie Dude es bereits gesagt hat, man könnte es als Bug im Spiel bezeichnen xD

weiß einer was ich falsch mache? :D

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

user profile iconhirschv hat folgendes geschrieben Zum zitierten Posting springen:
Wie wäre es wenn Du statt auf OnEnter einfach auf OnMouseDown reagierst?

wie meinst du das?

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

So ich habe jetzt einen Speed Button für den Button genommen und schon klappt alles ;D
War wohl die einfachste Lösung.
Danke Martok und auch Danke an alle anderen :D
Quake User
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Fr 01.04.11 01:06 
user profile iconPandax3 hat folgendes geschrieben Zum zitierten Posting springen:
So ich habe jetzt einen Speed Button für den Button genommen und schon klappt alles ;D
War wohl die einfachste Lösung.
Danke Martok und auch Danke an alle anderen :D


Das ist eher ein "Workaround".
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Fr 01.04.11 13:43 
Ich verstehe nicht so ganz warum man dann nicht einfach auf onMouseDown statt onKeyDown o. onClick reagiert....
Dann noch die Abfrage ob mb_left und das wars.
hirschv
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 04.04.11 09:03 
Hallo,
ich meinte das so wie es Nicolas auch vorgeschlagen hat. Ich hatte das mal getestet und es scheint zu funktionieren. Eventueller Nachteil ist, das keine Tastaturbefehle akzeptiert werden (Der Button reagiert zwar visuell, es wird aber kein Event ausgelöst, bzw. behandelt), was aber in Deinem Sinne sein sollte ;-)

Gruß