MessageBox是一个Win32 API函数,用来弹出一个对话框窗口,显示短信息。该函数具有下列原型:
int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);
其中,第一个参数hWnd用来指定父窗口句柄,即对话框所在的窗口句柄。第二、三个参数分别用来指定显示的消息内容(lpText)和对话框窗口的标题(lpCaption),最后一个参数用来指定在对话框中显示的预定义的按钮和图标标识,它们是在winuser.h定义的一组以MB_开始的常数组合。例如,下面是在HelloMsg.c中改变MessageBox的第四个参数。
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int nCmdShow) {
MessageBox (NULL, TEXT("Hello, World!"), TEXT("Hello"),
MB_ICONQUESTION | MB_ABORTRETRYIGNORE )
return 0
}
,MB_ICONQUESTION 用来指定在对话框中显示图标,而MB_ABORTRETRYIGNORE用来指定“终止”、“重试”和“忽略”按钮。
在程序HelloMsg.c中,调用MessageBox的实参中还涉及TEXT宏。在Windows编程中,TEXT宏是用来对UNICODE编码的字符串的支持。UNICODE是使用两个字节表示一个字符,这样单字节的ANSI字符和双字节的“汉字”的表示就统一起来了。在程序中使用TEXT文本,无论在何Windows环境下均可显示正确的内容,而不会出现乱码的情形。另外,还有_TEXT 和_T宏等,在Visual C++中,它们的作用是等同的。