首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你能强迫控制台应用程序看起来像gui应用程序吗?

你能强迫控制台应用程序看起来像gui应用程序吗?
EN

Stack Overflow用户
提问于 2015-03-09 12:37:51
回答 1查看 171关注 0票数 0

我一直在权衡制作gui应用的利弊,我认为控制台应用对我的计算器来说要强大得多,特别是因为它可以做不同的事情,比如金属片、二次方程等。所以我的问题是让控制台看起来像一个基于gui的应用?

EN

回答 1

Stack Overflow用户

发布于 2015-03-09 20:36:50

你的问题的答案取决于你所说的“控制台”到底是什么意思。如果您正在谈论windows控制台窗口,那么答案是“可能”。一些Windows安装可以在控制台窗口中模拟VGA/EGA图形,使它们能够在DOS下玩旧游戏。

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

完成后,您将拥有一个可以在某些人的计算机上运行的程序,但不能在另一些人的计算机上运行。在某些Windows安装中,控制台窗口不能显示图形或全屏显示。你的应用程序在这些系统上根本不能工作,尽管你可以使用2D游戏库(如SDL或Allegro )编写一个全屏Windows应用程序,而不是编写一个控制台应用程序,这会让你回到上一段。

正如您现在可能已经猜到的,滚动您自己的GUI将比编写一个Windows GUI程序要多得多,在Windows GUI程序中,按钮、文本字段等已经为您实现,光标已经闪烁,鼠标已经单击,等等。

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

现在,一些程序员使用术语“控制台”来指代Linux上的xterm windows。它们完全不是一回事,并且不能绘制图形(并且"console“对于它们的引导来说是错误的名称)。但有时你会看到菜单和里面的东西,用彩色文本“画”出来的。通常,这些是使用外部dialog外壳命令绘制和管理的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28935343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档