WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Maus bzw. Mausklicks deaktivieren

 

rolewinski
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 10.02.10
Wohnort: Ingolstadt
Version: R2009b
     Beitrag Verfasst am: 06.04.2010, 13:33     Titel: Maus bzw. Mausklicks deaktivieren
  Antworten mit Zitat      
Hallo zusammen,

besteht eine Möglichkeit den Maus-Klick bzw. die gesamte Maus vorübergehend zu deaktivieren?
Ich habe von outsider die ins GUI integrierte waitbar bei mir eingebunden (integrierte Waitbar) --> vielen Dank outsider Smile
Ich möchte jedoch verhindern, dass während des Ablaufs (Aufruf mehrerer m-Files und paar Berechnungen) der User irgendwo hin klickt. Dies kann den Ablauf durcheinander bringen --> schlecht!

Vielleicht gibts auch noch ne andere Möglichkeit, außer gleich die Maus zu deaktivieren. Vielleicht einfach nur das "Reagieren" auf Rechts- und Links-klicks?!
Hatte vorher die Waitbar in dem gewohnten extra Fenster, welches ich modal gesetzt hatte ... daher "mußte" der User warten. Find die integrierte aber schicker.

Hat jemand ne Idee?

Danke und Grüße
Roland
Private Nachricht senden Benutzer-Profile anzeigen


Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 13:47     Titel:
  Antworten mit Zitat      
Vielleicht könntest Du mittels

Code:

waitfor(h,'PropertyName',PropertyValue);
 


alle Usereingaben stoppen, bis die waitbar einen bestimmten Wert erreicht hat bzw. fertig ist...
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 06.04.2010, 13:49     Titel:
  Antworten mit Zitat      
Hi,

ich glaube das wird schwierig zu realisieren, ich würde die Buttons deaktivieren ich glaube das ging so :

Code:

set(handles.button,'Enable','off');
 


Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 14:19     Titel:
  Antworten mit Zitat      
waitfor wäre sicherlich ziemlich aufwendig, da es ja den ganzen M-File sperrt...dafür könnte der User aber recht wenig machen...ich denke es kommt auf die Button-Anzahl an Laughing
Private Nachricht senden Benutzer-Profile anzeigen
 
rolewinski
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 10.02.10
Wohnort: Ingolstadt
Version: R2009b
     Beitrag Verfasst am: 06.04.2010, 14:25     Titel:
  Antworten mit Zitat      
die Variante mit dem waitfor klingt erstmal interessant. Allerdings wartet er ja wie gesagt, solange, bis ein gewisser Wert erreicht ist. Heißt aber auch ... er wartet und macht nicht weiter. Somit erfolgt ja auch kein Aufruf der m-Files / Berechnungen etc. Oder wie hattest du dir das vorgestellt? @zenon

@Oli: die Überlegung hatte ich auch schon, allerdings sind das mehr als 30 Buttons (für viele Eingabefelder + / -, Dropdownmenüs, etc) welche ich deaktivieren müßte. Dafür braucht er ja auch schon ne Weile. Oder kann ich über einen gewissen handle-Aufruf alle Buttons sperren? Das Problem ist ... ich habe mein controls mit Tags versehen und nicht mit handles. :-/

geplante Vorgehensweise genauer:
ich habe auf der GUI einen Button. diese ruft ein m-File auf, in welchem ein Stapel Files und Berechnungen nacheinander erfolgt. simples script. am Anfang sollte er quasi das GUI sperren, den Ladebalken aufrufen und nach jedem Aufruf eines Files bzw. Berechnung, den Status des Balkens anpassen. Am Ende des m-Files erfolgt die Freigabe des GUI ... so hatte ich mir es vorgestellt.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 06.04.2010, 14:39     Titel:
  Antworten mit Zitat      
Hallo

eventuell wäre linkprop interessant, damit kannst Eigenschaften von mehreren GUI- Objekten verlinken:
veränderst du dann die Eigenschaft von einem, ändert sich automatisch andere.


Code:

l_o = linkprop([handles.button1, handles.button2],{'Enable'});
set(handles.button1,'Enable','off');
 




http://blogs.mathworks.com/videos/2.....l-matlab-basics-linkprop/
Private Nachricht senden Benutzer-Profile anzeigen
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 14:50     Titel:
  Antworten mit Zitat      
Ich hatte mir das ungefähr so vorgestellt:

waitfor sperrt die nutzer eingaben inkl command window und dem m-File in dem es aufgerufen wird...du musst also ein anderes M-File starten welches Waitbar und File aufrufe koordiniert und die waitfor Eigenschaft (z.B: Stringwert) so ändert, das waitfor unterbrochen wird...

Wenn man ein neues GUI aufruft geht das ja auch...da hängt waitfor dann aber von der existenz der zweiten GUI ab, wird die gelöscht - endet waitfor. Wenn alles durch waitfor gesperrt würde, wäre die Propertyvariante vollkommen sinnlos...man muss sie eben nur in einem anderen M-File ändern...denke ich...
Private Nachricht senden Benutzer-Profile anzeigen
 
rolewinski
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 10.02.10
Wohnort: Ingolstadt
Version: R2009b
     Beitrag Verfasst am: 06.04.2010, 15:25     Titel:
  Antworten mit Zitat      
@denny ... linkprop kannte ich noch gar nicht. das werd ich mir mal genauer anschauen. sehr praktisch! Danke

@zenon ... ah ja, so ungefähr könnte das klappen.

eine "schmuddelige" Variante wäre ja einfach noch ein figure außerhalb des Sichtbereiches mit 'windowstyle','modal' aufrufen und nach Abarbeitung des m-Files wieder schließen. Wink

Ich werde die 3 Varianten mal durchgehen ... wird wohl nicht vor morgen. Ich geb bescheid!

Vielen Dank allen bis hierhin Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.