到目前为止,我一直只编写控制台应用程序,但我需要为学校作业编写一个简单的窗口应用程序。
有人能指点我一个很好的教程如何在ANSI C中创建窗口和其他普通的windows元素,如按钮,2d图形等?我应该使用一些好的图书馆吗?
我尝试使用谷歌搜索,但没有专门针对C的教程网站。
如果可以的话,我也会感谢一些示例代码。
谢谢。
顺便说一句,我使用Dec C ++。
答案 0 :(得分:7)
GTK是一个很好用的库,但可以在Windows下提供非本机外观。它在GNU / Linux下看起来很棒,特别是使用GNOME。
它仅在C中实现(使用GObject类型系统,GLib库的一部分),因此它将非常适合您的需求。还有一个名为Glade的RAD工具。
答案 1 :(得分:6)
ANSI C标准中没有任何关于Windows的内容。如果要创建一个窗口化应用程序,则必须使用特定于平台的库(例如Win32,Cocoa或X11),或者某种跨平台库,封装(例如SDL,wxWidgets或更多)。
答案 2 :(得分:2)
http://support.microsoft.com/kb/829488也讨论如何创建
Windows应用程序:创建一个简单的 基于Microsoft Windows的应用程序。 应用程序文件包括a 包含一个的ProjectName.cpp文件 _tWinMain功能。您可以使用此类应用程序执行 基于图形用户界面(GUI) 编程。
至于教程...使用MSDN。 Win32 API 是 C.您不需要“Win32 ANSI C教程” - 您需要Win32教程(例如http://www.winprog.org/tutorial/start.html,http://www.functionx.com/win32/Lesson01.htm) - 当然,除非你不知道ANSI C,但你只需要寻找ANSI C教程。这些科目是独立的。
答案 3 :(得分:2)
常见的起点是Charles Petzold's Programming Windows和theForger's Win32 API Programming Tutorial。
但是在大多数情况下,C不再是Windows开发的首选语言。面向对象技术更适合GUI开发,随着MFC的引入,C ++成为首选语言,后来成为.Net,C#和C ++ / CLI。
Win32 API可能很难工作,MFC的大部分都比Win32 API包装好一点,但.Net框架是从头开始设计的,并且不受Win32 API怪物遗留问题的影响,并且工作正常随之而来的往往会带来更高的生产力。
无论哪种方式,Dev-C ++都不是GUI开发的好工具。
答案 4 :(得分:1)
有许多优秀的图书馆 - 如果没有开始宗教战争就有太多明显的选择。我建议您在第一个库中学习一些适用于Windows,Linux或OSX的内容。这里有两个不错的选择,不一定是最好的,但广泛使用和个人的最爱:
答案 5 :(得分:1)
由于该语言的优势在于其他地方,因此没有多少普通的C GUI库。也许您应该考虑使用带有C绑定的语言,这样您仍然可以在C中进行数字运算,但是使用不那么痛苦的GUI开发?
如果您真的想要坚持使用C,您可以使用操作系统的本机API或我所知道的唯一当前的跨平台C GUI库:GTK +。如果你真的不需要GUI而只需要图形输出,我会选择SDL。
答案 6 :(得分:0)
我建议您下载Microsoft Visual Studio 2008 Express Edition并使用C#.Net。
答案 7 :(得分:-1)
如前所述,我建议您使用Winforms并切换到.Net环境。这是2009年,我认为有更合适的GUI解决方案:P
编辑:Nvm,没看到这是学校作业。
但是,这是Win32 API上的C ++指南:http://www.relisoft.com/win32/index.htm