MessageBox基本使用方法

2 篇文章 0 订阅
【函数】 <整型> MessageBox(HWND,<字符串> Text, <字符串> Title, <整型> nType);
【函数说明】 弹出一个消息框。
【语法】
参数:
Text <字符串>,消息框的正文;
Title <字符串>,消息框的标题;
nType <整型>,消息框的类型。
返回值:<整型>,用户在消息框上点击关闭时的选择的按钮。
【说明】
其中nType对应的对话框如下表所示:
0: 确定
1: 确定,取消
2: 终止,重试,忽略
3: 是,否,取消
4: 是,否
5: 重试,取消
6: 取消,再试一次,继续(注:Windows NT下不支持)


返回值对应的值如下:
1: 确定
2: 取消
3: 终止
4: 重试
5: 忽略
6: 是
7: 否
10:再试一次


        应用程序中的提示信息处理程序是非常出重要的部分,用户要知道他输入的资料到底正不正确,或者是应用程序有一些提示信息要告诉用户,都必须通过提示信息处理程序来显示适当的信息,让用户了解下一步该如何配置。提示信息有很多种类,包括警告,错误,提示,确认,重试等。不
同种类的提示信息框适合用在各种不同的情况。
在C++Builder中开发提示信息框只须调用MessageBox这个信息提示框函数就行,下面就是这个函数说明:
int __fastcall MessageBox(const char * Text,//提示信息框的内容
const char * Caption, //提示信息框的标题
int Flags); //提示信息框的类别
  参数Flags的值是用来标志提示信息框的类别的,下面是一些常用的类别:
参数值 样式 意义
MB_ICONWARNING 含图标、固定按钮 警告信息框
MB_ICONQUESTION 含图标、固定按钮 疑问信息框
MB_IConERROR 含图标、固定按钮 错误信息框
MB_ICONASTERISK 含图标、固定按钮 提示信息框
MB_HELP 不含图标、可改变按钮 说明信息框
MB_OK 不含图标、可改变按钮 提示信息框
MB_OKCANCEL 不含图标、可改变按钮 确认信息框
MB_RETRYCANCEL 不含图标、可改变按钮 重试信息框
MB_YESNO 不含图标、可改变按钮 是否信息框
MB_YESNOCANCEL 不含图标、可改变按钮 是否取消信息框

  从上表可以看出来,提示信息框的类别可以分成含图标和不含图标,含图标的意思就是指提示信息框上会有代表意义的图形,不过这类型的提示信息框的按钮都是固定的,都是【确定】按钮,不能增加也不能省略;不含图标的提示信息框,虽然没有对应的图形显示在提示信息框上,可是你却可以在这种类型的提示信息框内,加入各种组合的按钮,用于各种不同的情况。
MessageBox函数会返回一个整数值,这个整数值代表用户刚刚点击提示信息框上的哪个按钮,每个返回值的代表意义在下表:
返回值 数值 意义
IDOK 1 确定
IDCANCEL 2 取消
IDABORT 3 中断
IDRETRY 4 重试
IDIGNORE 5 忽略
IDYES 6
IDNO 7

下面是提示信息框的示范程序:
1. 警告信息框
Application->MessageBox(NULL,"警告信息框","警告信息框",MB_ICONWARNING);
2.疑问信息框
Application->MessageBox(NULL,"疑问信息框","疑问信息框",MB_ICONQUESTION);
3.错误提示框
Application->MessageBox(NULL,"错误信息框","错误信息框",MB_IConERROR);
4.提示信息框
Application->MessageBox(NULL,"提示信息框","提示信息框",MB_ICONASTERISK);
5.说明信息框
Application->MessageBox(NULL,"说明信息框","说明信息框",MB_HELP);
6.提示信息框
Application->MessageBox(NULL,"提示信息框","提示信息框",MB_OK);
7.确认信息框
Application->MessageBox(NULL,"确认信息框","确认信息框",MB_OKCANCEL);
8.重试信息框
Application->MessageBox(NULL,"重试信息框","重试信息框",MB_RETRYCANCEL);
9.是否信息框
Application->MessageBox(NULL,"是否信息框","是否信息框",MB_YESNO);
10.是否取消信息框
Application->MessageBox(NULL,"是否取消信息框","是否取消信息框",MB_YESNOCANCEL);
  在C++Builder中,还提供了一个很简单的信息提示框函数,那就是ShowMessage。这个函数只有一个字符串参数,你可以把要显示的字符串放到这个字符串参数里面,ShowMessage就回显示出该信息,但是没有图标,也没有按钮,只有单纯的字符串信息而已。
下面是ShowMessage函数的说明:
extern PACKAGE void __fastcall ShowMessage(const AnsiString Msg);
例子:
ShowMessage("这个就是ShowMessage函数生成的信息提示框!");

Application->MessageBox("AA", "BB", MB_OK | MB_ICONSTOP);

或MessageBox(Application->Handle,"AA", "BB", MB_OK | MB_ICONSTOP);

这种写法“级别”最高:如果弹出这样的对话框,不点掉,Application下所有的Form都
不能“动”的。

MessageBox(Form1->Handle,"AA", "BB", MB_OK | MB_ICONSTOP);

这种写法“级别”其次:如果弹出这样的对话框,不点掉,只有From1不能“动”,其他

