愿闻其详

随心所写,姑妄听之

0%

wconio 使用文档

按功能索引的函数

初始化函数

1
void initwcon();
  • initwcon()函数是核心函数,必须在每一个文件的开头调用,用于初始化一些参数;

输入输出

1
2
3
4
int  routputString(int x, int y, const char* str);
int outputString(int x, int y, const char* str);
char whatKey(int mode); // 0为非阻塞输入,1为不回显阻塞函数,2为回显阻塞函数
int outputStringC(int x, int y, const char * str, WCON_COLOR fontColor, WCON_COLOR backColor);
  • routputString是在(x,y)位置输出字符串str,同时不改变光标位置。r的意思是不改变光标位置。

  • outputString是在(x,y)位置输出字符串str,同时将光标改变到(x,y)位置。

  • whatKey是一个输入函数,他有三种模式:

    mode = 0时,调用此函数并不会让程序中止等待输入,而是会让程序继续运行,每次都会返回一个char。如果没有输入,则返回WCON_NOHIT(库内所有宏均以WCON开头)

    mode = 1时,此函数作用相当于getche()(声明在conio.h头文件中,会中断程序等待用户输入,在控制台输入后会立即显示,并继续运行程序),会中止程序等待输出,但在屏幕上没有回显

    mode = 2时,此函数作用相当于getchar()。

  • outputStringC首先根据传入的字体颜色和背景颜色更改相应的设置,再再指定位置(x, y)处打印字符串str,光标位置会改变,并且,背景颜色和字体颜色设置会保存。

设置控制台相关信息

1
2
3
4
void setConSize(int width, int height);
void setTitle(const char* str);
void setConMode(int mode);
int setColorReveral();
  • setConsize 正如你所见,设置终端的宽和高(单位是一个字符),注意,字符的高一般大于宽。

  • setTitle 设置控制台标题为传入的字符串title。

  • setConMode 设置控制台输出模式

    • WCON_MODE_FULLSCREEN 全屏
    • WCON_MODE_WINDOW 窗口显示
  • setColorReveral 互换前景颜色与背景颜色

设置颜色

1
2
3
4
int  setFontColor(WCON_COLOR color);
int setBackgroundColor(WCON_COLOR color);
int setFontRGB(int r, int g, int b);
int setBackgroundRGB(int r, int g, int b);

如你所见,非常容易理解。 注意显示的RGB可能与你想象的不同
这里是常用的颜色宏
                        WCON_BLACK 黑色
                        WCON_BLUE            蓝色

                        WCON_RED              红色
                        WCON_WHITE          白色  
                        WCON_GREEN         绿色

控制光标

1
2
3
4
5
void hideCursor();
void showCursor();
int moveCursor(int x, int y);
void saveCursor();
void reCursor();
  • hideCursor()隐藏光标。
  • showCursor()显示光标
  • moveCursor(int x, int y) 移动光标至指定位置
  • saveCursor()保存光标位置
  • reCursor()恢复光标位置

绘制矩形

1
2
void drawRect(int posX, int posY, int width, int height, WCON_RECT_SYTLE style);
void drawFrameRect(int posX, int posY, int width, int height, WCON_RECT_STYLE style);
  • drawRect:此函数作用为在指定位置(posX,posY)绘制宽width(屏幕水平方向),长height(屏幕垂直方向)的矩形。最后一个参数是矩形的样式 。光标位置不会改变

    WCON_SNORMAL        常规矩形

    WCON_SCROSS         十字矩形
    WCON_SSTAR 星形矩形

  • drawFrameRect:此函数同样在指定位置(posX,posY)绘制宽width(屏幕水平方向),长height(屏幕垂直方向)的矩形,并使用font的颜色绘制(默认为白色,可使用setFontColor函数修改颜色)光标位置不会改变。

清除

1
2
3
4
5
void cleanAll();
void cleanline();
void cleanCharxy(int x, int y);
void rcleanCharxy(int x, int y);
void cleanChar();
  • cleanAll()清空控制台上所有内容并用背景颜色填充所有区域
  • cleanline()清空光标所在这一行的所有内容并用背景颜色填充这一行,光标位置不变。
  • cleanCharxy(int x, int y)将光标位置移动到指定位置(x, y),并清除在此处的字符(如果存在的话)。
  • rcleanCharxy(int x, int y)保留光标位置不动,清除指定位置(x, y)处的字符(如果存在的话)
  • cleanChar()清除光标位置处的字符

获取信息

获取字符信息

1
2
char getCursorChar();
char getxyChar();
  • getCursorChar() 获取光标位置的字符

  • getxyChar() 获取xy位置的字符,前提是该位置有字符

获取光标信息

1
2
3
Wspos getConcursorPos();
int getConcursorPosX();
int getConcursorPosY();
  • getConcursorPos():返回储存当前光标所在位置的结构体变量(Wspos有成员x和y)
  • getConcursorPosX():返回当前光标所在位置的x坐标。
  • getConcursorPosY():返回当前光标所在位置的y坐标。