ich programmiere gerade an einer GUI und das Fenster in Standardgröße wird langsam voll. Mit der Property 'Position' kann ich das Fenster ja schön vergrößern, allerdings geht das dann über den Bildschirmrand hinaus, wenn ich es ausführe.
Kann ich das nicht irgendwie mit Slidern/Scrollbars steuern?
Quasi so wie im Bearbeitungsmodus, genau so brauch ich das
Gibt es eine Einstellung, dass das automatisch abläuft, oder muss man sich das programmieren? (naja, letzteres ist sicher nicht kompliziert, als Anfänger ist man da aber gleich überfordert...)
Hab im Forum schon nach Ähnlichem gesucht, aber nichts gefunden. Ihr könnt mir gern einfach nen Verweis auf einen alten Thread geben!
Hi!
Von einer automatisierten Lösung weiß ich nichts (lass mich aber gern belehren )
Wenn ich sowas brauch, mach ich es in etwa so:
Code:
hf=figure('Position',[500400500400]);
hcontainer=uipanel('parent',hf,'units','pixels','position',[0202000390],'Bordertype','none');
uicontrol('style','slider','parent',hf,'position',[0050020],'Min',0,'max',2000-500,'value',0,'callback',{@slider_Callback});
for count=1:20 uicontrol('Style','pushbutton','parent',hcontainer,'Position',[(2000-100)*count/202005030],'String',num2str(count)) end
function slider_Callback(source,eventdata) set(hcontainer,'Position',[-get(source,'Value')202000390]) end
danke für deinen "Input". Hab mir schon gedacht, dass das mit nem Panel gehen müsste, das man dann verschiebt. Hab jetzt noch ein bisschen rumspielen müssen, bis ich das soweit in meine Oberfläche eingearbeitet hatte, aber jetzt funktionierts
Der Trick ist nämlich, dass man sich das Figure im Bearbeitungsmodus schön groß macht und dann beim Ausführen, zum Beispiel in der Open Function (weiß jetzt grad nicht genau wie die heißt...), das Fenster auf die gewünschte Größe verkleinert.
Verfasst am: 27.11.2008, 09:16
Titel: Mit Mausrad srollen??
Hallo nochmal an alle!
Nachdem das jetzt mit dem Slider klappt, stellt sich die nächste Frage:
Kann man den Slider auch mit dem Mausrad / Scrollrad bedienen (ansteuern)?
Mir ist aufgefallen, das das komplette Matlab nicht das Mausrad nützt... Schade eigentlich. Gibts da ne Einstellung dafür?
irgendwo im Code deiner GUI unterzubringen (am besten irgendwo am Ende der Initialisierung). Beachte dass an der Stelle, wo diese Zeile untergebracht ist, handles.uipanel11 und handles.slider3 schon existieren müssen (und mit den richtigen Werten belegt).
Sodele, habs ne zeitlang liegen lassen und jetzt ganz schnell gelöst
Code:
function figure1_WindowScrollWheelFcn(hObject, eventdata, handles)
a = get(handles.slider3,'Value');
a = a - eventdata.VerticalSrollCount;
set(handles.slider3,'Value',a);
set(hanldes.uipanel11,'Position',[0 -a 217100];
Sicher nicht die professionellste Lösung, aber es funktioniert...
Mfg
Robert
Einstellungen und Berechtigungen
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.