[TOC]
基本内容
坐标:
左上角为原点,x轴向右延伸,y轴向下延伸,无负坐标。
使用GOTOXY函数来控制光标位置。
1 | GOTOXY(1,1)//控制光标至控制台左上角 |
颜色:
下划线加颜色单词,例如_Red为红色。
下划线前加H代表高亮,H_Red为高亮红。
高亮灰H_Gray为白色。
所有的颜色单词可以在头文件中看到。
1 | SETCOLOR(_Green,1,1) |
光标:
光标的显示与隐藏可以使用GUANGBIAO函数来控制。
1 | GUANGBIAO(0);//0为不显示,1为显示 |
输出:
封装了一个输出函数SAY
1 | SAY(H_Green,4,5,"Hello World!"); |
绘制函数
ANYLINE函数是用来画横线的
1 | ANYLINE(_Blue,2,3,5,"+",1);//这条语句将会在(2,3)的位置输出5次+,每次输出后向右移动1个单位。 |
VERTICALLINE函数是用来画竖线的
1 | VERTICALLINE(_Yellow,4,5,7,"|");//从(4,5)开始向下输出7次 |。 |
DRAW_SQURE函数用来画方框
1 | DRAW_SQURE(1,1,7,7,_Green,"+",1); |
绘制函数基本上还没有怎么写,以后会有更多方便的绘制函数。主要的内容在下面。
FORM类
FORM是一个可以生成选单的类
1 | int selection = 0; |
实例化一个选单对象时,前四个参数指定了生成位置左上角横纵坐标和右下角横纵坐标,最后两个是横向选项个数和纵向选项个数。
//觉得丑(?)可以自定义颜色和符号
主要成员变量
字符串(string):
选单标题title,构成选单的字符FormStr
,构成选项的字符OptionStr.
整型 (int):
选单的左上角坐标x1,y1
选单的右下角坐标x2,y2
选单标题的颜色TitleColor
每行选项个数optionX
每列选项个数optionY
成员函数
选择函数SELECTION:
共接收三个整型参数:
选单外框颜色COLOR_form
选项的颜色COLOR_option
选项名的颜色COLOR_str
返回值为整型,返回的是选项的值。选项的值默认从0开始按从上到下,从左到右的顺序直至最后一个选项。
函数调用后会在控制台展开一个选单,wsad(小写)控制高亮显示的选项,按下回车则函数返回选项的值,esc键退出选择返回值 -1。
使用后的选单不会清理自己。
清空函数CLEAR:
不需要参数,调用后清理选单所在的位置
无返回值
设置值函数SETVALUE:
需要两个整型参数:
选项编号id
修改的值InValue
无返回值。
获得值函数GETVALUE:
提供选项编号id,返回选项的值。
设置选项名函数SETOPTIONNAME:
提供选项编号id和选项名InName,默认选项没有名字。
获得选项值函数GETOPTIONNAME:
提供选项编号id,返回选项的名字。
获得选项坐标函数GETOPTIONXY:
需要提供选项id和两个用于储存选项坐标的整型变量。
绘制函数DRAW:
同样需要三个整型参数:
选单外框颜色COLOR_form
选项的颜色COLOR_option
选项名的颜色COLOR_str
绘制函数会在屏幕上绘制选单。
无返回值
测试函数TEST:
这个函数旨在开发阶段帮助开发者调整合适的选单参数。
不需要参数。
执行后方框会集中在左上角,wasd和ijkl分别控制方框的左上角和右下角,如果发生诡异的显示状况,可能是右下角不再是右下角导致的。
建议在使用的时候先控制右下角远离左上角。
按下**[ENTER]预览生成效果,再按一次回到移动模式。按下[TAB]**键可以隐藏方框,再按一次显示方框。
输入限制函数ENTER
这个函数在写图形界面时非常实用。
如果使用cin接收用户输入的话,用户可以通过输入换行和空格破坏画面。
使用ENTER函数就可以限制用户的输入。
1 | ENTER(H_Gray,5,7,10); |
但是并不能正确处理宽字节,也就无法输入中文。
后续的更新会解决这个问题。
SCROLL_LIST类
SCROLL_LIST是一个可以生成滚动信息栏的类
1 | SCROLL_LIST TestList(5, 5, 40, 7); |
//又觉得丑(?)还是可以自定义颜色和符号
滚动信息栏的使用设计和选单很不一样。
主要成员变量
字符串(string):
信息栏标题title
构成信息栏边框的字符Str
整型 (int):
信息栏左上角坐标x,y
选单标题的颜色TitleColor
信息栏的长度(每行最多显示的长度)StrLimit
信息栏的高度(最多显示多少行)MaxNum
成员函数
信息栏绘制函数DRAW:
提供一个颜色参数,在控制台打印出信息栏的外框
无返回值。
清空函数CLEAR:
不需要参数,调用后清理信息栏所在的位置
无返回值。
创造记录函数CREATERECORD
创造纪录函数的参数最多为六个,
分为三组,每组由颜色和字符串两个参数组成。
按顺序称为记录的第一部分,第二部分和第三部分。
上面截图的第一条记录只用到了一个部分。
第二条用到了三部分。
第一部分通常起提示的作用,所以后两个部分如果过长会自动换行并与第一部分对齐。
现在中文换行可能会出现乱码,后续的更新会解决这个问题。
在实例化一个滚动信息栏对象后,
在程序的任何位置调用此函数就能立即在信息栏输出信息。信息过长会自动换行,超过显示的上限会滚动显示。
滚动函数ROLL
两个颜色参数分别指定信息栏外框的颜色和光标指针的颜色。
按ws来控制光标上下移动,光标到顶端或底部后继续向上或向下信息栏会开始滚动。
按下[ENTER]会返回光标所在的行数。行数从0开始向下递增。
按[ESC]返回-1;
播放函数DISPLAY
提供开始和结束的行数,信息栏就会显示这一段信息。播放不存在的信息会访问到非法内存
获得记录函数GETRECORD
提供行数返回一个RECORD对象。
直接对信息栏中的信息进行操作可能会导致访问非法内存等问题
END
XzyGraphics库只是我在大一时方便自己写程序的工具,分享出来帮助和我一样正在学习的人创造更好看的命令行界面。*(它用起来真的很简单!)*它的不足和缺点还有很多,我也会坚持继续更新。如果你有建议或问题,发送邮件至n0p3@nyist.edu.cn。
感谢你花时间来阅读我的第一篇博客。:)