怎么用c语言做一个界面?

界面设计

作者:蹇今瑶 发布:2023-05-11 13:03 538浏览

回答 共1个

有专门的gui.

建窗口, 放控件!

如果是Linux下可以使用glade,gtk+结合,win下可以使用win32 API,虽然麻烦点,但是对全局的掌控是其他替代不了的。

运行在操作系统上的应用程序要想实现图形界面需要调用系统的API接口,当然这是最原始的方式,现在已经有很多的图形库了,如C语言的图形库gtk,C++的Qt和mfc等……,如果写操作系统的话就不能调用图形库了,操作系统的界面和各个窗口都是画出来的,没错就是画出来的,用代码绘制矩形填充一下就是一个窗口,当然这对于计算机来说只是一个图形,要想实现该图形的其他操作比如最小化最大化,按钮啊,这些还需要做大量的管理操作才能实现,所以写一些应用程序还是找个图形库做吧??

Minigui

自己去看QT和GTK

做图形界面大致涉及到这几个方面的问题:

控制显示器画出图形并随时更新图形。各大显示器厂商的分辨率以及屏幕尺寸都不一样,要考虑在不同的显示器上作出相同的图形效果。

建立图形界面操作逻辑。比如,切换画面焦点,显示文字等。仅文字一项,就要为数百种语言和数以千计的字体建立图形库,并能后不失真地自由在屏幕上缩放。

建立界面刷新同键盘鼠标等输入设备,以及后台程序处理的并行机制。避免出现诸如锁屏之类的现象

上面只是非常概略地概括了一下图形界面的部分功能,用C语言实现这些功能所需的代码数量应该是以百万行计算的。每个程序都要从零开始是不现实的。所以,人们做了很多图形界面的标准库,供程序员使用。为了进一步减少需要配布的程序数量,这些标准库被搭载到操作系统中。Windows上搭载了Win32API,Linux上搭载了Qt,等等。因此,有人说要做图形界面还得懂点操作系统。题主还说道了MFC,其实,MFC跟Qt更接近一些,它在Win32API的基础上,建立了一整套框架,可以更好地解决画面切替,操作并发的问题,可以作出更为复杂的界面。

最后要说明的是与其把api看成是汇编,mfc看成是c语言,不如把它们看成是共通函数很容易理解一些。

呵呵,楼主和我当初一样的迷惑。

我当初啃C语言的时候,也是想用C语言做界面出来,走了很多冤枉路,这里希望能给楼主一些提示。

如果你想用“纯”C来做界面的话,那么我会很肯定的告诉你,很难。你所有的操作都要调用API,包括每个按钮的位置、大小,框的位置、大小等等都是通过计算得出来的。这样一来开发的效率是可想而知的。

当然,也有专门做界面的,程序用C语言来写。比如:QT。具体的楼主可以去了解了解。

如果你想感受一下C语言的“乐趣”的话,在Win32中写一下程序:

#include

void main()

{

MessageBox(NULL," Hello World!

通过调用API来创建界面:#includeint main(){MessageBox(NULL,"Hello World!我的c语言学的恨好,但是我现在想用c语言做界面的编程,就像c#那种程序,之所以要写界面是因为要写上位机程序,我只对c语言和汇编感兴趣,学着种东西,需要什么基础,c语言基础我有了,在网上查了下说需要懂操作系统什么的,window程序设计是不是c语言界面编……我的c语言学的恨好,但是我现在想用c语言做界面的编程,就像c#那种程序,之所以要写界面是因为要写上位机程序,我只对c语言和汇编感兴趣学着种东西,需要什么基础,c语言基础我有了,在网上查了下说需要懂操作系统什么的window程序设计是不是c语言界面编程,学这个需要什么基础在网上查了下,光window程序设计分什么mfc和api,这两个是不是一个集成关系就像c语言一条语句等于汇编语言几十条语句这种关系是不是api相当于汇编语言然后mfc一条语句可以分解成很多条api,也就是说api相当于汇编,mfc相当于c语言,展开

17赞同

2023-05-11 13:46:46