永发信息网

怎么做图形化软件

答案:2  悬赏:70  手机版
解决时间 2021-03-28 02:13
怎么做图形化软件
最佳答案
关于这个问题,如果是十年前,会有很多东西推荐。到了现在这个时代,如果不是对性能有特别的要求,不建议使用C语言来进行Windows的GUI编程。
主要原因有以下几点:

C语言本身的指针和内存管理机制让程序容易出错,不易维护。
C语言的非面向对象特性,使得代码易读性相对较低。
C语言进行Windows的GUI编程需要直接调用Windows的API,Windows版本变化产生的API差异导致程序通用性降低。
现在有太多的简单易学、安全稳定、开发快速的语言和框架可用。
所以,类似已有答案提到的C#,或者说基于.Net框架的编程(可用语言有http://VB.net、
C++、C#、F#……),可以说是微软推荐的现代Windows界面编程方法。不过由于Visual
Studio为收费软件,免费的Express版又缺少一些功能。如果你是守法的开发者,也可以使用类似Python的语言配合类似Gtk、Qt、
wxWidget(wxPython)等GUI库来进行开发。

另一方面,比起图形界面编程,如果你想继续在稍偏底层一些的高级语言上战斗
一阵,我更推荐你好好地学习一下C++。学习了C++后,旧一些Windows编程可以使用有人提过的MFC框架或者同是微软推出的ATL技术(这个我没
怎么用过),基于.Net框架也有托管式C++可用(不过,说实话真不如用C#方便),其他你还可以选择很多第三方图形界面库,我上面提到的Gtk、
Qt、wxWidget等都有支持C++的版本。

如果你看到这里,还是非要自虐一下或者说自我锻炼一下,用C语言开发Windows图形界面编程的话,上面有人推荐的Windows编程的书是要读的。
个人认为要注意理解以下几个概念:

Window (窗口) - Windows之所以叫做Windows,是因为从编程的概念上看一切都是Window。
Message (消息) - 对鼠标、键盘、系统等一切的反应都是通过消息实现的。
Message Loop (消息循环) - 说白了图形界面的程序就是个死循环,不断循环等待处理各种消息,这个死循环就是消息循环
Class (窗口类) - 这个跟面向对象的Class不一样,是用来区分各种窗口的,你要想让自己的窗口显示,先要注册一个新的Class。
Handle (句柄) - 不知道这个东西是谁脑子串了哪根筋翻译出来的,害得我好久没明白其真谛。说白了就有点类似Windows里面自造的一个指针。

解了这些概念,学会查询MSDN,加上积累到一定程度的C语言编程功力,也不是不可以开发出精彩的Windows图形界面程序。不过你要耐住性子面对一个
现实:你写一个程序的时间,别人已经可以通过其他技术手段写出4、5个类似的程序了,而且界面可能更漂亮,功能可能更强大。

不知道以上答案是否能满足你的需求。我现在再去看看你的另一个问题去。


来补充一点,上面提到的第三方图形界面库,大多数都是跨平台的。掌握了之后,你可以写一份程序然后在Windows上编译为Windows版本,在
Unix-like系统(Linux、Unix、FreeBSD等)上编译为相关系统的版本。所以比单纯学习Windows界面编程的应用面广些。缺点是
因为要照顾各种系统,有些Windows独有的特殊效果恐怕比较难实现。
全部回答
C++ Builder,就是运用c语言的知识。你看一看吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
C字开头英文歌,只由一个单词构成的歌名,男声
杀鸽子怎么拔毛一,用开水烫还是直接拔
1千克苹果3.60元,比香蕉贵0.20元,买了3.5千克
有人知道哪个YY有收英雄联盟账号的吗?
nat和PAT有什么区别
定标后几天发出招标通知书
陈翔六点半之废话少说里刚和台总谈完话的插曲
sounds是什么意思
祭祀 祈福与求嗣应该如何择日?
25x^2=36、x^2=25、x^2一81=0、x^3=0.008、x^
为什么会害怕领导,莫名的害怕
疾风之刃手游选什么职业好 职业选择实力分析
若待排序列用带头结点的单链表存储,试给出简
SEO现在还有发展吗?会不会已经有点边缘化了
有没有北方猪圈的盖法
推荐资讯
排量1200cc的助力车需要上牌照吗
P照驾驶证哪里考
罗莱家纺有假货吗求解
8/21乘以7/16减去8/21减去5/
丰田致炫1.3手动档灵动版能不能听歌
解答题构成细胞的生物膜是选择透过性膜,其特
求旧版标日单词学习软件
求工程造价图纸一套,要有总说明,建施图,结
开发是不是跟提督等级有关的啊喂
林蛙油可以天天吃吗
有什么小礼物可以送给室友
冬汽车季机油夏天继续用 可以吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?