首页  >   经验  >   Windows零基础入门:2.8 深入分析什么是窗口类?

Windows零基础入门:2.8 深入分析什么是窗口类?

查看 codexia 的博客 2015-08-17 16:44:18 2074 会员文章,禁止转载
Windows   入门  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介WNDCLASS是窗口类?系统窗口类就是事先已经由系统指定样式和注册好的窗口模板,然而WNDCLASS窗口类结构体就是我们的定制窗口类的模板,而我们定制的窗口类则是创建窗口的窗口模板,就和系统模板一样了。然后就用这些注册好的窗口类来创建窗口。所以,千万不要以为WNDCLASS结构体就是窗口类,这是大错特错的。他是窗口类的模板而已。用这个结构体可以定制出数不清的定制窗口类,而用定制窗口类也可以创建数不清的窗口,所以才叫做模板。

    由上一节课我们了解到了Win32程序的整体窗口机制和消息机制,我们现在开始一点点仔细分析。
    最根本的,就是窗口类了。没有窗口类,就没有窗口,没有窗口就没有窗口机制,也没有消息机制。所以,我们首先来仔细了解一下窗口类的相关知识。
    现代社会,对于开发速度要求越来越快,因为需求变化太快。各种热门语言,各种热门技术,有的就是火热一时然后悄然退去。作为我们自己要给自己所学的技术保值,不会那么容易过时,能够持久有效,我们就必须深入学习基础的技术,而不是各种浮夸的框架就可以了的。
    需求变化的快,应运而生会产生很多框架技术,如果只停留在各种库的使用上,不仅你学习应接不暇,而且始终都是立足于浮沙之上。一旦这个库或者框架改变了,或者过时了,或者有一个新的更强劲的框架来代替了,你不得不再花大把时间来学习。这样你就惨了,越学越多,越学越没意思,始终不得精华。你学的很多人都会,你还有什么竞争力呢?而且变化总是莫测的,你不知道哪一天,学的东西就不再流行,而被迫转型了。
    我们C++技术网看到这点,力求引导一种学习基础技术的氛围和普及编程基础教育,所以,我们也推出这些基础的课程,免费的哦。说到这些事情,我想告诉你,技术的发展总是与时代相契合的,所以,各种技术点,也是有这么些特点的。
    我们来结合我们的这些背景,来讲讲技术。正是发展的越来越快,我们都在追求一个开发效率,总是想尽可能少写代码,或者尽可能复用代码(重复使用),或者直接将这些重复性的工作,放在了框架中来完成,我们开发就不用管这些了。这么一来,很多细节我们就不知道了。所以,各种框架的学习,直接学的话,总是有点不知所措。这方面的问题,还是没有基础。怎么解决?沉下心学习基础就是了。
    我们现在讨论的窗口类,也是基于这种复用的思想。其实创建一个窗口是比较复杂的,涉及到底层的各种绘图,但是微软已经考虑到这些,所以,就简化了我们创建窗口的复杂度,将创建的过程都封装在内部。这样,我们失去了什么?得到了什么?一个事情总有得与失的。我们得到了快捷方便的创建窗口的方法,而却失去了很个性化创建窗口的方法。我们现在创建的窗口,为什么都是差不多的呢?而要创建个性化的,又该如何做呢?
    创建个性化的窗口,当然使用窗口类也是可以实现的,不过比较局限。而现在流行了个性化的界面,也就发展了很多界面库。他们实现的效果,并不是使用系统提供的各种窗口类,而是直接绘图,直接绘制按钮,这样可以实现很炫的效果。要实现很不错的效果,你需要懂得很多基础而深入的知识,你要对消息机制和绘图,以及Windows内部有深入的了解。这个不是我们探讨的主题,你可以学习我们网站QT零基础入门来了解这部分的内容。
    而创建普通的从窗口,就是我们的窗口类的发挥作用的时候。对于我们现实需求来说,主要是业务需求,对于程序的界面来讲,和系统的一致就可以了。这个时候,微软使用了窗口类的东西就可以实现这个需求了。不仅是我们来创建,还是系统内部来创建,都是用这一套窗口类,这样就让我们创建的窗口和系统的一样了。而要做些个性化的,也就是对提供的窗口类做一些部件的增删修改之

开通会员付1C币>>阅读全文
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

分享到:
分享文章[Windows零基础入门:2.8 深入分析什么是窗口类?]到QQ空间

Win32课程菜单

猜您感兴趣