我在 VS2008 中基于一个空的 Win32 控制台应用程序编写了一个程序,该程序在 Win7 64 位上运行。该程序完全是基于菜单的生成main.cpp
,它只调用外部函数,这些函数根据用户需求(例如收银员、库存、报告等)引导到其他界面。我想做的是为每个界面提供一个新的控制台窗口。
理想情况下,它会在调用任何其他界面等时关闭主菜单,以在用户完成其功能时关闭,包括在必要时重新打开主菜单。
这样做的基础是我下周开始新学期,用 C++ 深入研究 OOP,我想复习我的文本并完成随着主题进展的顶点项目,以确保我拥有所有的基础知识拍拍。尽管我很想以最聪明、最简单的方式做到这一点,但最好还是坚持本书中提供的有限知识,这些知识仅暗示STL
并没有提及其他库,例如boost
.
当然,我已经搜索过 SO 和其他地方寻找解决方案。我找到了答案,其中大多数都超出了我的严格要求,有些是从头开始构建控制台窗口。虽然从头开始似乎是最有前途的,但它似乎是在处理那些不使用像 VS 这样强大的 IDE 的人,我不知道它是否会导致更多的冲突而不是它的价值,或者它是否甚至可以用于多重性。然而,大多数人给我的印象是这是不可能的。一个例外是将控制台链接到进程。这就是我希望在我的未来!
让我想到这一点的原因是需要清晰地审视每一个事件的转折。起初我试图用一个基本的功能来清除屏幕,比如void clearScreen(int lines);
但这将始终从底部清除。所以,如果我在下一个界面之前清除屏幕,它仍然在底部。如果我清除它然后接受输入,提示仍然在底部。
以防到目前为止还没有弄清楚。我的问题是:
是否有可能在合理的范围内生成多个与进程相关的控制台窗口,或者是否有一种我不知道的简单方法来操纵主控制台窗口的滚动?
尽管我“需要”停留在传统学习的婴儿步过程的范围内,但我很想听到除了切换应用程序类型之外的任何输入。
这更像是一个强迫症问题,而不是任务的要求,所以如果努力不值得,那也没关系。