WPF与托管C++ ——智能家居GUI框架实现(第1篇)

1.问题来源

以前自己做的项目一般是面向工业现场的,所以对产品本身外观并无特别的要求。不过近期做一个智能家居的项目,这个面对的是消费群体,自然对GUI等的美观有很明确的要求。我们购置的硬件提供的一般是VC++的API。这样问题就出现了,用C++如何把界面做漂亮呢?

2.探索过程

在界面的开发方面着实经理了很艰难的一个过程。最初我拒绝用MFC,因为我知道自己的水平很难用MFC做出漂亮的界面。于是我开始在网上搜索界面开发的工具。最初我选定的是wxWidgets这个工具。本来觉得还可以的,但是开发界面感觉自己还是有瓶颈,因为各种原因又转回MFC。最初的效果是这样的。

Boss说这界面太丑了,得改改(好像是有点丑)。这时在网上搜索到了一些皮肤库美化MFC,用起来也很简单(真的很方便,只需要两行C++代码),皮肤我用的是appface。做出的效果如下图

好像是好看了一些,但是我觉得依然有问题。第一是兼容性做的不太好,最大化之后有些遮盖。再有就是不可再设计。(毕竟还是MFC,我用着很困难)
然后就是第三波了。其实最开始就注意到有WPF,因为后台语言是C#以为无法兼容的。有一天google的时候发现有托管C++可以把WPF和C++结合起来编程。当时我真的很高兴,因为我见过WPF做的界面,很漂亮(不过后来我才知道我给自己挖了多大的坑。一是我没学过C#,二是我基本没写过dll工程)。不过经过三周的奋战,终于还是把框架搭起来了,图像可以从摄像头采集回来了。
最终的界面效果如下图
 
这是启动界面

这是登陆界面

这是主页

这是安防系统界面

窗口的布局和配色是从http://www.ui.cn/detail/20025.html网站的图片上抄过来的。不过得到的只是图片,我把它们变成了GUI。我很佩服UI设计师,他们是艺术家,我只是个码农而已。另外目前界面仅仅实现了视频显示功能,其他的按钮还没有相应的后台代码,只有一些界面上的效果。另外这个项目还有很多待解决的问题,比如内存泄漏,CPU占用高。接下来我会陆续介绍整个框架搭建的全过程。包括界面设计,托管类,事件处理,数据库操作等。如果有可能的话会将整个项目上传到github供参考。

3.声明

本文引用的资源均已注明出处,如还有哪里侵犯了广大网友的知识产权,烦请告知,我会及时删帖。本项目仅用于参考学习,并未用于商业用途。

阅读更多
文章标签: wpf mfc c#
个人分类: WPF
想对作者说点什么? 我来说一句

C++中开发WPF

2013年09月05日 15.43MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