clusters Geschrieben 31. August 2010 Geschrieben 31. August 2010 Hallo ich hab ein kleines Problem, Folgendes: Ich habe ein Formular, auf dem sich ein Button befindet, dieser soll mit der Maus anklickbar bleiben, aber nicht auf [Enter] reagieren. Im Event 'OnKeyPress' des Buttons fange ich den eingegebenen Key ab. Das ist mein momentaner Code: void __fastcall TfrmMain::btnButtonKeyPress(TObject *Sender, char &Key) { if (Key == VK_RETURN) { Key = 0; } } Doch es funktioniert nicht, [Enter] kann man weiter betätigen und somit den Button auslösen. Ich hoffe auf korrektur Viele Liebe Grüße Julia Zitieren
Bubble Geschrieben 31. August 2010 Geschrieben 31. August 2010 Ich habe ein Formular, auf dem sich ein Button befindet, dieser soll mit der Maus anklickbar bleiben, aber nicht auf [Enter] reagieren. Warum willst Du das normale Verhalten unbedingt verändern? Auf einen Tastendruck im übergeordneten Fenster zu reagieren wird nichts bringen, da dieses Event zuerst an den Button gehen dürfte. Zitieren
clusters Geschrieben 31. August 2010 Autor Geschrieben 31. August 2010 Was kann ich dann unternehmen? Es muss ja irgendwie abzufangen sein. Zitieren
robotto7831a Geschrieben 31. August 2010 Geschrieben 31. August 2010 Wenn bei der Betätigung der Entertaste in einem Form der Button reagiert, dann müsste die Eigenschaft Default auf true stehen. Ich kann morgen noch mal nachschauen. Normalerweise reagiert der Button nur auf Enter wenn er den Focus hat. Frank Zitieren
Bubble Geschrieben 31. August 2010 Geschrieben 31. August 2010 Die eigentliche Frage nach dem warum hast Du leider nicht beantwortet. Immerhin sollte man von einem Verhalten, dass ein User erwarten darf, möglichst nicht abweichen. Was kann ich dann unternehmen? Im Zweifelsfall ein eigenes Button-Control schreiben. Allerdings ist das nicht unbedingt so einfach, wenn Barrierefreiheit vollständig unterstützt werden muss. Zitieren
clusters Geschrieben 31. August 2010 Autor Geschrieben 31. August 2010 Das ist eine lächerliche Aufgabe meines Programmier-Lehrers, ich muss gestehen, ich habe es nicht für nötig empfunden, dies mit anzugeben. Aufgabenstellung: "Programmieren Sie ein 'Mini-Spiel': Ein Button soll 'gefangen' werden, der Sich auf der Form zufällig sekündlich seine Position verändert." Da ich der Meinung bin, dass es nicht im Sinn des Spiels ist, den Button mit [Enter] zu betätigen, sondern ihn tatsächlich mit der Maus zu 'fangen', will ich also die [Enter]-Funktion unterbingen/verbieten. Aus dem Button ist nun ein Panel geworden, klappt so auch, ganz ohne der [Enter]-Funktion, gefällt mir allerdings nicht ganz so gut. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.