Alg*_*ist 52 c windows graphics user-interface
我想在C中进行图形编程.我已经搜索了很多关于编译器的信息,该编译器提供了丰富的函数,用于在C语言中进行GUI编程,但我找不到任何东西.
基本上我想绘制按钮然后接受用户的选择并采取适当的行动.如果你可以建议一个C编译器,或者我可以添加到我的编译器的库,将会很有帮助.我正在使用Windows操作系统.
目前,我使用的TURBO C编译器不支持创建按钮的直接方法.任何帮助,将不胜感激.
Cod*_*ray 118
这保证与编译器无关.所有编译器都会编译它们给出的代码.你正在寻找的是一个GUI库,你可以编写代码来反对使用你想要的任何编译器.
当然,话虽这么说,你的第一笔业务应该是放弃Turbo C.这个编译器大约有20年的历史,继续使用它并没有给你任何好处.您无法编写现代 GUI应用程序,因为它只会生成16位代码.所有现代操作系统都是32位,现在很多都是64位.值得注意的是,64位版本的Windows本身不会运行16位应用程序.你需要一个模拟器; 如果你只能编写在DOS模拟器中工作的应用程序,它并不会真正产生很多成就感.:-)
Microsoft的Visual Studio Express C++ 可以免费下载.它包括完整版套件中提供的相同编译器.C++包还编译纯C代码.
由于您在Windows中工作,Windows API是一个自然的选择.它允许您编写可以访问全套GUI控件的本机Windows应用程序.你会在这里找到一个很好的教程,用C编写WinAPI应用程序.如果你选择使用Visual Studio,它还包括一个空白的WinAPI应用程序的样板代码,可以帮助你快速启动和运行.
如果你真的关心学习如何做到这一点,Charles Petzold的Programming Windows是该主题的规范资源,绝对值得一读.整个Windows API都是用C语言编写的,完全有可能用C语言编写全功能的Windows应用程序.您不需要stinkin'C++.
这是我做的方式,至少.正如其他答案所示,GTK也是一种选择.但它生成的应用程序在Windows上看起来非常糟糕.
编辑:哦亲爱的...看起来你并不是唯一一个想要使用过时的编译器编写"GUI"应用程序的人.Google搜索会显示以下库:TurboGUI:Turbo C/C++的GUI框架:

如果你是另一个陷入绝望的印度学校系统的穷人,并被迫使用Turbo C来完成你的教育,这可能是一个选择.我不喜欢推荐它,因为一旦你毕业,学习解决它的局限对你来说是完全没用的,但是如果你感兴趣的话,显然它就在你身边.
在主函数中使用win API:
然后编写另一个处理win消息的函数(在#1中提到).当您收到消息WM_CREATE时,您必须调用CreateWindow().该类是该窗口的控件,例如"edit"是一个文本框,"button"是一个..按钮:).您必须为每个控件指定一个ID(您可以选择,但在所有控件中都是唯一的).CreateWindow()返回该控件的句柄,需要记忆.当用户单击控件时,您会收到带有该控件ID的WM_COMMAND消息.在这里你可以处理那个事件.您可能会发现有用的SetWindowText()和GetWindowText(),它允许您设置/获取任何控件的文本.
您只需要win32 SDK.你可以在这里得到它.
小智 5
Windows API和Windows SDK,如果你想自己构建所有东西(或)Windows API和Visual C Express。获取 2008 版。这是一个成熟的 IDE,也是 Microsoft 用于 Windows 开发的出色软件。
所有操作系统都是用 C 编写的。因此,您用 C 编写的任何应用程序、控制台/GUI 都是操作系统的标准编写方式。
C更像是一种硬件编程语言,有简单的GUI构建器,适用于C,GTK,Glade等.问题是在C语言中创建一个简单的程序,使GUI成为一个简单的部分,困难的部分是结合两者,你的程序和GUI之间的接口是一个令人头疼的问题,不同的GUI使用不同的方式,一些投掷全局变量,一些使用插槽.拥有一个可以轻松绑定C程序变量和输出的GUI构建器会很不错.当您克服内存分配和指针时,CLI编程很容易,GUI可以使用使用拖放的IDE.但我认为它可能更简单.