仅使用C或C ++开发用户界面

时间:2015-11-28 03:36:30

标签: c user-interface

用户界面如何在C或C ++等低级语言中从头开发?我们通常使用库或API制作GUI。但我有兴趣了解这些库如何实现的基本原理以及它们如何仅仅通过编码创建一个Window。

2 个答案:

答案 0 :(得分:2)

有一些令人惊讶的东西可以像按钮一样进行简单的GUI控制。

几年前,我参与了一个开发Pacemaker Programmer(自定义计算机)的项目,我们需要编写一个GUI应用程序,但我们使用的操作系统只有基于文本的输出支持。我们购买了一个名为Zinc Application Framework的产品,可以做到这一点,因为它设计用于任何工作,我们可以访问源代码(我偷看)。

有一些简单的想法,你甚至都不会想到。比如,如果按钮被另一个窗口部分覆盖怎么办?然后,您可以将按钮划分为可见区域和隐藏区域,以便显示正确的部分。请记住,屏幕只有一组像素。现在,我确信一个图形卡或者像direct-X这样的库/协议可能会为你做到这一点;但是,它必须完成,你想知道细节。

Zinc是一个非常面向对象的设计,所以我描述的部分是按钮不需要知道的窗口绘图组件的一部分。此外,它使用了大量的继承(用C ++编写)来构建类;所以,按钮的总功能遍布整个地方。例如:按钮和复选框非常相似,除了它们的显示方式;所以,实现它们的类共享相同的基类。

如果你真的很感兴趣并且愿意花时间去理解它,那么应该有你可以看到的开源窗口/ GUI代码。想到了X-Windows。我希望我能告诉你Zinc代码,因为我确信它更简单。

答案 1 :(得分:0)

我读到的关于这个主题的有趣读物之一是道路文件http://wayland.freedesktop.org/docs/html/ch01.html。它解释了X Window系统和Wayland架构。首先,可能会感兴趣。