请输入您要查询的百科知识:

 

词条 MessageBox函式
释义

§ 介绍

MessageBox函式用於显示短资讯。虽然,MessageBox显示的小视窗不具有什么功能,实际上它被认为是一个对话方块。

MessageBox的第一个参数通常是视窗代号,我们将在第三章介绍其含义。第二个参数是在讯息方块主体中显示的字串,第三个参数是出现在讯息方块标题列上的字串。在HELLMSG.C中,这些文字字串的每一个都被封装在一个TEXT巨集中。通常您不必将所有字串都封装在TEXT巨集中,但如果想将您的程式转换为Unicode字元集,这确是一个好主意。我将在第二章详细讨论该问题。

§ 说明

MessageBox的第四个参数可以是在WINUSER.H中定义的一组以字首MB_开始的常数的组合。您可从第一组中选择一个常数指出希望在对话方块中显示的按钮:

#define         MB_OK                                               0x00000000L

#define         MB_OKCANCEL                                           0x00000001L

#define         MB_ABORTRETRYIGNORE                                      0x00000002L

#define         MB_YESNOCANCEL                                         0x00000003L

#define         MB_YESNO                                             0x00000004L

#define         MB_RETRYCANCEL                                         0x00000005L

如果在HELLOMSG中将第四个参数设置为0,则仅显示「 OK 」按钮。可以使用C语言的OR(|)操作符号将上面显示的一个常数与代表内定按钮的常数组合:

#define         MB_DEFBUTTON1                                          0x00000000L

#define         MB_DEFBUTTON2                                          0x00000100L

#define         MB_DEFBUTTON3                                          0x00000200L

#define         MB_DEFBUTTON4                                          0x00000300L

还可以使用一个常数指出讯息方块中图示的外观:

#define         MB_ICONHAND                                     0x00000010L

#define         MB_ICONQUESTION                               0x00000020L

#define         MB_ICONEXCLAMATION                             0x00000030L

#define         MB_ICONASTERISK                                    0x00000040L

这些图示中的某些有替代名称:

#define         MB_ICONWARNING                 MB_ICONEXCLAMATION

#define         MB_ICONERROR                    MB_ICONHAND

#define         MB_ICONINFORMATION                MB_ICONASTERISK

#define         MB_ICONSTOP                   MB_ICONHAND

虽然只有少数其他MB_常数,但您可以自己参考表头档案或 / Platform SDK / User Interface Services / Windowing / Dialog Boxes / Dialog Box Reference / Dialog Box Functions里的档案。

在本程式中,MessageBox返回数值1,但更严格地说它返回IDOK,IDOK在WINUSER.H中定义,等於1。根据在讯息方块中显示的其他按钮,MessageBox函式还可返回IDYES、IDNO、IDCANCEL、IDABORT、 IDRETRY或IDIGNORE。

这个小的Windows程式真的与K&R的「hello, world」程式有著同等效果吗?您也许认为不是,因为MessageBox函式并没有「hello, world」中printf函数所具有的潜在格式化文字能力。但我们将在下一章中看到编写类似printf的MessageBox版本的方法。

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/19 5:17:12