相关推荐
-
子类化 超类化 技术分析
分析子类化技术 超类化技术 MFC中对这两个技术的实现
-
SubClassWindow详解
许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习,有些人可能对子类化机制比较陌生。 我们先看看什么是Windows的子类化。 Windows给我们或是说给它自己定义了许多丰富的通用控件,如:Edit、ComboBox 、ListBox……等,这些控件功能丰富,能为我们开发工作带来极大方面,试想:我们单单是自己实现一个EDIT控件是多么的艰难!但
-
怎样使用MFC创建一个窗口类
From:http://blog.sina.com.cn/s/blog_51396f890100pkt6.html 1.5 怎样使用MFC创建一个窗口类 (2011-03-17 11:13:14) 标签: 杂谈 //
-
WndProc和hook区别
1)WndProc函数作用:主要在程序中拦截并处理系统消息和自定义消息 比如:windows程序会产生很多消息,比如你单击鼠标,移动窗口都会产生消息。这个函数就是默认的消息处理函数。你可以重载这个函数来制定自己的消息处理流程. 在CS中,可以重写WndProc函数,来捕捉所有发生有窗口消息。这样,我们就可以"篡改"传入的消息,而人为的让窗口改变行为。 2)钩...
-
深入解析Windows窗口创建和消息分发
在纯粹的Window32 SDK编程时代,人们还可以搞懂整个Windows窗体创建和消息的流通过程,但是在现在各种框架的包装下很多在Window32 SDK下很明显易懂的东西显得不是那么简单了。本文力图去繁求简,教你看懂所有框架的基本构造,希望看完本文,再去看常见的MFC/WTL等框架时,不会再觉得有任何的不适。
-
MFC架构之CWnd类
在Windows系统里,一个窗口的属性分两个地方存放:一部分放在“窗口类”里头,如上所述的在注册窗口时指定;另一部分放在Windows Object本身,如:窗口的尺寸,窗口的位置(X,Y轴),窗口的Z轴顺序,窗口的状态(ACTIVE,MINIMIZED,MAXMIZED,RESTORED…),和其他窗口的关系(父窗口,子窗口…),窗口是否可以接收键盘或鼠标消息,等等。 为了表达所有这些窗口的共性,MFC设计了一个窗口基类CWnd。有一点非常重要,那就是CWnd提供了一个标准而通用的MFC窗口过程
-
超类化(Superclass)和子类化(Subclass)
窗口化(windowing)实现形式有超类化(Superclass)和子类化(Subclass),下面一探究竟···子类化 Subclass子类化是在窗口实例创建之后,把其窗口过程设置为另一个用户定义窗口类的窗口过程函数,从而改变窗口行为。定义用户定义窗口即窗口子类化函数的调用者定义为子类窗口,而窗口实例所对应的窗口类为超类窗口。下面分析这一过程。template BOOL C
-
MFC 改变窗口类名
MFC 改变窗口类名 1,改变窗口类名:比如:MyClassName是自己想设置的类名 方法:打开资源视图,右击外挂窗口,属性改掉ClassName属性,若它为灰色,右击.rc文件改mfc Mode属性为false,再改 2,改变后在CTestCpp中的InitInstance()注册该窗口类名 WNDCLASS wc; // 获取窗口类信息。MFC默认的所有对话框的窗口类名为
-
眼见为实(2):介绍Windows的窗口、消息、子类化和超类化
眼见为实(2):介绍Windows的窗口、消息、子类化和超类化 这篇文章本来只是想介绍一下子类化和超类化这两个比较“生僻”的名词。为了叙述的完整性而讨论了Windows的窗口和消息,也简要讨论了进程和线程。子类化(Subclassing)和超类化(Superclassing)是伴随Windows窗口机制而产生的两个复用代码的方法。不要把“子类化、超类化”与面向对象语言中的派生类、基类混淆起来。“...
-
子类化
子类化 如果你曾经在 Windows 环境下编过程序,有时候就会发现:有一个现成的窗口,几乎有你所需要的全部功能,但还不完全一样。如果你需要一个具有过滤特殊字符功能的 Edit 控件。当然最直接的方法就是自己用代码来实现,但这的确是一个费时又很困难的任务,而子类化就可以用来做这种事情。 子类化允许你接管被子类化的窗口,使你对它有绝对的控制权。举个例子了来阐明一下:例如你需要一个只接受...
-
MFC自绘皮肤编写[笔记一]
用了这么长时间的MFC,感觉不错是不错,可是那个界面呀,真让人难受啊.虽然在VS2008中有了提供,但是还是不理想,所以就想找个皮肤库,现在比较好用的(个人感觉)SkinMagic,不过它不支持VS2008悲哀呀.所以打算自己写一个.关于那些基础知识和HOOK的知识我就不详细说了,可以去http://www.fengfly.com/plus/view-171863-1.html这里来看下.虽然这个是用C#但还是让我收获不小我们现在采用在要HOOK方式来给界面换肤,下面就来说一具体的步骤,这里用到的是VS20
-
C++ 中超类化和子类化
超类化和子类化没有具体的代码,其实是一种编程技巧,在MFC和WTL中可以有不同的实现方法。参考 :http://www.360doc.com/content/10/1115/13/3972135_69517213.shtml窗口子类化:原理就是改变一个已创建窗口类的窗口过程函数。通过截获已创建窗口的消息,从而实现监视或修改已创建窗口类的行为属性。可以用来改变或者扩展一个已存在的窗口的行为,而不用重...
-
深入Windows窗体原理及控件重绘技巧
之前有学MFC的同学告诉我觉得Windows的控件重绘难以理解,就算重绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解控件的WM_DRAWITEM重绘和子类化重绘,如果你有类似的疑惑希望这篇文章可以帮你解惑。
-
MFC的子类化技术
Windows是一个基于消息的系统,消息在Windows的对象之间进行着传递。子类化和Windows的钩子机制存在于消息系统之中,我们可以利用这些机制来操纵、修改甚至丢弃那些在操作系统或是进程中传递的消息,以求改变系统的一些行为。子类化技术用来截取窗口或控件之间的消息,当然是消息在到达目的窗口之前完成的操作。这些被截获的消息既可以保留也可以修改它们的状态,之后就继续发送到目的地。子类化技术实
-
深入理解MFC子类化
子类化,通俗来讲就是用自己的窗口处理函数来处理特定消息,并将自己其他消息还给标准(默认)窗口处理函数。在SDK中,通过SetWindowLong来指定一个自定义窗口处理函数:SetWindowLong(hwnd, GWL_WNDPROC, (LONG)UserWndProc);。可是到了MFC中,大部分基础的东西都被封装起来了,那么,这是该怎么实现子类化呢? 先来看一个例子:
-
MFC的来龙去脉-----消息处理,找处理函数
一、处理函数的源头 对于对话框程序,(无论是模式还是非模式),在注册窗口的时候,会指定其窗口过程处理函数WinProc;当消息找到了对应的窗口,DispatchMessage便开始让内核user32.dll执行WinProc,它负责调用真正的消息处理函数; if (pState->m_msgCur.message != WM_KICKIDLE && !AfxPreTranslateMe
-
超类化与子类化的区别?
本文转自:http://hi.baidu.com/zish/blog/item/2a4098501bef706a853524ca.html 1.子类化:改变一个已经存在的窗口实例的性质:消息处理与其他实例属性。在SDK编程范畴内,子类化就是改变一个窗口实例的窗口函数(通过GetWindowLong()和SetWindowLong()),子类化所要做的就是为某窗口实例编写新的窗口函数。其操作
4 楼 xiaomimishiye 2010-08-16 17:43
3 楼 wese345 2010-08-16 17:33
2 楼 janrn 2010-08-16 15:02
1 楼 farmmer 2010-08-16 12:52