Windows开发
文章平均质量分 78
古沐风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
跟我一起学Windows界面封装(一) 之 基础篇:Win32 API
一、 初篇Win32应用程序可以分成两大类:控制台程序和Windows窗口界面程序。其中控制台程序的入口是main(或_tmain),而窗口界面程序的入口函数是WinMain(或_tWinMain)函数。在使用VS2010创建工程时我们也会看到Win32功能的两种类型:Win32 Console application和Win32 Project,后者就是我们将要讨论的窗口界面程序。原创 2013-04-25 09:15:36 · 4049 阅读 · 0 评论 -
跟我一起学Windows界面封装(二) 之 前奏篇:显示第一个窗口
知道了如何用基本的windowsAPI创建一个窗口,但现实中我们不可能完全使用这种形式来完成一个复杂的窗口程序。为此,我们必须进行一定的封装。 封装必须要完成几件基本的事情:(1) 注册和创建窗口的封装;(2) 窗口过程函数的封装,因为窗口过程函数是一个全局函数,为了实现各种窗口的响应,我们必须实现窗口将每个窗口的消息分发给相应的窗口实例。这也是一个原创 2013-04-25 21:29:23 · 1517 阅读 · 0 评论 -
跟我一起学Windows界面封装(四) 之 窗口过程函数(下) -- 奇妙的Thunk技术
本文是笔者参考多方资料,同时研究ATL源码后写的一些心得,因为在看源码时会出现很多点不懂,因此文章主要从这些小点出发而撰写,可能外人看来会有些语无伦次或者不够流畅,请见谅,不是计算机科班出身,才疏学浅,整理出来也只是希望将我所学能够和大家一起交流,其中也不免会出现理解错误,也请指正!Thunk技术 在窗口的过程函数中参数HWND和具体的窗口实例是一对一的关系,但HWND对我原创 2013-04-25 22:33:49 · 1693 阅读 · 0 评论 -
跟我一起学Windows界面封装(三) 之 前奏篇:窗口过程函数(上)
窗口过程函数 好,终于进入正题了。 在用MFC的时候,我们会发现MFC里面有消息映射,这么每个窗口类可以处理响应窗口消息,ATL也同样有自己的消息分发机制。由于窗口过程函数是全局函数(或静态函数),我们不可能吧一个程序的所有消息都在一个函数里面写,同时这个全局函数也没法和所有具体的窗口实例想绑定,即想调用具体类的成员函数都没办法实现,这样完成一个具有复杂功原创 2013-04-25 21:30:41 · 1373 阅读 · 0 评论 -
跟我一起学Windows界面封装(五) 之 封装第一个控件:按钮
Button是我们遇到的最多的控件之一,因此以它来作为入手控件还是很合适的。 通常我们见到的Button都是有窗口控件,当然也有很多优秀的库为了提高效率做成无窗口控件。所有有窗口和无窗口就是是否控件和一个HWND句柄相关联。我们还是以常规的有窗口控件来讲述下吧。 在CreateWindow函数的参数中,我们注意到还有几个的参数我们没用过,其中一个就是hWndParent原创 2013-04-26 22:31:48 · 1863 阅读 · 0 评论 -
跟我一起学Windows界面封装(六) 之 模态对话框原理
在做界面程序的过程中,我们经常会遇到模态对话框(这个名词没必要在解释了吧,不懂就别看这篇文章了)。因此这点还是很有必要拿出来说明下的,不然不知道怎么实现,说不清其原理还是挺可悲的。 在windows中,使用DialogBoxParam显示的对话框就是模态的,ATL中也用了该函数进行了封装。虽然模态对话框在windows中很普遍,但是并没有SDK级别的API,可以将一个窗口变为模原创 2013-04-26 22:34:15 · 1484 阅读 · 0 评论
分享