您的位置:首页 > 编程语言 > Delphi

Delphi 的信息框相关函数

2009-04-07 20:32 447 查看
//ShowMessage:
begin
ShowMessage('提示内容');      {标题默认工程名, 如: Proect1}

Application.Title := '警告';  {如果修改工程标题...}
ShowMessage('提示内容');      {标题是'警告'}

ShowMessage('第一行' + #13#10 + '第二行');  {提示信息换行}
ShowMessage('第一行'#13'第二行');     {也可以}
end;

//InputBox:
var
s: string;
begin
s := InputBox('标题','提示信息','默认输入');
ShowMessage(s);  //显示输入的内容
end;

//InputQuery:
var
s: string;
begin
InputQuery('标题','提示信息',s);  //为字符串变量 S 输入值, 返回布尔型
ShowMessage(s);  //显示输入的内容
end;

//MessageBox:
var
i: Integer;
begin
i := MessageBox(0,'提示内容','标题',mrOk);  //第一个参数一般用 Self.Handle, 0代表桌面

//可选参数
//mrNone
//mrOk
//mrCancel
//mrAbort
//mrRetry
//mrIgnore
//mrYes
//mrNo
//mrAll
//mrNoToAll
//mrYesToAll

ShowMessage(IntToStr(i));

//还可以组合第四个参数以调用不同的图标:
MessageBox(0,'提示内容','标题',mrOk + MB_ICONHAND);

//MB_ICONHAND
//MB_ICONQUESTION
//MB_ICONEXCLAMATION
//MB_ICONASTERISK
//MB_USERICON
//MB_ICONWARNING
//MB_ICONERROR
//MB_ICONINFORMATION
//MB_ICONSTOP
end;

//后来补充, 还是应该使用 API 的原有参数更好些:
{可选参数或它们的组合}
MB_OK                        = $00000000;
MB_OKCANCEL                  = $00000001;
MB_ABORTRETRYIGNORE          = $00000002;
MB_YESNOCANCEL               = $00000003;
MB_YESNO                     = $00000004;
MB_RETRYCANCEL               = $00000005;
MB_ICONHAND                  = $00000010;
MB_ICONQUESTION              = $00000020;
MB_ICONEXCLAMATION           = $00000030;
MB_ICONASTERISK              = $00000040;
MB_USERICON                  = $00000080;
MB_ICONWARNING               = MB_ICONEXCLAMATION;
MB_ICONERROR                 = MB_ICONHAND;
MB_ICONINFORMATION           = MB_ICONASTERISK;
MB_ICONSTOP                  = MB_ICONHAND;
MB_DEFBUTTON1                = $00000000;
MB_DEFBUTTON2                = $00000100;
MB_DEFBUTTON3                = $00000200;
MB_DEFBUTTON4                = $00000300;
MB_APPLMODAL                 = $00000000;
MB_SYSTEMMODAL               = $00001000;
MB_TASKMODAL                 = $00002000;
MB_HELP                      = $00004000;
MB_NOFOCUS                   = $00008000;
MB_SETFOREGROUND             = $00010000;
MB_DEFAULT_DESKTOP_ONLY      = $00020000;
MB_TOPMOST                   = $00040000;
MB_RIGHT                     = $00080000;
MB_RTLREADING                = $00100000;
MB_SERVICE_NOTIFICATION      = $00200000;
MB_SERVICE_NOTIFICATION_NT3X = $00040000;
MB_TYPEMASK                  = $0000000F;
MB_ICONMASK                  = $000000F0;
MB_DEFMASK                   = $00000F00;
MB_MODEMASK                  = $00003000;
MB_MISCMASK                  = $0000C000;

{可能的返回值}
IDOK       = 1;   ID_OK = IDOK;
IDCANCEL   = 2;   ID_CANCEL = IDCANCEL;
IDABORT    = 3;   ID_ABORT = IDABORT;
IDRETRY    = 4;   ID_RETRY = IDRETRY;
IDIGNORE   = 5;   ID_IGNORE = IDIGNORE;
IDYES      = 6;   ID_YES = IDYES;
IDNO       = 7;   ID_NO = IDNO;
IDCLOSE    = 8;   ID_CLOSE = IDCLOSE;
IDHELP     = 9;   ID_HELP = IDHELP;
IDTRYAGAIN = 10;
IDCONTINUE = 11;

//MessageDlg:
var
i: Integer;
begin
MessageDlg('提示信息',mtWarning,mbYesNo,0);

//第二个参数调用不同的图标:
//mtWarning
//mtError
//mtInformation
//mtConfirmation
//mtCustom

//第三个参数调用不同的按钮:
//mbYesNo = [mbYes, mbNo];
//mbYesNoCancel = [mbYes, mbNo, mbCancel];
//mbYesAllNoAllCancel = [mbYes, mbYesToAll, mbNo, mbNoToAll, mbCancel];
//mbOKCancel = [mbOK, mbCancel];
//mbAbortRetryIgnore = [mbAbort, mbRetry, mbIgnore];
//mbAbortIgnore = [mbAbort, mbIgnore];
//可以直接输入集合元素,譬如: MessageDlg('aaa',mtWarning,[mbYes],1);

//第四个参数帮助ID, 没有添0
//还有重载的第5个参数是设定默认按钮
//如果要本地话显示需要修改源文件, 一般可以用 MessageBox 代替
end;

//MessageDlgPos:
begin
MessageDlgPos('提示信息',mtCustom,mbYesNoCancel,0,400,100);
//比 MessageDlg 多出两个参数来控制显示位置
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: