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

Messagebox in den Vordergrund setzen

 

MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 19.07.2012, 18:57     Titel: Messagebox in den Vordergrund setzen
  Antworten mit Zitat      
Hallo,

wen ich meine GUI starte, fange ich in der _OpeningFcn Fehler ab. Ich möchte im Falle von Fehlern Meldungen über Messageboxen ausgeben. Das gelingt auch. Leider bekomme ich es nicht hin, diese Messageboxen in den Vordergrund zu setzen. Die GUI setzt sich stets automatisch in den Vordergrund. Wie kann ich das gewünschte Verhalten bewirken?

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


Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 19.07.2012, 19:25     Titel:
  Antworten mit Zitat      
Hey,

eigentlich geht das mit modal z.B.
Code:

msgbox('bla','bla','modal');
 


Wenn aber jetzt deine figure auch modal (windowstyle) ist solltest du die figure erst visible on setzten und dann deine msgbox aufrufen. Ich denke so sollte es klappen.
Code:

set(hObject,'Visible','on')
msgbox('bla','bla','modal');
 


Greetings
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Themenstarter

Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 19.07.2012, 19:52     Titel:
  Antworten mit Zitat      
Danke für deinen Tipp. Sowas hatte ich bereits probiert. Es brachte leider nicht den gewünschten Erfolg.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.07.2012, 07:40     Titel:
  Antworten mit Zitat      
Hallo MaFam,

Was heißt das nun? Funktioniert der Vorschlag oder gibt es immer noch Probleme? Im letzteren Fall: welche Probleme?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 20.07.2012, 08:13     Titel:
  Antworten mit Zitat      
Hey MaFam,

das sollte aber so klappen. Es muss natürlich sichergestellt sein, dass die msgbox die letzte figure ist die auf modal gestellt wir...

Greetings
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Themenstarter

Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 20.07.2012, 08:24     Titel:
  Antworten mit Zitat      
Hallo Jan,

es brachte nicht den gewünschten Erfolg heißt, dass die Messageboxen nach wie vor von der GUI überlagert werden.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Themenstarter

Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 20.07.2012, 08:29     Titel:
  Antworten mit Zitat      
@Marco: Hier mein Code. Vielleicht habe ich etwas übersehen.

Code:

% --- Executes just before Approximation is made visible.
function Approximation_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Approximation (see VARARGIN)

% Choose default command line output for Approximation
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes Approximation wait for user response (see UIRESUME)
% uiwait(handles.Approximation);

%Defaults für Checkboxen und Radiobuttons setzen
set(handles.radiobuttonnorm,'Value',1);
set(handles.checkboxboxplot,'Value',1);
set(handles.checkboxoverwrite,'Value',0);

listfilenamesresults=getfilenamelist('Ergebnisse','xls');
set(handles.popupmenuresults, 'String', listfilenamesresults);

try
   [status,sheets] = xlsfinfo('Datenbank.xls');
   setappdata(handles.Approximation,'sheets',sheets);
   set(handles.popupmenudiscipline, 'String', sheets);  
   
   try
   %Vollständige Datenbank in den Speicher laden
   hw = waitbar(0,'Vollständiges Abbild der Testdaten im Speicher...');
   steps = length(sheets);
   for step = 1:steps
      % computations take place here
      CompleteData{step}=xlsread('Datenbank.xls',sheets{step});
      waitbar(step / steps)
   end
   close(hw)
   
   %Daten in der GUI verfügbar machen
   setappdata(handles.Approximation,'CompleteData',CompleteData);
   
   catch errload
       close(hw)
       hm = msgbox('Die Datenbank ist zwar vorhanden, konnte jedoch nicht geladen werden. Es liegt wahrscheinlich eine Formatierungsfehler vor oder die Datei ist noch geöffnet.','Ladefehler','error','modal');
       set(hm,'Visible','on');    
   end
 
catch errcheck
    hm = msgbox('Die Datei "Datenbank.xls" ist nicht vorhanden. Datei ins Verzeichnis kopieren und neu starten.','Datei nicht vorhanden','error', 'modal');
    set(hm,'Visible','on');
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 20.07.2012, 08:52     Titel:
  Antworten mit Zitat      
Hey,

ja so wie du es gemacht hattest meinte ich das nicht. Du musst bevor du die msgbox erstellst deine GUI visible on schalten. Also so:

Code:

set(hObject,'visible','on')
catch errload
       close(hw)
       msgbox('Die Datenbank ist zwar vorhanden, konnte jedoch nicht geladen werden. Es liegt wahrscheinlich eine Formatierungsfehler vor oder die Datei ist noch geöffnet.','Ladefehler','error','modal');    
   end
 
catch errcheck
    msgbox('Die Datei "Datenbank.xls" ist nicht vorhanden. Datei ins Verzeichnis kopieren und neu starten.','Datei nicht vorhanden','error', 'modal');
end
 


Greetings
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Themenstarter

Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 20.07.2012, 09:05     Titel:
  Antworten mit Zitat      
Gut, das probiere ich heute Abend mal aus. Danke dir!
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Themenstarter

Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 20.07.2012, 09:18     Titel:
  Antworten mit Zitat      
Im übrigen verstehe ich auch jetzt den Befehl. In den Kommentaren steht ja "% --- Executes just before Approximation is made visible. " Dann ist klar, dass man die Sichtbarkeit erstmal auf true setzen muss!
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Themenstarter

Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 20.07.2012, 16:56     Titel:
  Antworten mit Zitat      
Habs's gerade getestet. Funktioniert prima. Danke!
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.