bokee.net

电子/电气工程师博客

正文 更多文章

消息对话框的常见用法

        消息对话框的简单用法

 

          王佰营

       在编程时,常常要用到消息对话框,但是总是是记不住一些设置,特归纳如下,以便查询。

一、函数原型及参数

 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;

     hWnd:对话框父窗口句柄,可用NULL,使其直接作为桌面窗口的子窗口。

     Text:欲显示的信息字符串。

     Caption:对话框标题字符串。

     Type:对话框类型常量。

 该函数的返回值为整数,用于对话框按钮的识别。

 

二、常见用法

消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。

     1.MessageBox("这是一个最简单的消息框!");

     2.MessageBox("这是一个有标题的消息框!","标题");

     3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL );

     4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );

     5.MessageBox("这是一个两种属性的消息框!",

"标题",

MB_ICONEXCLAMATION|MB_OKCANCEL );

     6.if(MessageBox("这是一个可供选择和控制的消息框:要终止运行吗?",

"标题(选择和控制)",

MB_ICONQUESTION|MB_YESNO)==IDCOK)

{

       完成动作A;

}

else

{

       完成动作B;

}

 

三、消息对话框的常用属性

1、图标风格

1)、X错误 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR

2)、?询问 MB_ICONQUESTION

3)、!警告 MB_ICONEXCLAMATION and MB_ICONWARNING

4)、i信息 MB_ICONASTERISK and MB_ICONINFORMATION

 

2、按钮的风格

1)、MB_OK  默认

2)、MB_OKCANCEL 确定、取消(OK,Cancel

3)、MB_YESNO 是、否(YesNo

4)、MB_YESNOCANCEL 是、否、取消(YesNo,Cancel

5)、MB_RETRYCANCEL 重试、取消(Retry,Cancel

6)、MB_ABORTRETRYIGNORE 放弃、重试、忽略(Abort,Retry,Ignore

3)、返回值

1)、IDNO 否(No)按钮被选择

2)、IDOK 确定(OK)按钮被选择

3)、IDYES 是(Yes)按钮被选择

4)、IDCANCEL 取消(Cancel)按钮被选择

5)、IDABORT 放弃(Abort)按钮被选择

6)、IDINGNORE 忽略(Ignore)按钮被选择

7)、IDRETRY 重试(Retry)按钮被选择

4、其他常用风格设置

1)、MB_DEFBUTTON1   默认按钮为第一个按钮

2)、MB_DEFBUTTON2   默认按钮为第二个按钮

3)、MB_DEFBUTTON3   默认按钮为第三个按钮

4)、MB_DEFBUTTON4   默认按钮为第四个按钮

5)、MB_HELP                 增加帮助按钮

6)、MB_RIGHT              信息文字右对齐

6)、MB_SETFOREGROUNP信息对话框出现在桌面的最前面

7)、MB_TOPMOST        信息对话框总在桌面的最前面

四、补充:

1)、以上消息框的用法是在CWnd的子类中的应用;

2)、如果不是CWnd的子类中的应用,则要:

MessageBox(NULL,"内容","标题",MB_OK); 

MessageBox(hWnd," 内容","标题",MB_OK); hWnd为某窗口的句柄,或

●直接用AfxMessageBox

AfxMessageBox函数原型为:

Int AfxMessageBox(

       LPCTSTR lpszText,//指向信息字符串地址的指针;

       UINT nType = MB_OK,//窗口风格;

       UINT nlDHlep = 0;//帮助的标识符;

)

其中第二、第三参数设有默认值,所以在函数调用时这两个参数可以省略;如:

AfxMessageBox(“无效指针!”);

 

 

分享到:

上一篇:清华校长送给毕业生的五句话

下一篇:理解卷积

评论 (1条) 发表评论

  • 朱白庚
    朱白庚 : 很棒的博文

    2010-06-26 21:48

发表评论
验证码