AfxMessageBox()与MessageBox()的区别

合集下载

MsgBox函数用法讲解

MsgBox函数用法讲解

MsgBox函数用法讲解VBA中msgbox的用法小结1、作用在消息框中显示信息,并等待用户单击按钮,可返回单击的按钮值(比如“确定”或者“取消”)。

通常用作显示变量值的一种方式。

2、语法MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])参数说明:(1)Prompt,必需的参数,为字符串,作为显示在消息框中的消息文本。

其最大长度约为1024个字符,由所用字符的宽度决定。

如果prompt的内容超过一行,则可以在每一行之间用回车符(Chr(13))、换行符(Chr(10))或是回车与换行符的组合(Chr(13)&Chr(10))将各行分隔开来。

(2)Buttons,可选的参数,为数值表达式的值之和,指定显示的按钮的数目及形式、使用的图标样式、缺省按钮及消息框的强制回应等,可以此定制消息框。

若省略该参数,则其缺省值为0。

设置值见下表。

(3)Title,可选的参数,表示在消息框的标题栏中所显示的文本。

若省略该参数,则将应用程序名放在标题栏中。

(4)Helpfile,可选的参数,为字符串表达式,提供帮助文件。

若有Helpfile,则必须有Context。

(5)Context,可选的参数,为数值表达式,提供帮助主题。

若有Context,则必须有Helpfile。

