?? exm1153_1.m
字號:
function exm1153_1(flag)
if nargin<1;flag='startup';end %允許在無輸入宗量形式下調用該函數 <2>
if ~ischar(flag);error('flag must be character ''startup''.');end
switch flag %切換控制 <4>
case 'startup' % <5>
clf reset % <6>
set(gcf,'unit','normalized','position',[0.1,0.4,0.85,0.35]);
set(gcf,'defaultuicontrolunits','normalized');
set(gcf,'defaultuicontrolfontsize',11);
set(gcf,'defaultuicontrolfontname','隸書');
set(gcf,'defaultuicontrolhorizontal','left');
set(gcf,'menubar','none'); %刪除圖形窗工具條
str='通過多行指令繪圖的交互界面';
set(gcf,'name',str,'numbertitle','off'); %書寫圖形窗名
h_axes=axes('position',[0.05,0.15,0.45,0.70],'visible','off');
uicontrol(gcf,'Style','text',... %制作靜態文本框
'position',[0.52,0.87,0.26,0.1],...
'String','繪圖指令輸入框');
hedit=uicontrol(gcf,'Style','edit',... %制作可編輯文本框 <19>
'position',[0.52,0.05,0.26,0.8],... % <20>
'Max',2); %取2,使Max-Min>1,而允許多行輸入 <21>
hpop=uicontrol(gcf,'style','popup',... %制作彈出菜單 <22>
'position',[0.8,0.73,0.18,0.12],... % <23>
'string','spring|summer|autumn|winter');%設置彈出框中選項名 <24>
hlist=uicontrol(gcf,'Style','list',... %制作列表框 <25>
'position',[0.8,0.23,0.18,0.37],... % <26>
'string','Grid on|Box on|Hidden off|Axis off',...%設置列表框中選項名 <27>
'Max',2); %取2,使Max-Min>1,而允許多項選擇 <28>
hpush=uicontrol(gcf,'Style','push',... %制作與列表框配用的按鍵 <29>
'position',[0.8,0.05,0.18,0.15],'string','Apply');
set(hedit,'callback','exm1153_1(''set'')'); %編輯框輸入引起回調 <31>
set(hpop,'callback','exm1153_1(''set'')'); %彈出框選擇引起回調 <32>
set(hpush,'callback','exm1153_1(''set'')'); %按鍵引起的回調 <33>
set(gcf,'UserData',[hedit,hpop,hlist]); %向'UserData'存放圖柄 <34>
case 'set' %以下是回調函數 <35>
H=get(gcf,'UserData'); %從'UserData'獲取圖柄 <36>
ct=get(H(1),'string'); %獲得輸入的字符串函數 <37>
vpop=get(H(2),'value'); %獲得選項的位置標識 <38>
vlist=get(H(3),'value'); %獲得選項位置向量 <39>
if ~isempty(ct)
eval(ct') %運行從編輯文本框送入的指令
popstr={'spring','summer','autumn','winter'}; %彈出框色圖矩陣
liststr={'grid on','box on','hidden off','axis off'};%列表框選項內容
invstr={'grid off','box off','hidden on','axis on'};%列表框的逆指令
colormap(eval(popstr{vpop})) %采用彈出框所選色圖
vv=zeros(1,4);vv(vlist)=1;
for k=1:4
if vv(k);eval(liststr{k});else eval(invstr{k});end %按列表選項影響圖形
end
end % <50>
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -