使用C++手写Windows图形用户界面而不使用集成开发环境(IDE)

3

嘿,我看到了一些关于这个主题的问题,但大多数只是试图指出使用IDE创建GUI是否更好,那不是我的问题。

我想在将来使用像Qt这样的IDE编写更大的程序,但目前我对C++尤其是GUI还很陌生,并且想学习如何手动编写简单的应用程序(例如带有按钮、文本框和一个输出结果的“Hello World”应用程序)。 也许为了避免讨论我为什么要这样做:因为我喜欢折磨自己,特别是因为我讨厌如果某些东西(在这种情况下是IDE)创建了我不理解的东西,但我仍然必须使用它。

所以,是否有任何关于使用像Notepad ++这样的编辑器手动编写小型C ++应用程序的简短介绍教程?


所以你想折磨自己。但是你想要针对哪个GUI框架/库进行开发?Qt(只使用库,不使用设计师),wxWindows,MFC,甚至直接使用Win32 API?后者将是最受虐的选择。 - stakx - no longer contributing
3
请说明您是否计划直接调用WinAPI(这种方式最麻烦,但也是最灵活的),或者您想使用对其进行抽象的工具。 一个常见的抽象是MFC(但据我所知,您至少需要Visual Studio的专业版本才能使用它)。 一种替代方法(例如Google Chrome使用的方法)是WTL(http://en.wikipedia.org/wiki/Windows_Template_Library)。 还有其他GUI工具包(通常是跨平台的),如Qt(其GUI部分)、wxWidgets、FLTK等,它们可以将更多东西抽象化。 - Nubok
我不确定(就像我说的,非常初学者),但是似乎WinAPI是开始的最佳方式。我今晚或明天会查看stakx发布的教程(今晚没时间,要去看电影:)),并在今晚给出“投票”和“答案接受”,正如你所看到的,我是StackOverflow的新手 :) 希望这一切都有所帮助,现在请接受我的书面感谢,谢谢。 - Baarn
3个回答

7
如果你想学习Win32编程,我(和许多其他人一样)推荐查尔斯·彼得索尔德(Charles Peztold)的书籍:

http://www.charlespetzold.com/pw5/index.html

除非它在我手中的版本有所改变,否则它不假设任何IDE或框架,仅限于Win32本身和C编译器。它将为您提供操作系统/API工作原理的良好基础,并使您易于理解构建在其上的工具和框架(如果您决定使用它们)。

1
谢谢你的回答,我觉得买一本书对我来说有点过了,我只想在转向使用IDE之前获得编程GUI的基础知识。 - Baarn
你可以选择使用任何工具,但是打好基础会帮助你更好地理解框架等工具的使用。了解MFC等工具的原理和作用非常有用,因为它们让事情看起来与实际情况非常不同。(对于大型项目而言,MFC更像是一个混淆层,而不仅仅是对程序员的帮助。:)) Pezthold中的所有内容都与你如何编写Windows程序相关;只是有些工具可以让你更快地完成任务。 - Leo Davidson

4
这是一个创建GUI的教程,不需要任何库,因为它针对本地Windows API:
创建基于Win32的应用程序(C++): http://msdn.microsoft.com/en-us/library/bb384843.aspx (正如用户Nubok在上面的评论中写道,针对Win32 API进行编程相当费力。但您将学到有关Windows内部工作原理的许多知识。)
本教程假定您正在使用Visual Studio;只需忽略它谈论基于模板创建新解决方案的部分。该文章中重要的部分是代码示例。
当涉及到编译和链接您的代码时,您需要查看编译器手册以了解如何引用外部库等细节。只需确保在链接过程中包含Win32 API的导入库即可。 (请注意名为win32.lib、win32api.lib或类似名称的内容。)

3

这里有一份很棒但有些过时的教程,涵盖了Windows平台下GUI应用程序编程接口,你可以在winprog.org找到它。不过这份教程使用的是C语言而不是C++。


谢谢你的回答,我想给你点赞,但我还不能 :) C并不完全是我要找的,特别是因为我甚至分不清C和C++之间的区别,但我认为它能教授一些基本的理解。 - Baarn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接