多线程求助

0

我使用easyx制作了一个控制台(用 Windows 窗口模拟),现在它可以接受字符串并输出。

我打算使用win32完成它的输入操作,但是我发现一个问题:进行输入时,调用输入的位置会被截断,因此可能无法调用draw()函数对控制台进行刷新

在这种情况下,我还有没有必要使用传统的绘制逻辑,即:

while(is_open)
{
	update();
	
	if(time-last_time<CLOCKS_PER_SEC/60)
		draw();
	
	Sleep(5)
}

还是直接使用多线程接管输入以及渲染操作?

我只是想让我的控制台能够做到基本的输入输出,但是我不知道如何在阻塞代码运行的同时,能够检测到输入并刷新窗口

ava
无名氏

2021-6-26

0

你说的“传统的绘制逻辑”,是指游戏,而不是 UI 系统。

你要做的东西,属于 UI 部分。UI 部分一般不用定时刷新这种逻辑,你可以参考一下 Win32 的 UI 做法。

ava
慢羊羊

2021-6-26

的确如此,我现在重载了WndProc,并通过SendMessage传递重绘消息,但我遇到了另一个问题,能请到最新的问题看一下吗? - 无名氏 2021-6-27
技术讨论社区
相关问题