系统-子窗口控件的wndproc在哪个地方

问题描述

子窗口控件的wndproc在哪个地方

菜鸟一枚 :
利用预定义的窗口类产生标准子窗口控件,
产生子窗口的窗口类不用注册,
已在系统原子表中,
那么子窗口的wndproc在那里呵,
是系统内还是在程序区呵,
哪位大侠给指导指导。。。

解决方案

有两个办法,一个是用GetWindowLong得到原来WndProc的地址(并且记录下来)
用SetWindowLong替换成你的WndProc回调,然后将自己不处理的消息还是交给原来的WindProc处理。
这个技巧叫做子类化(subclass),google我说的关键字可以找到代码

另一个办法就是使用通知消息,在主窗口的消息处理函数内处理,前提是子控件要发送通知消息。

解决方案二:

窗口创建的时候,mfc帮帮你生成了窗口过程函数

时间: 2024-12-23 06:03:19

系统-子窗口控件的wndproc在哪个地方的相关文章

汇编教程之子窗口控件

本课中我们将探讨控件,这些控件是我们程序主要的输入输出设备. 理论: WINDOWS 提供了几个预定义的窗口类以方便我们的使用.大多数时间内,我们把它们用在对话框中,所以我们一般就它们叫做子窗口控件.子窗口控件会自己处理消息,并在自己状态发生改变时通知父窗口.这样就大大地减轻了我们的编程工作,所以我们应尽可能地利用它们.本课中我们把这些控件放在窗口中以简化程序,但是大多数时间内子窗口控件都是放在对话框中的.我们示例中演示的子窗口控件包括:按钮.下拉菜单.检查框.单选按钮.编辑框等.使用子窗口控件

双缓冲绘图和窗口控件的绘制——ATL ActiveX 窗口控件生成向导绘制代码OnDraw的一个错误 .

双缓冲绘图和窗口控件的绘制 ---ATL ActiveX 窗口控件生成向导绘制代码OnDraw的一个错误   cheungmine 我们通常使用ATL COM组件,生成一个带窗口的ActiveX控件,然后希望在这个窗口中绘制我们的图像.图形等数据,然而ATL向导生成的代码中包含很多错误,下面是其自动向导生成的代码:     HRESULT OnDraw(ATL_DRAWINFO& di)    {        RECT& rc = *(RECT*)di.prcBounds;       

c#窗体程序主窗口中tabPage中显示子窗口中控件tabPage不能显示第二页

问题描述 c#窗体程序主窗口中tabPage中显示的子窗口中控件tabPage不能显示第二页1,主窗口FROM1中有一个控件tabPage,用如下代码把窗口FROM2显示到主窗口FROM1的tabPage中来 from2f=newfrom2();f.TopLevel=false;f.Show();f.Parent=this.tabControl1.SelectedTab;2,但是子窗口的tabPage只能显示第一页的内容,第二页的显示不了,用弹出窗口就能正常显示第二页.3,第二页的内容其实有如下

在64位系统中ocx控件调用问题

问题描述 在64位系统中ocx控件调用问题 在64位系统中已注册32位程序的ocx控件,为什么32位程序无法显示ocx控件? 解决方案 和64位没有什么关系,你的程序必须是32bit的才可以调用32bit的控件. 如果你用的是C#,你需要强制将程序集限定为32bit 参考:http://blog.csdn.net/blueboy2000/article/details/4242369 解决方案二: jsp调用ocx控件 解决方案三: 你是不是用的的32bit版本的regsvr32注册. 然后就是

VB6.0 窗口控件排列次序的问题,怎么堆放

问题描述 VB6.0 窗口控件排列次序的问题,怎么堆放 问一下,VB6.0中控件是怎么堆放的?能不能在菜单条的上面再堆放别的控件呢? 解决方案 设置下zorder属性看看.

QQ登录窗口控件名如何获得啊

问题描述 QQ登录窗口控件名如何获得啊 QQ登录窗口控件名如何获得啊 sdsaaasadasdsadsdsasdsadddad 解决方案 QQ使用DirectUI绘制界面,而不是使用的Windows窗口.所以根本没有登录控件. 你可以用SPY++证实这一点. 解决方案二: QQ都是自绘UI,不是用的Windows窗口那一套东西,防止你访问它的控件 解决方案三: QQ的那个界面是做了加密的,那个密码框是好几百万美元的东西

图片-自己拖得系统的XIBdatepicker控件,在6s出现显示问题,急求

问题描述 自己拖得系统的XIBdatepicker控件,在6s出现显示问题,急求 在6 plus是显示效果是好的

winform-C# 遍历非系统自带控件

问题描述 C# 遍历非系统自带控件 请问winform里面遍历窗体所有控件,遍历不到rectangleshapelineshape控件,有大神知道该怎么解决吗 解决方案 修改系统自带控件布局的方法 解决方案二: 不知道rectangleshapelineshape是什么东西,不过搜了一下,并没有继承usercontrol,所以不能用遍历controls(我猜是这么做的吧). 不管怎么样,可以在一开始建个List保存这些东西就行了.

使用DataGridView数据窗口控件,构建用户快速输入体验

在"随风飘散" 博客里面,介绍了一个不错的DataGridView数据窗口控件<DataGridView数据窗口控件开发方法及其源码提供下载>,这种控件在有些场合下,还是非常直观的.因为,在一般要求客户录入数据的地方,一般有两种途径,其一是通过弹出一个新的窗口,在里面列出各种需要输入的要素,然后保存的,如下图所示:   其二就是直接在DataGridView中直接输入.这两种方式各有优劣,本文介绍采用该控件实现第二种模式的数据数据.如下图所示    这种方式,直接通过在Da