3、Button参数用于MsgBox函数中Button参数的常量常量值说明vbOKOnly0只显示“确定”按钮VbOKCancel1显示“确定”和“取消”按钮VbAbortRetryIgnore2显示“终止”、“重试”和“忽略”按钮VbYesNoCancel3显示“是”、“否”和“取消”按钮VbYesNo4显示“是”和“否”按钮VbRetryCancel5显示“重试”和“取消”按钮VbCritical16 显示“关键信息”图标VbQuestion32 显示“警告询问”图标VbExclamation48 显示“警告消息”图标VbInformation64 显示“通知消息”图标vbDefaultButton10 第一个按钮是缺省值(缺省设置) vbDefaultButton2256第二个按钮是缺省值vbDefaultButton3512第三个按钮是缺省值vbDefaultButton4768第四个按钮是缺省值vbApplicationModal0应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作vbSystemModal4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作vbMsgBoxHelpButton16384将Help按钮添加到消息框VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口vbMsgBoxRight524288文本为右对齐vbMsgBoxRtlReading1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示说明:(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;第二组值(16,32,4 8,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。

mfc函数详解

mfc函数详解

mfc函数详解MFC(Microsoft Foundation Class)是一种面向对象的Windows应用程序框架,它是微软公司在Windows操作系统下的视窗类库,是Visual C++的一些类和函数的集合。

MFC的作用是提供一种高级的、面向对象的编程结构,让程序员更加容易地开发Windows应用程序。

下面是一些常用的MFC函数及其详解:1. AfxMessageBox函数原型:int AfxMessageBox(LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0);函数作用:显示一个消息框,包含文本、标题和按钮。

参数解释:lpszText:要显示的消息文本。

nType:消息框类型,包括按钮以及图标等样式。

nIDHelp:帮助ID,用于消息框的帮助文件。

返回值:用户选择的按钮行为,如“取消”、“确定”等。

2. AfxGetMainWnd函数原型:CWnd* AfxGetMainWnd( );函数作用:获取当前线程的主窗口对象指针。

参数解释:无。

返回值:当前线程的主窗口对象指针。

3. CString.Format函数原型:int Format(LPCTSTR lpszFormat, ...);函数作用:根据格式控制符格式化字符串。

参数解释:lpszFormat:格式化字符串,格式控制符用“%”标识。

...:格式控制符中各个参数的值。

返回值:格式化后的字符串长度。

4. CListBox.SetCurSel函数原型:int SetCurSel(int nIndex);函数作用:设置列表框中当前选定项的索引。

参数解释:nIndex:要选定项的索引,从0开始。

返回值:如果设置成功,则返回新选定项的索引;否则,返回LB_ERR。

5. CEdit.SetWindowText函数原型:void SetWindowText(LPCTSTR lpszString); 函数作用:设置编辑框的文本内容。

Msgbox函数用法说明

Msgbox函数用法说明

Worksheets.Add before:=Sheets("Sheet1") '在 sheet1 之前新建一个工作表
Else
'否则(表示选择了“否”)
Worksheets.Add after:=Sheets("Sheet1") '在 sheet1 之后新建一个工作表
End If
End Sub
以上过程可以弹出一个包含“是”与“否”两个按钮的信息框,当选择“是”时会在
Sub 宏()
'放置位置:模块中
MsgBox "您喜欢 VBA 吗?", vbYesNo, "提示"
End Sub
图 1 信息框中各部份与 Msgbox 函数的参数的对应关系
Msgbox 函数包含 5 个参数,都是可选参数。其中最重要的是第一参数,最简单的也是 第一参数,第一参数所指定的字符串将显示在信息框中间。
以上过程会弹出一个具有“是”和“否”两个按钮的信息框,如果用户单击了按钮“是”, 那么程序可以将活动工作表重命名为“总表”,如果用户单击了“否”则直接结束过程。下 图是 Msgbox 函数产生的选项窗口:
图 7 询问用户是否继续
Msgbox 函数的返回值只能是以下 7 种之一:
表 3 Msgbox的返回值一览表
以上过程可在信息框中提示活动工作簿的工作表数量,结果如下图所示:
图 6 提示工作簿中的工作表数量
3.提供选项
当需要向用户提供两个选项时,通常采用 Msgbox 函数弹出一个包含“是”与“否” 两个按钮的对话框,用户单击对话框中的按钮时,VBA 会将用户的选择情况回传给 Msgbox 函数,VBA 开发者可以根据函数的回传值决定下一步的操作。例如:

信息框函数MSGBOX

信息框函数MSGBOX

信息框函数MsgBox信息框是Windows应用程序中使用得较多的一种对话机制,它被广泛地用于提示、选择程序走向,是一个重要的程序控制手段。

Delphi 提供的信息框函数MessageDlg功能比较强,其最大优点是可以任意设定信息框的按钮(使用了集合类型),但其缺点也是很明显的,主要表现在标题字符串不能由用户自己设置;窗口弹出时寂静无声;按钮不能随着Windows的不同语言的版本显示不同的文字(例如无论在哪种语言版本下都只能显示"OK"、"Yes"等英文字符)。

这些优点和缺点都是由于它是Delphi自己实现的,而不是通过调用系统API函数实现的,故不能使用系统的语言环境、多媒体等资源。

这样,所开发的程序在中文版中显示信息框时与周围的窗口显得极不协调。

而VB在这方面却做得较好,所以我们按照VB的格式自定义一个信息框函数MsgBox。

下面的函数都假定是在TForml中定义的。

为了使用方便,我们首先在 Interfaces段中定义一些符号常量:const{第一组:按钮内容选择}OKOnly=0;{仅显示"确定"按钮}OKCancel=1;{显示"确定"和"取消"按钮}AbortRetryIgnore=2;{"中止""重试""放弃"}YesNoCancel=3;{"是""否""取消"}YesNo=4;{"是"和"否"}RetryCancel=5;{"重试""取消"}{第二组:显示图标选择}Critical=16;{"STOP"图标}Question=32;{"?"图标}Excalamation=48;{"!"图标}Information=64;{"i"图标}{第三组:缺省指针位置(激活状态)}DefaultButton1=0;{第一按钮}DefaultButton2=256{第二按钮}DefaultButton3=512{第三按钮}{第四组:信息框方式}ApplicationModal=0;{应用方式}SystemModal=4096;{系统方式}然后,建立函数MsgBox,由于API函数中使用的字符串必须以mull结尾,所以使用了另一个自定义的函数StrToPch来将Pascal类型字符串转换成为以mull结尾的字符串。

mfc中messagebox用法

mfc中messagebox用法

mfc中messagebox用法中文例句:嘿,我在MFC 程序里想给用户提个醒儿,就用MessageBox 弹出个框告诉他们“操作成功啦,赶紧接着嗨呀!”,那感觉倍儿爽,就像给他们发了个开心小炸弹。

AfxMessageBox ("操作成功啦,赶紧接着嗨呀!");哟呵,程序出岔子啦,我立马用MessageBox 甩出来个警告框,对着用户喊:“哎呀妈呀,这咋搞的呀,咋出错了呢,赶紧瞅瞅呀!”,那紧张的氛围一下子就起来了。

MessageBox (NULL, "哎呀妈呀,这咋搞的呀,咋出错了呢,赶紧瞅瞅呀!", "错误警告", MB_OK | MB_ICONERROR);我正捣鼓MFC 呢,想问问用户是不是真要删除那重要文件,就弄了个MessageBox,跟他们说:“嘿,亲,你可真要删这宝贝文件呀?删了可就没喽,想好了没呀?”,感觉自己像个操心的老妈子。

int nRet = MessageBox (NULL, "嘿,亲,你可真要删这宝贝文件呀?删了可就没喽,想好了没呀?", "确认删除", MB_YESNO |MB_ICONQUESTION);在MFC 项目里,当登录失败的时候,我气呼呼地用MessageBox 吼道:“哼,登录咋就失败了呢,你是不是输错密码啦,好好想想呀!”,那气愤劲儿都快从框里冒出来了。

MessageBox (NULL, "哼,登录咋就失败了呢,你是不是输错密码啦,好好想想呀!", "登录失败", MB_OK | MB_ICONEXCLAMATION);哇哦,完成了一项超难的任务,我兴奋地用MessageBox 向用户报喜:“哇哈哈,任务搞定啦,厉害不,快给我点赞呀!”,就盼着他们也跟着乐呢。

AfxMessageBox ("哇哈哈,任务搞定啦,厉害不,快给我点赞呀!");嘿呀,用户在MFC 界面里瞎点,我就用MessageBox 提醒他们:“喂喂喂,别瞎点呀,按规矩来呀,不然要出乱子咯!”,真怕他们把程序搞崩咯。

VS中MessageBox的常见用法

VS中MessageBox的常见用法

AfxMessageBox的标题就是字符串资源中的AFX_IDS_APP_TITLEVC中MessageBox的常见用法一、关于MessageBox消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。

1.MessageBox("这是一个最简单的消息框!");2.MessageBox("这是一个有标题的消息框!","标题");3.MessageBox("这是一个确定取消的消息框!","标题", MB_OKCANCEL );4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );5.MessageBox("这是一个两种属性的消息框!","标题", MB_ICONEXCLAMATION|MB_OKCANCEL );6.if(MessageBox("一种常用的应用","标题",MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)return;附其它常用属性:系统默认图标,可在消息框上显示X错误MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR?询问MB_ICONQUESTION!警告MB_ICONEXCLAMATION and MB_ICONWARNINGi信息MB_ICONASTERISK and MB_ICONINFORMATION按钮的形式MB_OK 默认MB_OKCANCEL 确定取消MB_YESNO 是否MB_YESNOCANCEL 是否取消返回值IDCANCEL 取消被选IDNO 否被选IDOK 确定被选IDYES 是被选注意!!!:以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd为某窗口的句柄,或者直接用AfxMessageBox。

VS中MESSAGEBOX的常见用法

VS中MESSAGEBOX的常见用法

AfxMessageBox的标题就是字符串资源中的AFX_IDS_APP_TITLEVC中MessageBox的常见用法一、关于MessageBox消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。

1.MessageBox("这是一个最简单的消息框!");2.MessageBox("这是一个有标题的消息框!","标题");3.MessageBox("这是一个确定取消的消息框!","标题",MB_OKCANCEL);4.MessageBox("这是一个警告的消息框!","标题",MB_ICONEXCLAMATION);5.MessageBox("这是一个两种属性的消息框!","标题", MB_ICONEXCLAMATION|MB_OKCANCEL);6.if(MessageBox("一种常用的应用","标题",MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)return;附其它常用属性:系统默认图标,可在消息框上显示X错误MB_ICONHAND,MB_ICONSTOP,and MB_ICONERROR?询问MB_ICONQUESTION!警告MB_ICONEXCLAMATION and MB_ICONWARNINGi信息MB_ICONASTERISK and MB_ICONINFORMATION按钮的形式MB_OK默认MB_OKCANCEL确定取消MB_YESNO是否MB_YESNOCANCEL是否取消返回值IDCANCEL取消被选IDNO否被选IDOK确定被选IDYES是被选注意!!!:以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK);或MessageBox(hWnd,"ddd","ddd",MB_OK);hWnd为某窗口的句柄,或者直接用AfxMessageBox。

MsgBox函数和语句

MsgBox函数和语句

MsgBox函数和语句基础知识2007-07-27 10:15:46 阅读71 评论0 字号:大中小订阅MsgBox其实有两种格式:一、MsgBox函数格式:MsgBox(msg[,type][,title][,helpfile,context])该函数有5个参数,第一个是必需的,后面的都是可选的。

(1)msg:是一个字符串,长度不能超过1024个字符,超过的会被截掉。

这个字符串的内容就是在MsgBox 函数产生的对话框内显示。

如果一行显示不完,可以用"Chr$(13)+Chr$(10)”强制换行。

(2)type:是一个整数值或符号常量,用来控制在对话框内显示的按钮、图标的种类及数量。

比如说是显示“确定”、“取消”还是显示“终止”、“重试”、“忽略”等。

由于type参数的取值较多,就不一一例举了,楼主可以自己去搜搜。

(3)title:也是字符串,其内容就是对话框的标题。

(4)helpfile,context:helpfile是一个字符串变量或字符串表达式,用来表示帮助文件的名字;context 是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。

这两个参数必须同时使用或同时省略。

如果使用了这两个参数,对话框中会出现一个“帮助”按钮,单击或按F1就可以得到相关帮助信息。

二、MsgBox语句格式:MsgBox msg[,type][,title][,helpfile,context]各参数的含义与作用与上面的MsgBox函数一样的。

三、MsgBox函数与MsgBox语句的区别MsgBox函数有返回值,而MsgBox语句是没有返回值的。

例如:函数:x=MsgBox("戴草帽",vbOKOnly,"工程1")这个对话框只有一个确定按钮,返回值为1,也就是说用户如果点了这个确定,x就等于1了。

语句:MsgBox "戴草帽",vbOKOnly,"工程"这个是没有返回值的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AfxMessageBox()与MessageBox()的区别
AfxMessageBox的函数原型
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 ); int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) –1 );
在第一种形式中,lpszText表示在消息框内部显示的文本,消息框的标题为应用程序的可执行文件名(如Hello)。

