Разработка графического пользовательского интерфейса в среде MATLAB. Бадриев И.Б - 45 стр.

UptoLike

3 Ñîçäàíèå ïðîñòîãî ïðèëîæåíèÿ â ñðåäå GUIDE                 45


ðàçèòü ñâîéñòâà êíîïêè "Ïîñòðîèòü" è ïîñìîòðåòü, ÷åìó ðàâ-
íî çíà÷åíèå åå ñâîéñòâà Callback, òî ñòàíåò ïîíÿòíî, ÷òî ïðè
âîçíèêíîâåíèè ñîáûòèÿ Callback êíîïêè âûçûâàåòñÿ ôóíêöèÿ
btnPlot: graphic('btnPlot_Callback',gcbo,[],guidata(gcbo)). Òî-
ãäà â ïîëå gui_Callback ñòðóêòóðû gui_State çàíîñèòñÿ ñî-
îòâåòñòâóþùèé óêàçàòåëü ïðè ïîìîùè ôóíêöèè str2func.

  Çàìå÷àíèå 3.7 Ôóíêöèÿ str2func êîíñòðóèðóåò óêàçà-
òåëü íà ôóíêöèþ, çàäàííóþ ñòðîêîé, íàïðèìåð:
  ¿ f=str2func('exp')

  f = @exp


  Ñëåäóþùèé îïåðàòîð if ïðîâåðÿåò, áûëà ëè ôóíêöèÿ graphic
âûçâàíà ñ âûõîäíûìè àðãóìåíòàìè (çíà÷åíèå nargout ðàâíî
÷èñëó âûõîäíûõ àðãóìåíòîâ), è âûçûâàåò ñïåöèàëüíóþ ôóíê-
öèþ gui_mainfcn îò ñòðóêòóðû gui_State è âõîäíûõ àðãóìåí-
òîâ graphic.
  Ïðè ïåðâîì âûçîâå âõîäíûõ àðãóìåíòîâ íå áûëî, è ôóíê-
öèÿ gui_mainfcn ñîçäàåò îêíî ïðèëîæåíèÿ. Ïîñëåäóþùèå âû-
çîâû graphic ñ âõîäíûìè àðãóìåíòàìè, ñâÿçàííûå ñ âîçíèêíî-
âåíèåì ñîáûòèé îò ýëåìåíòîâ óïðàâëåíèÿ, ïðèâåäóò ê îáðà-
ùåíèþ ê ñîîòâåòñòâóþùèì ïîäôóíêöèÿì îáðàáîòêè ñîáûòèé
â graphic.m. Ýòî ìîæíî ïðîñëåäèòü ïóòåì ïîøàãîâîãî âûïîë-
íåíèÿ ïðîãðàììû â ðåäàêòîðå M-ôàéëîâ.