Sonntag, 11. Juli 2010

Pfeiltasten im GUI abfangen

Wie kann man in einem Matlab GUI Tastendrücke (Pfeiltasten) abfangen?
 Zunächst muss der Callback dem GUI Handle zugewiesen werden

set(handles.myGUI,'KeyPressFcn',{@KeyPress,handles.myGUI});

Anschließend muss noch die Callback-Function deklariert werden. Hier wird unterschieden welche Taste gedrückt wurde.

function KeyPress(src,eventdata,h)
   disp(eventdata.Key); % optional: Tastenname anzeigen
    handles = guidata(h); % optional: gesamte Handlesstruktur des GUI auslesen
switch eventdata.Key % Unterscheiden welche Taste gedrückt wurde (nur wenn mehrere Tasten möglich sind)
    case 'uparrow'
        disp('Uparrow pressed');
    case 'downarrow'
        disp('Downarrow pressed');
    case 'rightarrow'
        disp('Rightarrow pressed');
    case 'leftarrow'
        disp('Leftarrow pressed');
end

Keine Kommentare:

Kommentar veröffentlichen