Windows程序设计——消息对话框的使用小结

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------

HelloMsg.c -- Displays "Hello, world!" in a message box.

刚开始学windows编程,这是我学的第一个显示“message box”(对话框或消息框)的C程序,是用API函数。

可以说是对MessageBox的第四个参数的一个使用小结,不能保证全面,但也够用了。
程序在Windows XP SP3操作系统的C-free 4.0和M-VC++ 6.0环境中均能正常编译运行,但在其他的系统环境下的运行结果就不知道了。
如果有高手试验过,或者还有其他MessageBox的有关知识,麻烦在此留个言,小弟感激不尽!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

#include

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------

MessageBox的第四个参数可以是在WINUSER.H中定义的一组以前缀“MB_”开始的常数的组合,可以在下面选择一个常数指出希望在消息对话框中显示的按钮

#define     MB_OK                                           0x00000000L           //确定

#define     MB_OKCANCEL                              0x00000001L           //确定 取消

#define     MB_ABORTRETRYIGNORE               0x00000002L           //终止(A) 重试(R) 忽略(I) 

#define     MB_YESNOCANCEL                        0x00000003L           //是(Y) 否(N) 取消

#define     MB_YESNO                                    0x00000004L           //是(Y) 否(N)

#define     MB_RETRYCANCEL                         0x00000005L           //重试(R) 取消

#define     MB_CANCELRETRYCONTINUE        0x00000006L           //取消 重试(T) 继续(C)

#define     MB_OKHELP                                  0x4000                    //确定 帮助 当按F1或此按钮时可以引起Help事件

下面是消息对话框的格式参数

#define     MB_APPLMODAL                           0                             //应用程序模式。由缺少值设置,对应的行为可以使用MB_SYSTEMMODAL
                                                                                                    //或MB_TASKMODAL来改变,用户可在不关闭该消息对话框的情况下,继续使用其它对话框

#define     MB_SERVICE_NOTIFICATION       0x40000               // 允许消息对话框在一个没有被注册的桌面上显示

#define     MB_DEFAULT_DESKTOP_ONLY     0x20000               // 消息对话框必须出现在缺少的桌面上,这个桌面是用户注册的桌面

#define     MB_SETFOREGROUND                  0x10000               // 使消息对话框成为当前的窗口

#define     MB_RIGHT                                    0x80000               //使消息对话框内的信息向右对齐

#define     MB_RTLREADING                          0x100000            //关闭消息对话框的“X”按钮设置在左边

#define     MB_TOPMOST                              0x40000              //使消息对话框 前端显示

#define     MB_DEFBUTTON1                        0                         // 消息对话框的第一个按钮是缺省的按钮

#define     MB_DEFBUTTON2                        256                     // 消息对话框的第二个按钮是缺省的按钮

#define     MB_DEFBUTTON3                        512                    // 消息对话框的第三个按钮是缺省的按钮

#define     MB_DEFBUTTON4                        0x300                 // 消息对话框的第四个按钮是缺省的按钮

#define     MB_SYSTEMMODAL                      4096                  // 系统模式;操作与%MB_APPLMODAL相同,不同的是消息对话框具有WS_EX_TOPMOST样式,
                                                                                             //所以它会保持在所有其它窗口和对话框之上,此消息对话框不允许用户在它被关闭之前
                                                                                             //进行任何的其他操作,这个标记可以为十分重要的信息进行保留。

#define     MB_TASKMODAL                        0x2000                //任务模式;属于当前应用程序的所有顶层窗口都变成禁止
                                                                                             //状态(变灰,无法使用鼠标和键盘操作),直到对话框被解除(关闭)。
                                                                                            //MB_TASKMODAL一般用来显示真实的模式对话框。

下面是消息对话框图标显示参数,与上面的对话框按钮种类通过操作符号 “|”组合使用

#define     MB_ICONHAND                        0x00000010L           //(红叉)出错或停止提示

#define     MB_ICONQUESTION                0x00000020L           //(问号“?”)疑问提示

#define     MB_ICONEXCLAMATION          0x00000030L           //(黄色惊叹号“!”)警告提示

#define     MB_ICONASTERISK                0x00000040L           //(小写字母“i”)信息提示

下面是某些消息对话框图标的代替名称,其实只是一个记号而已

#define     MB_ICONWARNING                MB_ICONEXCLAMATION    //

#define     MB_ICONERROR                    MB_ICONHAND           //

#define     MB_ICONINFORMATION        MB_ICONASTERISK       //

#define     MB_ICONSTOP                      MB_ICONHAND           //

当然,还有一些“未解之谜”,这些都是不明使用方法的,望知情者慷慨告之

#define     MB_DEFMASK                       3840                   //

#define     MB_MODEMASK                   0x00003000

#define     MB_TYPEMASK                    15

#define     MB_ICONMASK                   240                    //以上几个都带“MASK”,可能是某种模式

#define     MB_NOFOCUS                    0x00008000

#define     MB_USERICON                   128                   //这个好像是自定义图标,具体怎么用还不知道

---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

int WINAPI WinMain (
                    HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    PSTR szCmdLine,
                    int iCmdShow
                    )

{

    MessageBox (
                NULL,
                TEXT ("Hello, Windows 98!"),
                TEXT ("HelloMsg"),
                0
                );
    return 0 ;

}
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------
这只是刚开始而已,有很多还是不懂的,还得努力学习,我的目标就是编出一系列实用的Windows应用程序
---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值