Tastaturbedienung von nicht-Dokumenten-Fenstern

08/09/2007 - 19:50 von aclauss | Report spam
Ich habe noch ein kleines Problem mit der Tastaurbedienung von
nicht-dokumentenbasierten Fenstern, die nicht als modaler Dialog oder
Sheet geöffnet sind, also z.B. bei einem nicht-modalen
Einstellungsdialog. In einem solchen Fenster kann ich weder mit der
Tab-Taste zwischen den Textfeldern wechseln, noch reagieren Buttons mit
Tastaturkürzel auf die jeweiligen Tastendrücke (Nur wenn ich explizit
über [NSWindow setDefaultButtonCell:cell] den Default-Button setze, dann
reagiert dieser dann auf die Return-Taste, aber das wars dann auch
schon).

Mit Dokumenten-basierten Fenstern (NSDocument), oder
nicht-dokumentenbasierten Fenster die als Sheets oder modale Dialoge
geöffnet sind, gibt es dagegen keine Probleme mit der Tastaturbedienung.

Ich denke mal, daß da irgend etwas mit der Responder-Chain noch nicht
ganz stimmt, die ohne Dokument im Hintergrund nicht automatisch
verwaltet wird. Was habe ich hier übersehen?

Alexander
 

Lesen sie die antworten

#1 Florian Zschocke
09/09/2007 - 10:01 | Warnen spam
(Alexander Clauss) schrieb:

Ich habe noch ein kleines Problem mit der Tastaurbedienung von
nicht-dokumentenbasierten Fenstern, die nicht als modaler Dialog oder
Sheet geöffnet sind, also z.B. bei einem nicht-modalen
Einstellungsdialog. In einem solchen Fenster kann ich weder mit der
Tab-Taste zwischen den Textfeldern wechseln, noch reagieren Buttons mit
Tastaturkürzel auf die jeweiligen Tastendrücke (Nur wenn ich explizit
über [NSWindow setDefaultButtonCell:cell] den Default-Button setze, dann
reagiert dieser dann auf die Return-Taste, aber das wars dann auch
schon).

Mit Dokumenten-basierten Fenstern (NSDocument), oder
nicht-dokumentenbasierten Fenster die als Sheets oder modale Dialoge
geöffnet sind, gibt es dagegen keine Probleme mit der Tastaturbedienung.

Ich denke mal, daß da irgend etwas mit der Responder-Chain noch nicht
ganz stimmt, die ohne Dokument im Hintergrund nicht automatisch
verwaltet wird. Was habe ich hier übersehen?



Du meinst - (void)setNextKeyView:(NSView *)aView?

Gruß Florian

Ähnliche fragen