You are on page 1of 0

S DNG CNG C GUI LAYOUT

THIT K GIAO DIN TRONG MATLAB



Cng c GUI
m GUI Layout, t ca s lnh ca MatLab (MATLAB Command Window), chn menu File >
Show GUI Layout Tool. Ca s GUI Layout s c kch hot:



to ca s cho ng dng, click vo button Add Figure.

Cc nt lnh:

Axis
H trc ta
Static text: To vn bn tnh, thng dng cho cc nhn (label)
List box: Lit k mt danh sch
Check box:Hp kim tra
Scroll bar: Thanh trt
Push button:Nt lnh
Edit box: Hp son tho
Popup menu
Radio button
Phm
Th
Bo
Frame

to mt i tng trn ca s thit k, ta dng k thut drop-and-drag (ko v th): chn mt i
tng trn ca s Guide Control Panel, i tng tng ng trn ca s s chm xung. Di chuyn
mouse vo ca s thit k, con tr mouse s chuyn thnh , click mouse vo v tr cn t i
tng.

Mt v d v ca s ng dng nh sau:



Mt s thuc tnh cn ch ca cc i tng
thay i thuc tnh cc i tng trong ca s, ta chn menu Tools > Property Editor:


Ca s Property s c kch hot:


Cc thuc tnh cn ch :

Callback
Thuc tnh ny thng c s dng cho Push button, dng ch ra file .m no s c gi khi tc
ng ln i tng.
Tag
t nhn cho thuc tnh, dng truy xut n i tng (nn chn Tag cho cc i tng phi
khc nhau).
Value
Gi tr hin thi ca i tng (khng dng cho cc i tng Edit Text, Static Text, Push Button v
Frame).
Enable
Cho php (on) hay cm (off) ngi s dng tc ng ln i tng
String
Chui nhp s hin th trn i tng. i vi List box v Popup Menu, cc gi tr s c phn
cch bng du "|"
TooltipString
Ni dung Tool Tip (hng dn nhanh khi di chuyn mouse trn i tng).
Visible
Hin th (on) hay n (off) i tng trn ca s thit k.
BackgroundColor
Chn mu nn, thng dng gi tr [0.8 0.8 0.8] cho Static Text, Radio Button v Check box trng
vi mu nn ca ca s.

c hay ghi thuc tnh cc i tng
Ta dng cc hm set v get x l thuc tnh ca i tng H nh sau:
H = findobj('Tag','TagName');
set(H,'PropertyName1',PropertyValue1,'PropertyName2',PropertyValue2,)
V = get(H,'PropertyName')
Gi s ta thc hin mt ca s ng dng nh sau:



Ca s bao gm cc i tng vi cc thuc tnh:
- EditText:
'Tag' = 'EditTextSohang1'
'FontName' = 'VNI-Times'
- EditText:
'Tag' = 'EditTextSohang2'
'FontName' = 'VNI-Times'
- EditText:
'Tag' = 'EditTextKetqua'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'S hng 1:'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'S hng 2:'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'Php ton:'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'Kt qu:'
'FontName' = 'VNI-Times'
- PopupMenu:
'String' = 'cng|tr|nhn|chia'
'FontName' = 'VNI-Times'
'Tag' = 'PopupMenuPheptoan'
- PushButton:
'Callback' = 'tinh'
'String' = 'Tnh ton'
'FontName' = 'VNI-Times'

Lu ca s thit k (file example.m).

Khi thc hin chng trnh, nhn vo nt 'Tnh ton', chng trnh s thc hin gi hm tinh.m, ni
dung chng trnh tinh.m nh sau:

function tinh
a = findobj('Tag','EditTextSohang1'); %Ly handle ca Edit Text Sohang1
b = findobj('Tag','EditTextSohang2'); %Ly handle ca Edit Text Sohang2
c = findobj('Tag','PopupMenuPheptoan'); %Ly handle ca PopupMenu
d = findobj('Tag','EditTextKetqua'); %Ly handle ca Edit Text Ketqua
sh1 = get(a,'String');
if isempty(sh1)
sh1 = 0;
else
sh1 = str2num(sh1); %S hng 1
end;
sh2 = get(b,'String');
if isempty(sh1)
sh2 = 0;
else
sh2 = str2num(sh2); %S hng 2
end;
pt = get(c,'Value'); %Tm php ton thc hin
switch pt
case 1
kq = sh1 + sh2;
case 2
kq = sh1 - sh2;
case 3
kq = sh1 * sh2;
case 4
if (sh2 == 0)
set(d,'String','Li trong php chia');
return;
end;
kq = sh1 / sh2;
end;
kq = num2str(kq);
set(d,'String',kq); %a kt qu vo EditText Ketqua

You might also like