Delphi特训第三课:常用组件的属性(3)之对话框与消息框
使用对话框(消息框)函数与对话框过程
对于一些简单信息的输入和输出,可以使用对话框.DELPHI提供的内部对话框有两种:
1、信息对话框使用过程SHOWMESAGE, SHOWMESSAGEFMT,函数MESSAGEDLG. MESSAGEDLGPOS,CreateMESSAGEDIALG.
2、输入对话框使用函数INPUTBOX, INPUTQUERY.
1)、SHOWMESSAGE与SHOWMESSAGEFMT过程
SHOWMESSAGE过程显示一个最简单的对话框,其语法格式为:
SHOWMESSAGE(信息内容);
说明:SHOWMESSAGE过程显示的对话框以应用程序的执行文件名作为标题,对话框只含有一个OK按钮,单击该按钮对话框即关闭并返回.
例:showmessage('我爱Delphi!!')

SHOWMESSAGEFMT过程
语法格式为:
showmessagefmt(信息内容,参数组);
说明:此过程与上一个过程其本相同,只是参数多了格式化的字符.
例:showmessagefmt('%s今年%d岁了!',[edit1.text,strtoint(edit2.text)])

例:showmessagefmt('%s今年%d岁了!',['伟伟',21])

2)、MESSAGEDLG与MESSAGEDLGPOS函数
这两个函数可以显示一个信息对话框,并等待用户的响应.
MESSAGEDLG函数
语法格式为: 变量名:=MESSAGEDLG(信息内容,类型,按钮组,HELPCTX);
说明: 信息内容是显示在对话框中的信息.
类型是对话框的类型,其取值有:
mtwarning含有感叹号的警告对话框.
Mterror含有红色叉符号的错误对话框.
Mtinfomation含有蓝色I符号的信息对话框.
Mtconfirmation含有绿色?号的确认对话框
Mtcustiom不含图标的一般对话框,对话框的标题是程序的名称.
按钮组指定对话框中出现的按钮组,其中出现的按钮与参数有:
MBYES YES按钮,函数返回值为:6
MBNO NO按钮,函数返回值为:7
MBOK OK按钮,函数返回值为:
MBCANCEL CANCEL按钮,函数返回值为:2
MBHELP HELP按钮.
MBABORT ABORT按钮,函数返回值为:3
MBRETRY RETRY按钮,函数返回值为:4
MBIGNORE IGNORE按钮,函数返回值为:5
MBALL ALL按钮,函数返回值为:8
MBNOTOALL NOTOALL按钮,函数返回值为:9
MBYESTOALL YESTOALL按钮,函数返回值为:10
按钮组可以组成某种形式,如[MBYES,MBNO]表示对话框中出现两个按钮:”YES”和”NO”;也可以常量形式如,MBOKCANCEL表示对话框中出现两个按钮:”OK”和”CANCEL”
例: 密码框.
procedure TForm1.Button1Click(Sender: TObject);
var
x:integer;
begin
if edit1.text='hqw' then
showmessage('密码正确,欢迎进入!')
else
begin
x:=messagedlg('密码错误,请重新输入!',mterror,[mbyes,mbno],0);
if x=6 then //x为6即代表用户点击的是确定按扭。
begin
edit1.text:='';//清空。
edit1.SetFocus;//设置焦点。
end
else
close;
end;
end;


3)、MESSAGEDLGPOS函数
调用MESSAGEDLGPOS函数,可以屏幕的指定位置显示信息对话框,其语法格式为:
变量=MESSAGEDLGPOS(信息内容,类型,按钮组,,HELPCTX,X,Y);
它比MESSAGEDLG只是多了一项功能,即具有X,Y显示位置坐标.
4. INPUTBOX与INPUTQUERY函数
1)INPUTBOX的作用为显示一个输入对话框.
格式为: 变量:=INPUTBOX(对话框信息,信息内容,默认内容);
对话框信息为指定对话框的标题.
信息内容为指定在对话框上出现的文本.
默认内容为在出现对话框时自动出现的输入内容.
2)INPUTQUERY函数
与INPUTBOX相似出现一个输入框.只是对CANCEL按钮(退出事件)另作处理,将返回一个布尔值.
格式为: 变量=INPUTQUERY(对话框标题,信息内容,字符串变量);
在出现对话框时如果单击OK输入框中的值将赋值到变量中,并且函数返回TRUE;若用户单击CANCEL按钮,变量值不变并返回FALSE;可以根据返回值的不同作出判断.
例:
procedure TForm1.Button1Click(Sender: TObject);
var
x:integer;
begin
x:=strtoint(inputbox('提示','请输入求和值','0'));
if x=strtoint(edit1.Text)+strtoint(edit2.Text) then
edit3.Text:='正确'
else
edit3.Text:='错误';
end;


分组控件GROUPBOX.
也可称之为框架.
一般来说此框架的作用是用于对某一组界面的分类,没有实质作用.
面板PANEL
此面板的功能作相似与GROUPBOX。它有多种三维效果.
主要属性有:
BEVELINNER:图形面板内层边框斜面的类型.
BEVELOUTER: 图形面板外层边框斜面的类型.
Bevelwidth:斜面的宽度.
BORDERWIDTH:内层与外层边框之间的宽度.
是啊,密码不好用哦!没法安装。...