易码技术论坛

 找回密码
 加入易码
搜索
查看: 284991|回复: 10

我这里有一个MsgBox函数,大家想要吗?

[复制链接]
发表于 2007-1-10 19:19:25 | 显示全部楼层
最好是gvm2.0版的,彩色的
发表于 2007-1-10 19:24:19 | 显示全部楼层
欢迎,不过我不会用~
发表于 2007-1-10 19:55:26 | 显示全部楼层
好啊,正在找更好的显示方法
发表于 2007-1-11 10:14:41 | 显示全部楼层
好啊
 楼主| 发表于 2007-1-12 19:20:58 | 显示全部楼层
我已将代码传上了.
 楼主| 发表于 2007-1-14 15:04:33 | 显示全部楼层
下载过的朋友们,怎么样呢?
发表于 2007-1-14 16:28:54 | 显示全部楼层
如果能再美化一下就更好,像yan那种仿windows的窗口。
发表于 2007-1-14 17:08:05 | 显示全部楼层
自己做啊,窗口很简单啊
不过要是支持换行(要识别中文,使之不乱码)就有些麻烦
 楼主| 发表于 2007-1-14 17:32:05 | 显示全部楼层
To be frank,我觉得仿Windows窗口实在没必要.
epcdiy说得对,要正确地处理中文的换行就更好了,但是那样好像程序要复杂得多,而我当时没注意到这个问题.
但是大多数情况下它还是很好用的.
 楼主| 发表于 2007-2-4 13:48:47 | 显示全部楼层
怎么分析一个字符串中全角字符的情况?
 楼主| 发表于 2007-1-10 19:12:50 | 显示全部楼层 |阅读模式
看着大家都传上自己的得意之作,我也忍不住要为这儿作一些贡献。
我最近想起自己以前在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(...即可。

Msgbox.txt

2 KB, 下载次数: 11

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-5-1 01:07 , Processed in 0.012315 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表