将GUI C++应用程序转换为控制台之一

问题描述:

我有一个需要转换为控制台的GUI C++应用程序(Visual Studio 2008)。 我没有任何C编程经验。大多数情况下,我使用.NET。我从哪说起呢?将GUI C++应用程序转换为控制台之一

+3

'int main(int argc,char * argv []);''是你开始的地方。 – 2010-03-14 12:11:07

向下转换GUI应用程序是大手术。编程模型完全不同,GUI应用程序是事件驱动的。依靠消息循环来传递事件,并在消息处理程序中进行处理。并且通常是一组控制器,负责处理输入的垃圾文件。

鉴于您必须彻底重新设计应用程序以使其作为控制台模式应用程序工作,并且您没有使用该语言的经验,所以使用.NET语言编写此代码是您的最佳方式快速完成它。

+0

我试图在调用CreateDialog之前执行函数,并且应用程序在crtexe.c“访问冲突”中崩溃。如何解决这个问题? – SharpAffair 2010-03-16 12:22:05

+2

我的水晶球浑浊,看不到“功能”。我只能推荐使用调试器。请阅读:http://catb.org/~esr/faqs/smart-questions.html – 2010-03-16 12:27:02

  1. 创建与主
  2. 一个新的项目添加文件
  3. 在这里你有一个控制台应用程序无所事事。它可能仍然会创建窗口,或者如果你喜欢,隐藏窗口。
  4. 现在,将界面与现有代码联系起来,这取决于您的创造力。
  5. 不要忘记下载并使用boost :: program_options来正确访问命令行参数。

检出ncursesreadline以帮助您构建丰富的控制台应用程序。我发现你的can't use them both at once,所以如果你的应用程序更多地面向输出/显示或者实现单键交互(热键),那么尝试ncurses,如果它更像是一次一行的用户输入情况,那么尝试ncurses。

从重构开始。确保GUI与业务逻辑分离。然后添加另一个接口来访问这个业务逻辑:一个使用控制台,而不是GUI小部件。