繁体   English   中英

您可以强制控制台应用看起来像gui应用吗?

[英]Can you force a console app to look like a gui app?

我一直在权衡制作gui应用程序的优点/缺点,并且我决定控制台应用程序对我的计算器的功能要强大得多,尤其是因为它可以执行箔纸,二次方程式等不同的功能。所以我的问题是控制台看起来像基于GUI的应用程序?

问题的答案完全取决于“控制台”的含义。 如果您在谈论Windows控制台窗口,那么答案是“也许”。 某些Windows安装可以在控制台窗口中模拟VGA / EGA图形,从而使它们能够玩DOS的旧游戏。

您的任务将是根据用于绘制线条和矩形的简单图形基元来实现所需的每个GUI小部件,例如可单击的按钮,文本输入字段等。 然后,您必须编写指出鼠标位置并在正确位置绘制鼠标指针的代码。 您还必须编写代码使光标闪烁,使箭头键移动光标,并使其能够在文本输入框中选择字符并复制,剪切和粘贴。

完成后,您将拥有一个可以在某些人的计算机上运行但不能在其他人的计算机上运行的程序。 在某些Windows安装中,控制台窗口无法做图形或进入全屏模式。 尽管您可以使用2D游戏库(例如SDL或Allegro)编写全屏Windows应用程序,而不用编写控制台应用程序,但您的应用程序根本无法在这些系统上运行,这将带您回到上一段。

您可能已经猜到了,滚动自己的GUI比编写Windows GUI程序要耗费更多精力,在Windows GUI程序中,已经为您实现了按钮,文本字段等,光标已经闪烁,鼠标已经单击,等等

另外,进行实际计算的代码应与从用户那里获得输入并在屏幕上显示答案的代码完全分开,这样,该代码就不必考虑要编写GUI还是控制台应用程序了。 它们甚至不应与I / O例程位于同一个.cpp文件中。

现在,一些程序员使用术语“控制台”来指代Linux上的xterm窗口。 这些根本不是一回事,并且无法绘制图形(并且“ console”是引导它们的错误名称)。 但是有时您会看到菜单和其中的东西,它们是用彩色文本“绘制”的。 通常,这些是使用外部dialog shell命令绘制和管理的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM