不使用GUI工具包开发GUI应用程序

时间:2014-12-30 05:51:58

标签: c++ c user-interface

是否可以在不使用GUI工具包的情况下编写GUI应用程序?由于像GTK +这样的GUI工具包是用c语言编写的,当开始时没有这样的工具包时,程序员如何在不使用这些工具包的情况下仅使用c或c ++开发GUI应用程序?如何在不使用任何GUI工具包的情况下用c或c ++编写Gui应用程序?

3 个答案:

答案 0 :(得分:4)

您可以直接使用Win32 API对Windows GUI应用程序进行编程,而无需使用任何单独的工具包,如GTK +。关于如何做到这一点的一个参考是:http://www.winprog.org/tutorial/start.html

这些日子并不常见,也不适合胆小的人。

答案 1 :(得分:3)

在Windows中的API级别执行GUI工作并不困难,但需要做很多工作。

作为起点,您可以查看我的旧Windows API编程教程“Lessons in Windows API Programming (C++)”

走这条路线你最好能获得Charles Petzold的“编程Windows”的5 th 版本或更早版本(不是6 th 或更高版本)的副本,被认为是关于这个主题的圣经。

答案 2 :(得分:2)

从图形的帧缓冲开始,然后编写一组基本函数来执行基本几何(线,圆,多边形,位复制)。然后创建一个事件队列,并用输入事件(键盘,鼠标等)填充它。

您还需要创建字体和文本例程。

这些是构建任何GUI的基础知识,因为基本的guis只不过是点击事件的盒子,最终是键盘事件。

这是一项很多工作。

如果您想在较低级别查看GUI编程,请考虑查看它是否最初是在原始操作系统中完成的(例如早期的Windows,早期的Mac OS,早期的X Windows)。

Mac OS大部分工作都是明确的。它提供了一个窗口管理器和其他高级控件,但通过一些研究,您可以看到它们是如何构建在Quickdraw(MacOS图形基元库)之上的。

这些都没有解决现代GPU加速等问题,这是问题的一个完全不同的复杂层。