2201_75361344 2023-04-24 08:35 采纳率: 0%
浏览 64

有关EasyX,怎么解决输入文字且不创建新窗口

EasyX:已经有了一个绘图窗口,想要这个窗口接受从控制台输入的汉字,但是现在的代码写入后,会新建一个窗口,原来的窗口消失,请问怎么解决这个问题?

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-25 01:00
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7523878
    • 这篇博客你也可以参考下:番外篇:入门EasyX图形库(带你进入不一样的程序窗口,超详解)
    • 除此之外, 这篇博客: EasyX接收并显示从控制台输入的数字和英文中的 EasyX如何接收并显示从控制台输入的数字和英文 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      自学EasyX,由于Easyx绘图库里执行不了cin和cout函数,无法通过此方法实现从控制台显示输入的数字和英文
      对这个问题困扰很久找不到其他易懂的办法所以一直解决不了。相信很多人也都跟我一样,恰好上次找到了笨方法,就把它分享给大家~

      1.首先需将字符集设置为多字符集
      在这里插入图片描述

      2.其次先看代码

      #include<iostream>
      #include<graphics.h>
      #include<string>
      #include<conio.h>
      
      using namespace std;
      
      int main()
      {   
          //设置窗口大小  背景颜色
      	initgraph(480, 480);
      	setbkcolor(WHITE);
      	cleardevice();
      	
      	//设置字体颜色 还有测试显示字体
      	settextcolor(BLACK);
      	settextstyle(25, 0, "黑体");
      	outtextxy(10, 220, "显示内容:");
      
      
      	string str1,str2;   //头文件 string 
      	//str1用来放c的总内容 str2每次存放“显示内容:”+str1,方便输出
      	
      	char c;  //定义字符c接收键盘输入
      	while ((c = _getch()) != '\r')  //如果没按回车,接收一个c
      	{  //getch()头文件 conio.h
      		str2 = "";
      		if (c == '\b')  //如果c是退格符,str1删掉一个
      		{
      			str1 = str1.substr(0, str1.size() - 1);
      
      		}
      		else{
      			str1 += (int)c;  
      		}
      		str2 = "显示内容:" + str1;
      		cleardevice();
      		outtextxy(10, 220, str2.c_str());  //在窗口坐标为(10,220)的地方开始输出str2的内容
      	}
      	while (1);  //结束不跳出
      }
      

      说明:这里str1拿来存放getch()得到的总内容, str2用来存放 显示内容+str1,一定要区分

      运行结果:输入Easy.X
      在这里插入图片描述
      由于getch()每次只接收一个字符,所以它只能显示接收输入的字符和数字,并不能显示汉字,听说drawtext()可以解决,可一直找不到其他办法,要是有看到或者有其他方法也要共享一下给我哦


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

    展开全部

    评论
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部