Show()的From还可以点。
MessageBox(NULL,"AA", "BB", MB_OK | MB_ICONSTOP);
这种写法“级别”最低:如果弹出这样的对话框,不点掉,From1也能“动”,其他
Show()的From也可以点。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用VFP读取EXCEL中的数据示例 *!* *****数据导入程序,由“学生基本基本情况表模板.xls”导入数据 *!* ***使用VFP控制EXCEL表,计取中指定列的内容*********** *!* "学生基本基本情况表模板.xls"的数据布局 *!* cells(1,1):“标题” *!* cells(2,1):校区 *!* cells(2,3):学历 *!* cells(2,5):专业 *!* cells(2,6):班级 *!* *!* set safe off set talk on LOCAL inf(4) as String *dele file C:\MyDocu~1\Resume.xlw objExcel = CreateObject("Excel.Application") &&创建一个EXCEL应用程序实例 wjm=getfile("xls") objExcel.Workbooks.Open(wjm) &&调用workbooks(Microsoft Excel 应用程序; 中当前打开的所有 Workbook 对象的集合。); 对象的open方法程序来打开指定的文件,并为; 打开的文件创建一个新的工作簿 *objexcel.visible=.f. ***下面的代码判断出生日期字段的格式是否满足要求*** *IF !varTYPE(objexcel.cells(10,6))="d" * MESSAGEBOX("出生日期字段不满足格式要求,不能导入,请将出生日期字段修改为:"+CHR(13); +"mm.dd.yy的格式,如:05.19.83 表示1983年5月19 然后再运行此导入程序") * RETURN *ENDIF inf(1)=substr(objexcel.cells(2,1).value,7)&&校区 Inf(2)=objexcel.cells(2,4).value&&学历 inf(3)=objexcel.cells(2,6).value&&专业 inf(4)=objexcel.cells(2,7).value&&班 LOCAL nrow as Number ,i as Number i=0 *MESSAGEBOX("计算行数") *MESSAGEBOX(objexcel.cells(5,1).value) *MESSAGEBOX(VARTYPE(objexcel.cells(22,1).value)) DO WHILE .t. i=i+1 ?objexcel.cells(i,1).value IF !VARTYPE(objexcel.cells(i,1).value)="C" nrow=i-1 EXIT ENDIF ENDDO *nrow=20 LOCAL arecord(16) *MESSAGEBOX("循环添加记录") USE zlb disinf("zlb.dbf中现有记录"+ALLTRIM(STR(RECCOUNT()))+"条") disinf("正在添加记录") FOR i=4 TO nrow arecord(1)=objexcel.cells(i,1).value&&学号  arecord(2)=objexcel.cells(i,2).value&&姓名 arecord(3)=objexcel.cells(i,3).value&&性别 arecord(4)=objexcel.cells(i,4).value&&籍贯 arecord(5)=objexcel.cells(i,5).value&&民族 *MESSAGEBOX(VARTYPE(objexcel.cells(i,6).value)) IF VARTYPE(objexcel.cells(i,6).value)="C" arecord(6)=RIGHT(objexcel.cells(i,6).value,2)+"/"+"01"+'/'; +LEFT(objexcel.cells(i,6).value,2) ELSE arecord(6)= RIGHT(STR(objexcel.cells(i,6).value,5,2),2); +"/"+"01"+"/"; +LEFT(STR(objexcel.cells(i,6).value,5,2),2) ENDIF &&arecord(6)=IIF(VARTYPE(objexcel.cells(i,6).value)="c",RIGHT(objexcel.cells(i,6).value,2)+"/"+"01"+'/'+LEFT(objexcel.cells(i,6).value,2),; RIGHT(STR(objexcel.cells(i,6).value,5,2),2)+"/"+"01"+'/'+LEFT(STR(objexcel.cells(i,6).value,5,2),2))&&出生年月 arecord(7)=LEFT(ALLTRIM(STR(objexcel.cells(i,8).value,6,0)),6)&&邮政编码 arecord(8)=objexcel.cells(i,7).value&&通讯地址 arecord(9)=objexcel.cells(i,9).value &&收信人 arecord(10)=iif(!ALLTRIM(objexcel.cells(i,10).value)=="",objexcel.cells(i,10).value; ,"无")&&家庭电话 arecord(11)=inf(3)&&专业 arecord(12)=inf(4)&&班级 arecord(13)=objexcel.cells(i,11).value&&寝室号码 arecord(14)=STR(objexcel.cells(i,12).value,7,0)&&寝室电话 arecord(15)=inf(1)&&校区 arecord(16)=inf(2)&&学历 SELECT zlb APPEND FROM ARRAY arecord ENDFOR disinf("zlb.dbf中现有记录"+ALLTRIM(STR(RECCOUNT()))+"条") disinf("记录添加完毕,共添加了"+ALLTRIM(STR(nrow-3))+"条记录,请查检") INKEY(3) WAIT CLEAR ****定义日期转换函数,此函数能将各种格式的日期转换成mm/dd/yy的格式**** ****如果要转换的日期只有年和月,则自动添加日为'01'*** *!* FUNCTION datetran *!* PARAMETERS soudate *!* IF VARTYPE(soudate)="N" *!* DO case *!* CASE LEN(souDATE) ***关闭工作簿,退出EXCEL objexcel.quit RELEASE objexcel *!* objexcel.save *!* *objExcel.ActiveWorkbook.saved=.f. *!* objexcel.Quit &&退出 *!* RELEASE objexcel *!* retu

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值