教你如何⽤CC++做⾼⼤上的软件界⾯
在我发了键⿏模拟器的那个帖⼦后,很多⼈问我界⾯是怎么做出来的,我想既然⼤家对做界⾯那么感兴趣,那我就专门开个贴来聊⼀下怎么⽤C/C++做⾼⼤上的软件界⾯。当然,⼀个很漂亮的软件界⾯会让⼈觉得你的程序很⾼端,⾯试的时候也会给⾯试官⼀个很好的印象,但是很多⼈刚开始看书学C时,书上⽼是⽤printf来打印输⼊输出,导致很多⼈以为C只能在那个⿊框框下⽤,不实⽤,很有很多⼈认为做界⾯只能⽤Java或C#,C/C++不能做界⾯,这是极⼤的误
会,C/C++不仅擅长底层开发,做界⾯那更是⼩菜⼀碟,⽤C/C++做界⾯⽐Java或C#都更灵活,在我看来,只要C/C++和MFC学通了,任何界⾯你都做得出来,随便⼀个软件,你都可以克隆出⼀个⼀模⼀样的界⾯来。不信啊?后⾯你就会见识到。源代码大电影
下⾯先看⼀个⽤C语⾔做的软件,快速窗⼝切换程序,这个程序是⼀年前写的,当时觉得Windows7的窗⼝切换太⿇烦了,特别是那些有多个标签页的软件,每次都要在任务栏点⼀次,再在弹出来的窗⼝略缩图⾥再点⼀次,如果要经常切换窗⼝就会感到特别不爽,觉得微软这设计真是脑残,这个程序也很简单,就是当⽤户按下⿏标中键后,就弹出⼀个菜单来,菜单⾥列出了所有窗⼝,点⼀下就可以快速切换过去了。菜单界⾯如下图所⽰
这程序仅仅⽤到了C,所以体积很⼩,只有80K,占⽤资源也很少,其原理很简单,先⽤SetWindowsHookEx函数加载⼀个⿏标钩⼦来监视⿏标中键的按下动作,⼀旦中键按下,就在光标的旁边⽤CreateWindow函数创建⼀个窗⼝,然后在窗⼝⾥创建多个按钮,你可以看到,在按钮⾥既有图标,⼜有标题,这种按钮是不是很酷,其实实现很简单,就调⽤DrawIcon()和SetWindowText()2个API
就可以了。感兴趣的可以去我的博客下载程序源代码,可能有⼈会说这太⼩⼉科了,确实,这个程序界⾯⽐较简单,没什么好多讲的,那什么软件的界⾯⽐较⾼⼤上呢,迅雷看看播放器,这个怎么样,够⾼⼤上吧,⼏亿⼈都在⽤呢,但是我告诉你,我要克隆出⼀个跟它⼀模⼀样的程序界⾯来,那也很简单,当然我只是实现它的界⾯,它的播放下载功能我可不实现,最终程序的界⾯效果如下图所⽰
是不是⼀模⼀样,连光标移到按钮上的发光效果也跟原版程序⼀样,这⾥⾯最难实现应该是它的进度条了,⼀边蓝⾊⼀边灰⾊可费了我⼀定时间,程序是⽤
C++和MFC做的,代码会⽐窗⼝切换程序复杂⼀点。要做这样的界⾯也不能⼀蹴⽽就,⾸先你要懂做⾃绘风格的按钮,下⾯这个程序演⽰了如何创建各种形状的按钮
它的原理就是先从CButton派⽣出⼀个⼦类CRoundButton2,然后在CRoundButton2类的DrawItem()把按钮画上去,也不难,具体实现可以参考源代码。正所谓万丈⾼楼平地起,所有看起来很漂亮的界⾯都是由⼀些⽐较简单的技术堆砌⽽成的,下⾯这个例⼦程序则教你如何⽤⼀些⽐较简单的代码对窗⼝做出不同的显⽰效果,界⾯有3个按钮,提供了3种不同的效果,如下图所⽰。
怎么样,看完以上例⼦,谁还敢说C/C++就只能⼩⿊框,谁还敢说C/C++不能做界⾯,以后谁还敢这么说你就跟他急。对以上程序感兴趣的,可以到我的博客去下载源代码。⾼⼿就不⽤看了,免得你们看了⼜要喷,这不是给你们看的,呵呵。
源码:新浪博客地址+杠u杠2658627183
想把源码传到百度⽹盘上的,可是百度⽹盘可真是垃圾啊,怎么传都传不上去。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。