mfc 获得窗口句柄????

在网上老看到说获得窗口句柄就能操作那个窗口了。我的疑问是,句柄不是handle吗?一个整数?我们应该要获得的是窗口的类的对象的指针才对啊!望赐教!... 在网上老看到说获得窗口句柄就能操作那个窗口了。
我的疑问是,句柄不是handle吗?一个整数?我们应该要获得的是窗口的类的对象的指针才对啊!
望赐教!
展开
 我来答
sdghchj
2011-04-04 · TA获得超过1.2万个赞
知道大有可为答主
回答量:3977
采纳率:0%
帮助的人:6092万
展开全部
在同一进程中,窗口资源的句柄是唯一的,但操作窗口界面的类对象却不唯一。
一般如你所说,获得该窗口的类的对象的指针就可操作该窗口,但前提是这个类对象已经在创建时就关联了一个窗口句柄。而窗口类对象和句柄是可以关联也可以分离的。
比如,任何一窗口类,用其成员方法detatch分离掉窗口句柄后你看看你还能用该类对象操作该窗口么?
所以要操作一个窗口,关键还是要得到它的句柄,至于窗口类对象,可以随时动态创建,想如何操作窗口,就声明有那种成员方法的窗口类,再用attach方法把窗口句柄关联上就可以操作窗口了。
比如我想移动一个窗口,我并不一定需要知道最初这个窗口用的是什么窗口类,我可以动态创建一个临时窗口对象:
CWnd wnd;
wnd.Attach(某窗口句柄)
wnd.Move(参数)
sl65agm
2011-04-04 · TA获得超过1383个赞
知道小有建树答主
回答量:734
采纳率:0%
帮助的人:583万
展开全部
mfc中封装的CWnd*对于炒作系统而言是没有意义的,CWnd内中的m_hWnd句柄才是炒作系统能识别的窗口表示。至于win32 api为什么不提供windows内部的窗口指针?这个和win32窗体架构是有关的。你在理解了windows最底层的窗口系统,诸如窗口属性,底层消息机制,窗体域绘图等等等之后,你会理解微软的良苦用心的。
例如:::GetWindowText(HWND, LPCTSTR),
微软在win32中希望你这么读:获取第i个窗口的文本。
在MFC中微软希望你这么读:第i个窗口,你的文本是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
burrenkiss
2011-04-04 · 超过13用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:37万
展开全部
handle 是句柄总称啦
窗口句柄是 HWND
HWND hWnd;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lakkar
2011-04-04 · 超过11用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:26.5万
展开全部
忘了,不过获得父类窗口的是GetParent……,也只是有点印象……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式