永发信息网

怎么做图形化软件

答案:2  悬赏:70  手机版
解决时间 2021-03-28 02:13
  • 提问者网友:饥饿走向夜
  • 2021-03-27 13:54
怎么做图形化软件
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-03-27 15:14
关于这个问题,如果是十年前,会有很多东西推荐。到了现在这个时代,如果不是对性能有特别的要求,不建议使用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独有的特殊效果恐怕比较难实现。
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-03-27 16:50
C++ Builder,就是运用c语言的知识。你看一看吧
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