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