在第二种形式中,nIDPrompt为要显示的文本字符串在字符串表中的ID。

函数调用时会自动从字符串表中载入字符串并显示在消息框中。

nType为消息框中显示的按钮风格和图标风格的组合,可以采用|(或)操作符组合各种风格。

按钮风格
MB_ABORTRETRYIGNORE 消息框中显示Abort、Retry、Ignore按钮
MB_OK 显示OK按钮
MB_OKCANCEL 显示OK、Cancel按钮
MB_RETRYCANCEL 显示Retry、Cancel按钮
MB_YESNO 显示Yes、No按钮
MB_YESNOCANCEL 示Yes、No、Cancel按钮
图标风格
MB_ICONINFORMATION 显示一个i图标,表示提示
MB_ICONEXCLAMATION 显示一个惊叹号,表示警告
MB_ICONSTOP 显示手形图标,表示警告或严重错误
MB_ICONQUESTION 显示问号图标,表示疑问
与AfxMessageBox类似的函数MessageBox,它是CWnd的类成员函数:
int MessageBox( LPCTSTR lpszText,LPCTSTR lpszCaption = NULL,UINT nType = MB_OK );
两个函数的区别:AfxMessageBox比MessageBox简单一些,因为它是一个全局函数所以不需要对应的一个窗口类,但是不能控制消息框标题,常用于调试程序时的内部数据输出或警告;MessageBox比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题。

举例:
AfxMessageBox(“Are you sure?”,MB_YESNO|MB_ICONQUESTION);
int a = MessageBox(TEXT( "是否确认删除?" ), TEXT("Warning!!"),4);
if (a == 6)
AfxMessageBox("Yes");
else
AfxMessageBox("No");
(其中#define IDYES 6 #define IDNO 7)
他们的区别,我收集整理了下主要有:
1.MessageBox 如果在非CWnd类中使用则是API函数,使用起来非常不便,必须指定标题和样式
否则使用CWnd类的函数,只需一个内容参数就可以了,AfxMessageBox和CWnd类成员
函数类似,使用起来很方便,因为是Afx 基于框架的函数
2.MessageBox是模态对话框,你不进行确认时程序不往下运行,它会阻塞你当前的线程为,除非你程序是多线程的程序,否则只有等待模态对话框被确认
3、如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便。

但是在WIN32 SDK的情况下只能使用MESSAGEBOX。

相关文档
最新文档