- 注册时间
- 2005-12-20
- 最后登录
- 1970-1-1
|
看着大家都传上自己的得意之作,我也忍不住要为这儿作一些贡献。
我最近想起自己以前在WQX上写过一个MsgBox函数,自认为很好用,可是一直没有上传。我现在想将它传上来,不知大家是否想要呢?
在许多文曲星软件中都用到了消息框,例如星易资管器,EWayEditor等,可是有一些缺陷,例如只能显示一行信息,只能响应两个按键等。
我的MsgBox代码虽然不长,但应说是很实用的,也许会对软件和游戏的制作者带来方便。如果大家想要的话,我可以在以后几天将它传上来。
大家欢迎吗?
1月12日
既有人欢迎,我将它传上来吧.
函数原型是这样的:char MsgBox(int width,int text,int respond).
其中,
width表示想要的消息框的宽度,它是以小字体的一个英文字母的宽度为单位的。考虑到我们有时确实需要指定它来得到自己想要的样子,便有了这个参数。
text当然表示想要显示的信息,要说一下的是,您可以在这个参数中用回车换行符('\n')来另起一行。
respond是这个消息框的响应键列表,例如,经常用到的是"yn"(即Yes or No)。当它是空字符串时,按任意键即可结束消息框(当这个消息框只是为了显示信息而不用用户选择什么时,即可这样做)
当用户按下某一个响应键时,消息框即消失,并将被遮盖区域修复,同时将用户的选择返回。
下面是一些例子:
我们用它来显示信息。MsgBox(20,"我制作了这个MsgBox函数供编程者们享用","").
我们用它来让用户确认操作。我们这时可以将respond设为"yn":r=MsgBox(21,"您确实要退出吗?(y/n)","yn").而实际应用中我们还需响应"跳出"键,那么只要向respond中再加入一个'\033'即可。
如果您喜欢的话,也用它来让用户选择项目。如:r=MsgBox(16,"您想要?\na.吃饭\nb.睡觉\nc.编程","abc"),以后if(r=='a')吃饭();else if(...即可。 |
|