对话框设计:在图形用户界面程序设计中,对话框是重要的信息显示和获取输入数据的用户界面对象。
1、公共对话框:
公共对话框是利用windows资源的对话框,包括文件打开、文件保存、颜色设置、字体设置、打印设置等。
1) 文件打开对话框:用于打开文件
uigetfile
uigetfile(‘FilterSpec’)
uigetfile(‘FilterSpec’,’DialogTitle’)
uigetfile(‘FilterSpec’,’DialogTitle’,x,y)
[fname,pname]=uigetfile(…)
2) 文件保存对话框:用于保存文件
uiputfile
uiputfile(‘InitFile’)
uiputfile(‘InitFile’,’DialogTitle’)
uiputfile(‘InitFile’,’DialogTitle’,x,y)
[fname,pname]=uiputfile(…)
3) 颜色设置对话框:用于图形对象颜色的交互设置
c=uisetcolor(‘h_or_c,’DialogTitle’)
4) 字体设置对话框:用于字体属性的交互式设置
uisetfont
uisetfont(h)
uisetfont(S)
uisetfont(h,’DialogTitle’)
uisetfont(S,’DialogTitle’)
S=uisetfont(…)
5)打印设置对话框:用于打印页面的交互式设置
dlg=pagesetupdlg(fig)
pagedlg
pagedlg(fig)
6) 打印预览对话框:用于对打印页面进行预览
printpreview
printpreview(f)
7) 打印对话框:
printdlg
printdlg(fig)
printdlg(‘-crossplatform’,fig)
printdlg(-‘setup’,fig)
2、MATLAB专用对话框
1)错误信息对话框:用于提示错误信息
errordlg 打开默认的错误信息对话框
errordlg(‘errorstring’) 打开显示’errorstring’信息的错误信息对话框
errordlg(‘errorstring’,’dlgname’) 打开显示’errorstring’信息的错误信息对话框,对话框的标题由‘dlgname’指定
erordlg(‘errorstring’,’dlgname’,’on’) 打开显示’errorstring’信息的错误信息对话框,对话框的标题由‘dlgname’指定. 如果对话框已存在,’on’参数将对话框显示在最前端。
h=errodlg(…) 返回对话框句柄
例:errordlg('输入错误,请重新输入','错误信息')
2) 帮助对话框:用于帮助提示信息
helpdlg 打开默认的帮助对话框
helpdlg(‘helpstring’) 打开显示’errorstring’信息的帮助对话框,
helpdlg(‘helpstring’,’dlgname’) 打开显示’errorstring’信息的帮助对话框, 对话框的标题由‘dlgname’指定
h=helpdlg(…) 返回对话框句柄
例:helpdlg('矩阵尺寸必须相等','在线帮助')
h=helpdlg(…) 返回对话框句柄
例:helpdlg('矩阵尺寸必须相等','在线帮助')
3) 输入对话框:用于输入信息
answer=inputdlg(prompt) 打开输入对话框,prompt为单元数组,用于定义输入数据窗口的个数和显示提示信息,answer为用于存储输入数据的单元数组。
answer=inputdlg(prompt,title) 与上者相同,title确定对话框的标题。
answer=inputdlg(prompt,title,lineNo) 参数lineNo可以是标量、列矢量或m×2阶矩阵,若为标量,表示每个输入窗口的行数均为lineNo;若为列矢量,则每个输入窗口的行数由列矢量lineNo的每个元素确定;若为矩阵,每个元素对应一个输入窗口,每行的第一列为输入窗口的行数,第二列为输入窗口的宽度。
answer=inputdlg(prompt,title,lineNo,defAns) 参数defans为一个单元数组,存储每个输入数据的默认值,元素个数必须与prompt 所定义的输入窗口数相同,所有元素必须是字符串。
answer=inputdlg(prompt,title,lineNo,defAns,Sesize) 参数resize决定输入对话框的大小能否被调整,可选值为on或off.
例:prompt={'Input Name','Input Age'};
title='Input Name and Age';
lines=[2 1]';
def={'John Smith','35'};
answer=inputdlg(prompt,title,lines,def);
4) 列表选择对话框:用于在多个选项中选择需要的值
[selection,ok]=listdlg(‘Liststring’,S,…) 输出参数selection为一个矢量,存储所选择的列表项的索引号,
输入参数为可选项’Liststring’(单元数组), ’SelectionMode’(’single’或’multiple’, ’ListSize’([wight,height]), ’Name’ (对话框标题)等
5) 信息提示对话框:用于显示提示信息
msgbox(message) 打开信息提示对话框,显示message信息。
msgbox(message,title) title确定对话框标题。
msgbox(message,title,’icon’) icon用于显示图标,可选图标包括:none(无图标)/error/help/warn/custom(用户定义)
msgbox(message,title,’custom’,icondata,iconcmap) 当使用用户定义图标时,icondata为定义图标的图像数据,iconcmap为图像的色彩图。
msgbox(…,’creatmode’) 选择模式creatmode,选项为:modal, non_modal, 和replace。
h=msgbox(…) 返回对话框句柄
6) 问题提示对话框:用于回答问题的多种选择
button=questdlg(‘qstring’) 打开问题提示对话框,有三个按钮,分别为:yes,no和cancel,’questdlg’确定提示信息。
button=questdlg(‘qstring’,’title’) title确定对话框标题。
button=questdlg(‘qstring’’title’,’default’) 当按回车键时,返回default值default 必须是yes,no或cancel 之一。
button=questdlg(‘qstring’,’title’,’str1’,’str2’,’default’) 打开问题提示对话框,有两个按钮,分别由str1和str2确定,’qstdlg’确定提示信息,default必须是str1或str2之一。
button=questdlg(‘qstring’, ’title’,’str1’,’str2’,’str3’,’default’) 打开问题提示对话框,有三个按钮,分别由str1, str2和str3确定,’qstdlg’确定提示信息,default必须是str1, str2或str3之一。
7) 进程条:以图形方式显示运算或处理的进程
h=waitbar(x,’title’) 显示以title为标题的进程条,x为进程条的比例长度,其值必须在0到1之间,h为返回的进程条对象的句柄。
waitbar(x,’title’,’creatcancelbtn’,’button_callback’) 在进程条上使用creatcancelbtn参数创建一个撤销按钮,在进程中按下撤销按钮将调用button_callback函数。
waitbar(…,property_name,property_value,…) 选择其它由prompt_name定义的参数,参数值由prompt_value指定。
例:
h=waitbar(0,'pleas wait...');
for i=1:10000
waitbar(i/10000,h)
end
close(h)