Application.MessageBox
function TApplication.MessageBox(const Text, Caption: PChar; Flags: Longint): Integer; 1. Text:要显示的讯息 2. Caption:讯息窗口的标题列文字 3. Flags:讯息旗标 3.1. 可指定讯息窗口上的图标 3.2. 可指定讯息窗口出现的按钮 3.3. 可指定预设Focus在哪一个按钮 3.4. 可指定是否 Modal 3.5. 其它 Text、Caption 自变量为 PCahr 型态,字符串型态的变量可用 PChar() 转换,若直接传入一个字符串的话,就不用转型。 例如: var s: string;.... s := '存档失败'; Application.MessageBox(PChar(s), '错误', MB_ICONERROR); Flag 自变量为 Longint 型态,可用的传入值有: 1. 指定讯息窗口上的图标 1.1 MB_ICONEXCLAMATION 或 MB_ICONWARNING 出现「黄三角形内有一个惊叹号」图示 1.2 MB_ICONINFORMATION 或 MB_ICONASTERISK 出现「白色椭圆内有一个蓝色小写 i」图示 1.3 MB_ICONQUESTION 出现「问号」图示 1.4 MB_ICONSTOP 或 MB_ICONERROR 或 MB_ICONHAND 出现「红色X」图示 2. 指定讯息窗口出现的按钮 2.1 MB_ABORTRETRYIGNORE 出现「Abort」「Retry」「Ignore」三个按钮 2.2 MB_OK 出现「Ok」按钮,为默认值。 2.3 MB_OKCANCEL 出现「Ok」「Cancel」两个按钮 2.4 MB_RETRYCANCEL 出现「Retry」「Cancel」两个按钮 2.5 MB_YESNO 出现「Yes」「No」两个按钮 2.6 MB_YESNOCANCEL 出现「Yes」「No」「Cancel」三个按钮 3. 可指定预设Focus在哪一个按钮 3.1 MB_DEFBUTTON1 指定focus在左边第一个按钮,这是默认值。 3.2 MB_DEFBUTTON2、MB_DEFBUTTON3、MB_DEFBUTTON4 以此类推,指定focus在左边第二、三、四个按钮 4. 可指定是否 Modal 4.1 MB_APPLMODAL 对于应用程序而言,是 modal form 4.2 MB_SYSTEMMODAL 对于操作系统而言,是 modal form 4.3 MB_TASKMODAL 对于 task 而言,是 modal form 一般来说,这跟 MB_APPLMODAL 是等效的,但是当应用程序中的所有 form 都隐藏的时候,就必须使用这个,才能达到 modal 的目的 5. 其它 5.1 MB_TOPMOST 将讯息窗口提至最前面 5.2 MB_RIGHT 将消息正文向右对齐 在一个 Flag 要指定这么多的东西,要如何使用呢? 只要把要用的自变量组合 or 起来就可以了。例如: Application.MessageBox(PCahr(sMsg), PChar(sCap), MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2) 这样会出现「问号」图标,「Yes」「No」两个按钮,而且 focus 在 No 按钮上 回传值: 1. IDABORT:使用者按了「Abort」按钮 2. IDCANCEL:使用者按了「Cancel」按钮 3. IDIGNORE:使用者按了「Ignore」按钮 4. IDNO:使用者按了「No」按钮 5. IDOK:使用者按了「Ok」按钮 6. IDRETRY:使用者按了「Retry」按钮 7. IDYES:使用者按了「Yes」按钮