首先,因为是easyx程序,所以像scanf和printf此类函数我们就可以舍弃了。
这里我们选择getch
下面是一个使用实例:
#undef UNICODE
#undef _UNICODE
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
void visual()//可视化输入
{
int n=0;
char enter[100];
while (true)
{
enter[n] = _getch();
if (enter[n] == '\n' || enter[n] == '\r') break;///回车后便停止数据录入
outtextxy(200+30*n, 200+ (200 - textheight(enter[n])) / 2, enter[n++]);
}
}
int main()
{
initgraph(800, 800);
setbkcolor(GREEN);
cleardevice();
fillrectangle(200, 200, 600, 400);
settextcolor(BLACK);
settextstyle(50, 0, "楷体");
setbkmode(TRANSPARENT);
visual();
getchar();
}
因为getch单次只能获取一个,所以我们需要对其加个循
缺陷:1,也是最明显的,那就是已输的不能删,当然如果后续加判断应该是可以避免的
2,在输入完毕后还需要手动对局部区域清除
对此我们也可以调用inputbox来代替,来构建一个输入窗口,这里不多赘述。