词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。