MessageBoxlndirect()函数

函数功能:该函数创建、显示和操作一个消息框。消息框含有应用程序定义的消息文本和标题,任何位图和预定义的push(下推)按钮的任意组合。

参数:

IpMsgBoxParams:指向一个含有用于显示消息框信息的MSGBOXPARAMS结构。

返回值:如果没有足够内存来创建消息框,则返回值为零。如果函数调用成功,则返回值为下列对话框返回的菜单项目值中的一个:IDABORT:Abort按钮被选中;IDCANCEL:Cancel 按钮被选中;IDGNORE:lgnorem按钮被选中;IDNO:NO按钮被选中;IDOK:OK按钮被选中;IDRETRY:RETRY按钮被选中;IDYES:YES按钮被选中。

如果一个消息框有一个Cancel按钮,且当Esc键被按或Cancel键被选择时,则函数返回IDCANCEL值。如果消息框没有Cancel按钮,则按Esc键没有作用。

备注:当创建一个系统模态消息框来表示系统在在内存的低端时,由IpText和lpCaption参数指向的字符串不应该从一个资源文件中取出,因为试图装载此资源可能导致失败。

当一个应用程序调用MessageBox,且为uType参数指定MB_ICONHAND和MB_SYSTEMMODAL标志时,系统不管可用内存为多少,直接显示结果消息框。当这些标志被指定,系统被把消息框文本的长度局限于三行。系统不能自动截断要填到消息框的行,但是消息字符串一定含有回车换行,以在合适的位置换行。

如果在对话框出现的的同时创建了消息框,则可使用对话框的句柄作为hwnd参数,hwnd参数不应该标识一个子窗口,例如对话框中的一个控制。

Windows 95:系统可以支持最大达16364个窗口句柄。

速查:Wbindows NT:4.0及以上版本;Windows:95及以下版本;Windows CE:不支持;头文件:winuser.h;库文件:User32.lib:Unicoda:在Windows NT上实现为Unicode和ANSI两种版本。