Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50847, Antworten: 1390
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26606, Antworten: 4194
Gehe zum ersten neuen Beitrag Windows Oberfläche (Schrift,...
Aufrufe: 175, Antworten: 10
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 63, Antworten: 5
Gehe zum ersten neuen Beitrag TabCtrl
Aufrufe: 121, Antworten: 12
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 93, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 17, Antworten: 2
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 48, Antworten: 2
Gehe zum ersten neuen Beitrag McAfee AVERT Stinger...
Aufrufe: 12, Antworten: 0
Gehe zum ersten neuen Beitrag Sticky Password 6.0.2...
Aufrufe: 24, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24.09.2008, 11:13   #1 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 20.07.2005
Ort: Winnenden
Beiträge: 24
Frage Pfeiltasten nutzen, ohne Fokus zu verschieben

Hallo,

ich habe eine Windows Forms Application mit Visual Studio 2005 in C++ geschrieben. Auf dem Fenster sind ein paar Buttons, und das Programm soll sich auch über die Tastatur bedienen lassen, unter anderem mit den Pfeiltasten. Lästig ist aber, dass diese den Fokus zwischen den Buttons verschieben. Wie kann man das vermeiden?

Mehr Hintergrundinfo:
Das Programm soll mit dem Screenreader Jaws zusammenarbeiten. Dieser dient dazu, die Bildschirmanzeige für blinde und sehbehinderte Benutzer vorzulesen. Sie sollen das Programm einerseits per Tastatur bedienen können, aber auch die Buttons mittels Tab und Enter nutzen können. Die Pfeiltasten stören dabei, zumal Jaws bei jeder Verschiebung des Fokus den Button ansagt. Das ist sehr lästig.

Die Tastatureingaben werden in den Ereignisbehandlungsmethoden KeyDown, KeyPress und KeyUp in der Klasse Form1 (abgeleitet von class Form) verarbeitet. Ich habe schon versucht, e->Handled = true zu setzen (im Methodenparameter KeyEventArgs e), aber das bringt es nicht.
Megatherium ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 27.09.2008, 21:32   #2 (Direktlink)
Forenmaskottchen
 
Registriert seit: 01.06.2005
Alter: 22
Beiträge: 776
Standard

Zitat:
Zitat von Megatherium Beitrag anzeigen
Hallo,

ich habe eine Windows Forms Application mit Visual Studio 2005 in C++ geschrieben. Auf dem Fenster sind ein paar Buttons, und das Programm soll sich auch über die Tastatur bedienen lassen, unter anderem mit den Pfeiltasten. Lästig ist aber, dass diese den Fokus zwischen den Buttons verschieben. Wie kann man das vermeiden?

Mehr Hintergrundinfo:
Das Programm soll mit dem Screenreader Jaws zusammenarbeiten. Dieser dient dazu, die Bildschirmanzeige für blinde und sehbehinderte Benutzer vorzulesen. Sie sollen das Programm einerseits per Tastatur bedienen können, aber auch die Buttons mittels Tab und Enter nutzen können. Die Pfeiltasten stören dabei, zumal Jaws bei jeder Verschiebung des Fokus den Button ansagt. Das ist sehr lästig.

Die Tastatureingaben werden in den Ereignisbehandlungsmethoden KeyDown, KeyPress und KeyUp in der Klasse Form1 (abgeleitet von class Form) verarbeitet. Ich habe schon versucht, e->Handled = true zu setzen (im Methodenparameter KeyEventArgs e), aber das bringt es nicht.
Hallo,
i-wie versteh ich nicht so ganz was du erreichen willst:
Wenn es per Pfeiltasten genutzt werden soll, muss der Fokus doch mitwandern, sonst hat das doch keinen Sinn? Klär mich mal auf^^...
P!lle ist offline   Mit Zitat antworten
Alt 01.10.2008, 17:30   #3 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 20.07.2005
Ort: Winnenden
Beiträge: 24
Standard

Wenn das Programm durch die Tastatur bedient werden soll, dann unter Umgehung der Buttons. Eine Tastatureingabe soll nicht einen Button auslösen, sondern wird in der entsprechenden Ereignisbehandlungs-Methode verarbeitet.

Eine Alternative wäre es, eine bestimmte Tastatureingabe mit einem Button zu verknüpfen. Also wenn der Benutzer z.B. Pfeil nach rechts drückt, dann wäre das wie ein Klick auf einen bestimmten Button, der dieser Taste zugeordnet ist. Ideal wäre diese Lösung aber nicht. Ich weiß auch gar nicht, ob das geht.
Megatherium ist offline   Mit Zitat antworten
Alt 01.10.2008, 20:09   #4 (Direktlink)
Forenmaskottchen
 
Registriert seit: 01.06.2005
Alter: 22
Beiträge: 776
Standard

Zitat:
Zitat von Megatherium Beitrag anzeigen
Wenn das Programm durch die Tastatur bedient werden soll, dann unter Umgehung der Buttons. Eine Tastatureingabe soll nicht einen Button auslösen, sondern wird in der entsprechenden Ereignisbehandlungs-Methode verarbeitet.
Hmm, eine Möglichkeit wäre alle Buttons zu "deaktivieren" wenn das Programm per Tastatur gesteuert werden soll. Weiß ja nicht ob das zu Anfang ausgewählt wird? Oder ob es einfach über beides gesteuert werden soll.

Zitat:
Zitat von Megatherium Beitrag anzeigen
Eine Alternative wäre es, eine bestimmte Tastatureingabe mit einem Button zu verknüpfen. Also wenn der Benutzer z.B. Pfeil nach rechts drückt, dann wäre das wie ein Klick auf einen bestimmten Button, der dieser Taste zugeordnet ist. Ideal wäre diese Lösung aber nicht. Ich weiß auch gar nicht, ob das geht.
Das wäre auch Möglich, dann halt einfach die gleiche Funktion rufen bei der Tastatureingabe bzw. beim Klick auf den Button...

Ich guck noch ob man den Fokus deaktivieren kann i-wie...
P!lle ist offline   Mit Zitat antworten
Alt 06.10.2008, 14:14   #5 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 20.07.2005
Ort: Winnenden
Beiträge: 24
Standard

Zitat:
Zitat von P!lle Beitrag anzeigen
Das wäre auch Möglich, dann halt einfach die gleiche Funktion rufen bei der Tastatureingabe bzw. beim Klick auf den Button...
Das ist genau das, was ich im Moment programmiert habe. Jeder Button ist mit einer Funktion verknüpft, die bei Klick aufgerufen wird. Eine Tastatureingabe, die der Funktion zugeordnet ist, führt (über KeyPress oder KeyUp) ebenfalls zum Aufruf der Funktion.

Wenn man aber jetzt eine Pfeiltaste einer Funktion zugeordnet hat, dann wird nicht nur die Funktion aufgerufen, sondern auch der Fokus von dem Button, wo er gerade ist, zum nächsten geschoben. Und der Screenreader sagt den neuen Button brav an, weil das ja nötig ist, damit der Benutzer weiß, welchen Button er mittels Enter klicken kann.
Megatherium ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 11.10.2008, 09:53   #6 (Direktlink)
Forenmaskottchen
 
Registriert seit: 01.06.2005
Alter: 22
Beiträge: 776
Standard

Also, nochmal kurz zusammengefasst:
- man soll das Programm ganz "normal" per Maus bedienen können
- man soll das Programm per Shortcuts bedienen können

Das bedienen mittels Pfeiltasten & Enter soll aber NICHT möglich sein, richtig?
P!lle ist offline   Mit Zitat antworten
Alt 11.10.2008, 19:28   #7 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 20.07.2005
Ort: Winnenden
Beiträge: 24
Standard

Ja genau, das Programm soll per Maus und auch per Tastaturbefehle (Shortcuts) bedienbar sein.
Es wäre schön, wenn auch die Pfeiltasten als shortcuts verwendet werden könnten. Das würde gut in das Bedienungskonzept passen. Im Prinzip geht das auch, aber es stört eben die Fokusverschiebung. Man kann es Jaws nicht abgewöhnen (habe ich zumindest nicht geschafft) dass es bei jeder Fokusverschiebung den neuen Button vorliest, und das stört.

Also nochmal, um es ganz klar zu machen: Die Pfeiltasten sollen nicht so verwendet werden, dass man damit den Fokus zum richtigen Button schiebt und dann Enter drückt. Sondern die zugeordnete Funktion des Programms soll durch den Druck auf die Pfeiltaste direkt ausgelöst werden.
Megatherium ist offline   Mit Zitat antworten
Alt 20.12.2008, 22:25   #8 (Direktlink)
Forenmaskottchen
 
Registriert seit: 01.06.2005
Alter: 22
Beiträge: 776
Standard

Hallo,
wurde hier bereits eine Lösung gefunden oder besteht das Problem weiterhin?
Hatte leider noch keine Zeit mich näher damit zu beschäftigen...
P!lle ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

Lesezeichen

Stichworte
buttons, fokus, pfeiltasten

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PCMCIA (datenkarten) auf laptop ohne PCMCIA slot nutzen ? chaos123401 Hardware - Problemlösungen 2 19.03.2007 20:59
Dsl nutzen ohne T-Online Software berto Netzwerke 5 11.03.2007 11:04
Fokus Problem beim Start Button monze Software - Allgemein 0 11.08.2004 01:34
Steuerung von seriellerRelaiskarte via Pfeiltasten Quelltext Tüftler Allgemein 0 15.04.2004 20:22



Alle Zeitangaben in WEZ +2. Es ist jetzt 05:01 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2