ich würde gerne für ein Textfeld eine KeyReleasefcn einbinden. Leider kriege ich das mithilfe des Inspectors nicht hin. Kann mir hier vll jemand eine Möglichkeit sagen, wie ich für ein beliebiges textfeld eine solche Funktion einbinden kann?
Wenn ich dich richtig verstehe, suchen wir nach derselben Funktion...
...ich brauche sowas für eine Valedierung des Textfeldinhalts, während des Schreibens...habe aber noch nicht die optimale Lösung gefunden (wenn Du sie irgendwann kennst, sag mir Bescheid)...
Eine suboptimale Lösung ist das simple Nutzen der Callback funktion. Die löst nur aus, wenn sich etwas geändert hat (so lange man schnell schreibt oder gedrückt hält, sollte nichts passieren). Hört man aufzuschreiben, wird die Funktion ausgeführt...
Es kommt sicherlich drauf an, was Du insgesamt vor hast...
if cur_obj==handles.matedit1
edit1_key_press(handles) end
if cur_obj==handles.matedit2
edit2_key_press(eventdata,handles) end
% Abfragen von Tastatur kann man über Fenster function edit1_key_press(handles)
Key = get(handles.fig,'CurrentKey');
M = get(handles.fig,'CurrentModifier');
Ch = get(handles.fig,'CurrentCharacter');
switch Ch
case '['
fprintf('Klammer auf\n');
case ']'
fprintf('Klammer zu\n');
case{'0','1','2','3','4','5','6','7','8','9'} fprintf('Zahl\n');
case '.'
fprintf('Komma\n');
otherwise
Es funktioniert mit der KeyPressFcn ganz gut, nur gibt es ein Problem...
woher kann ich den aktuellen Inhalt des Feldes bekommen?
'String' ist solange leer bis ich aus der Editbox rausklicke...gerade wenn irgendwer auf die Idee kommt mit den Pfeiltasten zu arbeiten und dann auch noch Entf zu drücken brauche ich das ganze...oder hat da jemand eine Idee?
habe den Code unter 2009b gemacht. Habe jetzt unter 2007b ausprobiert, dort gibt es auch noch keine WindowsKeyReleaseFcn.
Also dann muss du es irgend wie über Java lösen, aber das mit einer gewissen Komplexität und einem gewissen Risiko verbunden.
Ich bin aber auf diesem Gebiet noch blutiger Anfänger.
EDIT: @Zenon
Was du vor hast , kannst du auch über KeyPressFcn nicht lösen.
Habe schon letzte Woche probiert, das kann man nur über Java lösen.
Du brauchst komplett eigenen Java Text Feld
hier was ich letzte Woche probiert habe, bekomme aber immer noch Null Point Exception:
Apropos für beide Felder habe ich unterschiedliche Wege probiert:
bei 2 Variante habe ich immer das Problem mit Cursor
handles.javaedit1.setText(handles.javaedit1.getText());
handles.javaedit1.Caret.setDot(handles.javaedit1.getText().length());
case '.'
fprintf('Komma\n');
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.