AfxMessageBox()与MessageBox()的区别
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(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函数用法说明
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信息框是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 弹出个框告诉他们“操作成功啦,赶紧接着嗨呀!”,那感觉倍儿爽,就像给他们发了个开心小炸弹。
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的常见用法
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的常见用法
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函数和语句基础知识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,"工程"这个是没有返回值的。
MFC中MessageBox使用方法
一函数原型及参数function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量MB_OK = $00000000;//一个确定按钮MB_OKCANCEL =$00000001;//一个确定按钮,一个取消按钮MB_ABORTRETRYIGNORE = $00000002;//一个异常终止按钮,一个重试按钮,一个忽略按钮MB_YESNOCANCEL = $00000003;//一个是按钮,一个否按钮,一个取消按钮MB_YESNO = $00000004;//一个是按钮,一个否按钮MB_RETRYCANCEL = $00000005;//一个重试按钮,一个取消按钮(2)缺省按钮常量MB_DEFBUTTON1 = $00000000;//第一个按钮为缺省按钮MB_DEFBUTTON2 = $00000100;//第二个按钮为缺省按钮MB_DEFBUTTON3 = $00000200;//第三个按钮为缺省按钮MB_DEFBUTTON4 = $00000300;//第四个按钮为缺省按钮(3)图标常量MB_ICONHAND = $00000010;//“×”号图标MB_ICONQUESTION = $00000020;//“?”号图标MB_ICONEXCLAMATION = $00000030;//“!”号图标MB_ICONASTERISK = $00000040;//“i”图标MB_USERICON = $00000080;//用户图标MB_ICONWARNING = MB_ICONEXCLAMATION;//“!”号图标MB_ICONERROR = MB_ICONHAND;//“×”号图标MB_ICONINFORMATION = MB_ICONASTERISK;//“i”图标MB_ICONSTOP = MB_ICONHAND;//“×”号图标(4)运行模式常量MB_APPLMODAL = $00000000;//应用程序模式,在未结束对话框前也能切换到另一应用程序MB_SYSTEMMODAL = $00001000;//系统模式,必须结束对话框后,才能做其他操作MB_TASKMODAL = $00002000;//任务模式,在未结束对话框前也能切换到另一应用程序MB_HELP = $00004000;//Help Button3、函数返回值0//对话框建立失败IDOK = 1//按确定按钮IDCANCEL = 2//按取消按钮IDABOUT = 3//按异常终止按钮IDRETRY = 4//按重试按钮IDIGNORE = 5//按忽略按钮IDYES = 6//按是按钮IDNO = 7//按否按钮二用法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;注意:以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK);hWnd为某窗口的句柄,或者直接用AfxMessageBox。
windows(2)
第1大题:单选题(重要题:共40题,每题1分,难中易比例2:4:4)1.在Windows编程约定中,软件开发包的英文缩写是______。
(易| 重要)A. APIB. SDIC. SDKD. MDI正确答案:C2.以下对应于unsigned long 的数据类型为:()(易| 重要)A. WORDB. DWORDC. INTD. BYTE正确答案:B3.如果要严格按照匈牙利命名法命名1个全局窗口句柄,以下变量命名正确的是()。
(中| 重要)A. g_hWndB. m_hWndC. g_pWndD. m_pWnd正确答案:A4.典型的Windows窗口程序的流程为:()(中| 重要)A. 注册窗口类->创建窗口->显示窗口->更新窗口->消息循环B. 创建窗口->注册窗口类->显示窗口->更新窗口->消息循环C. 创建窗口->注册窗口类->显示窗口->更新窗口->消息循环D. 注册窗口类->创建窗口->更新窗口->显示窗口->消息循环正确答案:A5.GDI环境中,窗口的坐标系是如何构成的?(易| 重要)A. 左上角为原点,x轴正方向为水平向右,y轴正方向为竖直朝上B. 中间为原点,x轴正方向为水平向右,y轴正方向为竖直朝上C. 左下角为原点,x轴正方向为水平向右,y轴正方向为竖直朝下D. 左上角为原点,x轴正方向为水平向右,y轴正方向为竖直向下正确答案:D6.Windows编程中,定时器消息是()(易| 重要)A. WM_TIMEB. WM_TIMERC. WM_ON_TIMED. WM_COMMAND正确答案:A7.设备环境DC的全称为:(易| 重要)A. Device ContentB. Device ContextsC. Device ConfigD. Device Conter正确答案:B8.进程最常见和最理想的结束方式为:()(中| 重要)A. 主线程的入口函数返回B. 进程中的一个线程调用ExitProcess函数C. 另一个进程中的线程调用TerminateProcess函数D. 进程中的所有线程自行终止运行正确答案:A9.线程正常结束的方式是:()(中| 重要)A. 线程函数返回B. 调用ExitThread函数C. TerminateThreadD. 包含线程的进程终止运行正确答案:A10.两个没有任何安全措施的线程同时对一个数作自增(++)运算,以下说法正确的是:()(难| 重要)A. 自增(++)是原子操作,不会出现错误B. 自增(++)是原子操作,但是两个加法先后顺序未知C. 自增(++)不是原子操作,最后结果是加2D. 自增(++)不是原子操作,最后结果不一定是2正确答案:D11.SetWaitableTimer的参数lPeriod如果为正值,单位是什么?(中| 重要)A. 分钟(m)B. 秒(s)C. 毫秒(ms)D. 纳秒(ns)正确答案:C12.在MFC编程中,如果要显示1个树型视图,那么适合选用的视图类是()。
MFC 利用控制台输出调试信息(转) -
MFC工程加入控制台调试信息输出
在MFC程序中,可以使用TRACE宏或者OutPutDebugString()函数输出调试信息,TRACE宏可以在调试时像Output窗口输出调试信息,OutPutDebugString()函数的输出则可以用DebugView捕获(DebugView 也可以捕获TRACE宏的输出,其官网在这里,具体使用请参考官网的说明),另外也可以通过AfxMessageBox()或者MessageBox()弹窗输出,但毕竟太多繁琐,每弹出一个窗口便要确认一次。
引入日志库也是个好办法,同时也可以通过分析日志文件了解应用程序的运行状况,这是终极大杀器,我们还需要更轻量级的方法。
控制台调试信息输出,即是在程序运行时,打开一个Console窗口,将自己编写的调试信息输出到Console中,便于了解当前程序的运行状况,帮助调试,仅需简单几行代码即可搞定,不需要动用日志库这样重量级的东东。
本文以一个基于对话框的MFC程序为例,看看如何给应用程序加上控制台输出。
1、实例工程名为Demo,在CDemoDlg.cpp中加入头文件#include "conio.h" ;
2、在CDemoDlg::OnInitDialog() {...}函数中加入AllocConsole();
3、在需要输出调试信息的地方,调用cprintf()(在VS2005后应该用 _cprintf 代替,下文有说明)函数输出信息,用法同 printf() 函数类似;
4、若需要关闭控制台输出,调用FreeConsole();。
vba msgbox的用法
vba msgbox的用法VBAMsgBox,又称为消息框,是Visual Basic for Applications (VBA)中一种重要的功能,用于弹出消息提示框。
它可以有助于开发者更加轻松地创建用户界面,并可以在不同的应用程序中实现跨平台共享。
VBA MsgBox用法1.息的显示方式VBA MsgBox以显示范围广泛的消息,例如提示信息、警告信息、错误信息等,以及一些可选的按钮,以及可以改变消息的显示方式。
VBA MsgBox持的按钮包括:确定按钮、取消按钮、放弃按钮、重试按钮、忽略按钮和帮助按钮,其中取消按钮可以用来终止程序运行,而确定按钮则用来确认用户输入。
VBA MsgBox持的另一项重要功能是可以改变消息的显示方式,例如可以使用“致命”的消息框(用于显示高优先级的消息)或“提示”的消息框(用于显示低优先级的消息)。
2.得用户输入在 VBA MsgBox 中,开发者可以通过设定不同参数来获得用户输入,例如可以设定消息框中显示的文字,或者设定按钮的类型(确定按钮、取消按钮等)等。
另外,VBA MsgBox 也提供了其他一些可选参数,例如可以设置消息框背景色,用来强调消息的重要性;可以设置消息的持续时间,用来使得消息框不会因被用户忽视而自动消失;还可以设置顶部图标,用来使得消息更加强烈。
3.写VBA脚本VBA MsgBox强大之处在于,它可以帮助开发者编写 VBA本来自动生成消息框,从而实现跨平台共享。
例如,开发者可以通过 VBA本在 Excel 中弹出消息框,其中消息框中显示的文字可以是动态文字,由 Excel 中的单元格值动态改变;消息框中按钮的类型也可以是动态改变,由 Excel 中不同单元格值定义;另外,VBA本中还可以添加条件判断,决定何时显示消息框,以及消息框中各个按钮的行为,以此实现不同的消息框显示效果。
4.见应用VBA MsgBox能的常见应用场景包括:当用户输入数据不正确时,可以使用 VBA MsgBox出提示框,提醒用户输入正确的数据;当程序运行完成时,可以使用 VBA MsgBox出提示框,提醒用户做出相应的操作;或者在用户删除数据时,可以使用 VBA MsgBox出确认框,以确保用户确实需要删除数据。
Delphi中MessageBox使用详解
Delphi中MessageBox使用详解在Delphi中,MessageBox是一个用于显示消息框的函数。
消息框是一个常见的交互式对话框,用于向用户显示信息并等待用户响应。
MessageBox函数可以用于显示不同类型的消息框,包括警告、确认、错误等类型。
MessageBox函数有多个参数,包括消息文本、标题、按钮和图标等。
下面我们将详细介绍这些参数的使用。
1.消息文本:MessageBox函数的第一个参数是消息文本,即要显示给用户的消息内容。
消息文本可以是一个字符串常量或变量。
例如:```DelphiMessageBox(0, 'Hello world', 'Message', MB_OK);```这个示例代码将在消息框中显示"Hello world"。
2.标题:MessageBox函数的第二个参数是消息框的标题。
标题是可选的,如果不提供标题,默认为"Message"。
标题可以是一个字符串常量或变量。
3.按钮:MessageBox函数的第三个参数用于指定要显示的按钮。
有多种按钮类型可供选择,包括OK、Cancel、Yes、No等。
可以使用按位或运算符(,)将多个按钮组合在一起。
例如:```DelphiMessageBox(0, 'Are you sure?', 'Confirmation', MB_YESNO);```这个示例代码将显示一个带有"Yes"和"No"两个按钮的确认消息框。
4.图标:MessageBox函数的第四个参数用于指定要显示的图标。
有多种图标类型可供选择,包括信息、警告、错误等。
可以使用按位或运算符(,)将多个图标组合在一起。
例如:```DelphiMessageBox(0, 'Error occurred!', 'Error', MB_ICONERROR);```这个示例代码将显示一个带有错误图标的错误消息框。
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参数的常量常量值说明vbOKOnly 0 只显示“确定”按钮VbOKCancel 1 显示“确定”和“取消”按钮VbAbortRetryIgnore 2 显示“终止”、“重试”和“忽略” 按钮VbYesNoCancel 3 显示“是”、“否”和“取消”按钮VbYesNo 4 显示“是”和“否”按钮VbRetryCancel 5 显示“重试”和“取消”按钮VbCritical 16 显示“关键信息”图标VbQuestion 32 显示“警告询问”图标VbExclamation 48 显示“警告消息”图标VbInformation 64 显示“通知消息”图标vbDefaultButton1 0 第一个按钮是缺省值(缺省设置) vbDefaultButton2 256第二个按钮是缺省值vbDefaultButton3 512第三个按钮是缺省值vbDefaultButton4 768第四个按钮是缺省值vbApplicationModal 0应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作vbSystemModal 4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作vbMsgBoxHelpButton 16384将Help按钮添加到消息框VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口vbMsgBoxRight 524288文本为右对齐vbMsgBoxRtlReading 1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示说明:(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;第二组值(16,32, 48,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。
MFC编辑框、静态文本框相关的常用函数
《1》GetDlgItemText(ID ,str)作用:从对话框中获取文本第一个参数为要获取的编辑框(或者静态文本框、单选按钮等可以显示内容的控件)的ID,第二个参数为字符串(Cstring 类型)的变量,获取的文本存储在str中。
《2》SetDlgItemText(ID,str)作用:将字符串显示在控件中第一个参数为要显示的编辑框(或者静态文本框、单选按钮、组合框等可以显示内容的控件)的ID,第二个参数为字符串(Cstring 类型)的变量,显示的文本存储在str中。
如果要显示的变量的类型不是Cstring,则通过Format函数强制转换。
通常还要加一个UpDateData(FALSE)。
《3》UINT nID=GetCheckedRadioButton(IDC1, IDC2);作用:获取单选框的选项的ID第一个参数为该组合框中第一个单选按钮的ID,第二个参数为该组合框中最后一个按钮的ID。
《4》CheckRadioButton(IDC1, IDC2, IDC3);作用:初始化单选按钮第一个参数为该组合框中第一个单选按钮的ID,第二个参数为该组合框中最后一个按钮的ID,第三个参数为为缺省选项的ID。
《5》m_scrollBar.SetScrollRange(0, 500) ;作用:设置水平滚动条的取值范围,m_scrollBar为水平滚动条的控制类型的变量,0为设置最小值,500为设置的最大值。
《6》m_nAmount = m_slider.GetPos() ;作用:获取滑块的当前位置。
《7》m_slider.SetRange(0,1000) ;作用://设置滑块取值范围第一个参数为设置的最小值,第二个参数为设置的最大值。
《8》double Volum = atof(strCtrl);作用:将字符串strCtl转换成浮点型的Volum《9》int Volum = atof(strCtrl);作用:将字符串strCtl转换成整型的Volum《10》MessageBox(str) ;(局部函数)作用:输出字符串str《11》AfxMessageBox(str) ;(全局函数)作用:输出字符串str《12》tempt = m_time2.Format("%H:%m:%S") ;作用:将时间转化成字符型(时、分、秒)m_time2为日历时间选取器的变量,tempt为CString型变量《13》tempt = m_time.Format("%Y-%m-%d") ;//将时间转化成字符型作用:将时间转化成字符型(年、月、日)m_time2为日历时间选取器的变量,tempt为CString型变量《14》m_time = CTime::GetCurrentTime();作用:获取系统当前时间m_time为Ctime类型的变量。
mfc messagebox参数
mfc messagebox参数摘要:1.MFC MessageBox 简介2.MFC MessageBox 参数列表3.常见参数介绍4.参数使用示例正文:【1.MFC MessageBox 简介】MFC(Microsoft Foundation Class)是微软提供的一套用于开发Windows 应用程序的类库。
在MFC 中,MessageBox 函数是一种用于显示对话框的函数,可以向用户显示一条消息,并等待用户做出响应。
MessageBox 函数在MFC 中的实现位于afxwin.h 头文件中,其函数原型为:```C++int MessageBox(HWND hWndParent, UINT nMessage, UINT nIDPrompt, LPCTSTR lpszPrompt);```【2.MFC MessageBox 参数列表】MessageBox 函数接收四个参数,分别是:1.hWndParent:对话框的父窗口句柄。
2.nMessage:表示对话框的消息类型,如MB_OK、MB_YESNO 等。
3.nIDPrompt:对话框的ID,用于标识不同的对话框。
4.lpszPrompt:对话框的提示文本。
【3.常见参数介绍】以下是一些常见的MessageBox 参数及其作用:1.MB_OK:显示一个带有“确定”按钮的对话框,用户点击“确定”按钮后,对话框消失。
2.MB_YESNO:显示一个带有“是”和“否”按钮的对话框,用户点击其中一个按钮后,对话框消失。
3.MB_ABORTRETRYIGNORE:显示一个带有“中止”、“重试”和“忽略”按钮的对话框,用户点击其中一个按钮后,对话框消失。
4.MB_YESNOCANCEL:显示一个带有“是”、“否”和“取消”按钮的对话框,用户点击其中一个按钮后,对话框消失。
【4.参数使用示例】以下是一个简单的MessageBox 函数调用示例:```C++#include <afx.h>#include <iostream>int main(){// 创建一个临时窗口CWnd* pWnd = new CWnd();pWnd->Create(IDD_TEMPLATE);pWnd->ShowWindow(SW_SHOW);// 显示一个带有“是”和“否”按钮的对话框int nResult = MessageBox(pWnd->GetSafeHwnd(), MB_YESNO, IDD_MSGBOX_EXAMPLE, TEXT("是否删除临时窗口?"));// 根据用户选择执行相应操作if (nResult == IDD_YES){// 用户点击“是”按钮,删除临时窗口pWnd->DestroyWindow();}return 0;}```在这个示例中,我们创建了一个临时窗口,并使用MessageBox 函数显示一个带有“是”和“否”按钮的对话框,询问用户是否删除该窗口。
MFC中常用函数
1.IsEmpty()函数判断一对象是否初始化,返回布尔值.表达式 IsEmpty(expression)实例: <%Dim iresponse.write IsEmpty(i)%>返回结果: true2. GetAt函数原型:TCHAR GetAt( int nIndex ) const;函数返回值:字符中第nIndex个字符(从0开始).Header: atlcoll.h注意:nIndex的最大值可由GetUpperBound()得到。
若nIndex小于0或大于最大值,将返回错误。
3. isdigitisdigit原型:extern int isdigit(char c);用法:#include <ctype.h>功能:判断字符c是否为数字说明:当c为数字0-9时,返回非零值,否则返回零。
附加说明此为宏定义,非真正函数。
相关函数:isalnum,isalpha,isxdigit,iscntrl,isgraph,isprint,i spunct,isspace4. isalnum原型:extern int isalnum(int c);用法:#include <ctype.h>功能:判断字符变量c是否为字母或数字说明:当c为数字0-9或字母a-z及A-Z时,返回非零值,否则返回零。
5. isalpha函数:isalpha原型:int isalpha(int ch)用法:头文件加入#include <cctype>(旧版本的编译器使用<ctype.h>)功能:判断字符ch是否为英文字母,当ch为英文字母a-z或A-Z时,在标准c中相当于使用“isupper(ch)||islower(ch)”做测试,返回非零值,否则返回零。
PS:{isupper原型:extern int isupper(int c);头文件:<cctype>(旧版本的编译器使用<ctype.h>) 功能:判断字符c是否为大写英文字母说明:当参数c为大写英文字母(A-Z)时,返回非零值,否则返回零。
AfxMessageBox参数详解
AfxMessageBox参数详解一、需求与标准的MessageBox 相比,MFC提供了AfxMessageBox 的方法是我们对消息框的变得更加容易。
然而简单的AfxMessageBox 有时已经不能够满足我们的需求了:有时候我仅仅想提示用户一下,并不需要用户确认,也就是说过一段时间消息框就能自动关闭。
您可能马上会想到,使用自己定义的对话框来替代程序中的AfxMessageBox,没错,这样的结果非常能够让你满意,但怎么实现呢?您也许会说,我自己写一个OwnMessageBox 函数,先前调用AfxMessageBox 的地方都换成它就好了,非常好的主意!但你终归要去一个个的替换,是不是感觉很没有挑战性呢?现在本文将介绍一个比较好的办法解决此问题。
二、解决办法MFC中的CWinApp提供了一个名为DoMessageBox 的虚函数供它的子类进行重载操作,我们先来看一下AfxMessageBox的源代码:int AFXAPI AfxMessageBox(LPCTSTR lpszText, UINT nType, UINT nIDHelp){CWinApp* pApp = AfxGetApp();if (pApp != NULL)return pApp->DoMessageBox(lpszText, nType, nIDHelp);elsereturn pApp->CWinApp::DoMessageBox(lpszText, nType, nIDHelp);} 重载DoMessageBox 后我们得到了什么呢?int COwnAfxMessageBoxApp::DoMessageBox(LPCTSTR lpszPrompt, UINT nType, UINT nIDPrompt){return CWinApp::DoMessageBox(lpszPrompt, nType, nIDPrompt);} 其中CWinApp::DoMessageBox 就是对Windows API 中的::MessageBox 的封装,再此不多叙。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。