Popup menude aynı listbox gibi birden cok secenekten birini secmek için kullanılır ve acılır menuye sahiptir. Listbox taki örnegimizin aynısını tekrarlayalım.
Figur yüzeyimize 1 tane popupmenu ve 2 tane statick text yerleştirin ve etiketi text1 olan static textin stringini ‘MESLEGINIZ’ olarak degistirin.text2 olanı ise bos bırakın. Ayrıca listboxta yaptıgımız islemleri tekrar ederek popup menuye asagıdaki gibi meslek girişlerini yapın
Seçiniz
OGRENCI
MUHENDIS
POLIS
RADYOLOG
EV HANIMI
AVUKAT
HEMSIRE
Seklinde meslekleri girin ve Ok tusuna basarak cıkın.Figur yüzeyimizin son görüntüsü aşağıdaki gibi olacaktır.
Popup menude seciniz 1 degerini ogrenci 2 degeri alır ve en son seçeneğe kadar böyle artan sırayla devam eder. Bu islemleri yaptıktan sonra bu figürü popup.fig olarak kaydedin. Ekrana gelecek olan m-fuction dosyasını aşağıdaki gibi kodlayın.
Figur yüzeyimize 1 tane popupmenu ve 2 tane statick text yerleştirin ve etiketi text1 olan static textin stringini ‘MESLEGINIZ’ olarak degistirin.text2 olanı ise bos bırakın. Ayrıca listboxta yaptıgımız islemleri tekrar ederek popup menuye asagıdaki gibi meslek girişlerini yapın
Seçiniz
OGRENCI
MUHENDIS
POLIS
RADYOLOG
EV HANIMI
AVUKAT
HEMSIRE
Seklinde meslekleri girin ve Ok tusuna basarak cıkın.Figur yüzeyimizin son görüntüsü aşağıdaki gibi olacaktır.
Popup menude seciniz 1 degerini ogrenci 2 degeri alır ve en son seçeneğe kadar böyle artan sırayla devam eder. Bu islemleri yaptıktan sonra bu figürü popup.fig olarak kaydedin. Ekrana gelecek olan m-fuction dosyasını aşağıdaki gibi kodlayın.
function varargout = popup(varargin)
% POPUP Application M-file for popup.fig
% FIG = POPUP launch popup GUI.
% POPUP('callback_name', ...) invoke the named callback.
if nargin == 0 % LAUNCH GUI
fig = openfig(mfilename,'reuse');
% Use system color scheme for figure:
set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));
% Generate a structure of handles to pass to callbacks, and store it.
handles = guihandles(fig);
guidata(fig, handles);
if nargout > 0
varargout{1} = fig;
end
elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK
try
[varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard
catch
disp(lasterr);
end
end
%| ABOUT CALLBACKS:
%| GUIDE automatically appends subfunction prototypes to this file, and
%| sets objects' callback properties to call them through the FEVAL
%| switchyard above. This comment describes that mechanism.
%|
%| Each callback subfunction declaration has the following form:
%| (H, EVENTDATA, HANDLES, VARARGIN)
%|
%| The subfunction name is composed using the object's Tag and the
%| callback type separated by '_', e.g. 'slider2_Callback',
%| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.
%|
%| H is the callback object's handle (obtained using GCBO).
%|
%| EVENTDATA is empty, but reserved for future use.
%|
%| HANDLES is a structure containing handles of components in GUI using
%| tags as fieldnames, e.g. handles.figure1, handles.slider2. This
%| structure is created at GUI startup using GUIHANDLES and stored in
%| the figure's application data using GUIDATA. A copy of the structure
%| is passed to each callback. You can store additional information in
%| this structure at GUI startup, and you can change the structure
%| during callbacks. Call guidata(h, handles) after changing your
%| copy to replace the stored original so that subsequent callbacks see
%| the updates. Type "help guihandles" and "help guidata" for more
%| information.
%|
%| VARARGIN contains any extra arguments you have passed to the
%| callback. Specify the extra arguments by editing the callback
%| property in the inspector. By default, GUIDE sets the property to:
%| ('', gcbo, [], guidata(gcbo))
%| Add any extra arguments after the last argument, before the final
%| closing parenthesis.
% --------------------------------------------------------------------
function varargout = popupmenu1_Callback(h, eventdata, handles, varargin)
% Stub for Callback of the uicontrol handles.popupmenu1.
global sec
sec=get(gcbo,'value')
x1=findobj(gcbf,'Tag','text2');
switch(sec)
case 2,
set(x1,'string','OGRENCI')
case 3,
set(x1,'string','MUHENDIS')
case 4,
set(x1,'string','POLIS')
case 5,
set(x1,'string','RADYOLOG')
case 6,
set(x1,'string','EV HANIMI')
case 7,
set(x1,'string','AVUKAT')
case 8,
set(x1,'string','HEMSIRE')
end
Bu kodlamada dikkat edilecek tek husus case yapısının 2 değerinden başlaması gerektiğidir. Nedeni seçiniz 1 değerini alıyorken meslek isimleri 2 değerinden başlayarak artıyor. İlk meslek olan ögrenci secenegi popup menunun 2 değerindedir. Geri kalan bütün kodlamalar listbox ile aynıdır. Programın görüntüsü aşağıdaki gibi olacaktır.