y290176346 发表于 2016-1-10 19:28:46

关于mfc的句柄

看到 孙鑫的mfc 中介绍 框架中只有一个theApp 对象,既然有一个对象那有类里的成员变量 m_hWnd 只有一个吗,既然是一个 那 什么视图句柄,框架句柄 是怎么区分的?不理解 新手问题 @ryxcaixia

ryxcaixia 发表于 2016-1-10 19:28:47

好久不用mfc做前端输入
基本上 都是用boost的命令行做前端 program_options

不过对于你的问题 我针对个别的地方解释下
首先 m_hWnd 这个东西 是CWnd类(包括他的派生类)的独有


句柄你可以简单的理解为一个索引, 可以通过这个索引 找到唯一的窗体


那什么又是窗体呢 什么东西有m_hWnd呢? 从msdn的官方手册上看到 凡是从CWnd派生出来的类 或者是个Cbutton(按钮) 或者是个编辑框CEdie 或者是个下栏菜单
都是从Cwnd派生出来的 那么他们每一个都有自己对应的m_hWnd

y290176346 发表于 2016-1-11 15:10:45

ryxcaixia 发表于 2016-1-10 19:28
好久不用mfc做前端输入
基本上 都是用boost的命令行做前端 program_options



那么 也就是说 一个句柄,对应一个类的 对象 也就是说 框架有一个对象生成一个按钮 , 按钮就一个对象, 这些对象都不是全局的 ,只有theapp 是全局的对象 是这个意思吗?

ryxcaixia 发表于 2016-1-11 16:43:49

先说按钮
对象是否是全局的
如果你是动态的创建一个按钮 那么按钮的生命周期跟普通变量一样 过了作用域就没了
如果是静态的
就是你用控件拖上去的 那么这个按钮 会一直在程序结束才消失

再说theapp
这个东西 是全局的

最后句柄这玩意 句柄和窗口 都是一对一的

作我自己 发表于 2016-1-27 15:48:41

{:5_109:}
页: [1]
查看完整版本: 关于mfc的句柄