说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请教一些关于HWND和CWnd及其它一些常遇到的问题。

编辑:说三道四文库 发布时间:2018-01-19 06:03
HTML文档下载 WORD文档下载 PDF文档下载
1、HWND和CWnd的不同,及如何获取和如何使用及使用时需注意些什么?
2、并对AfxGetApp()和m_hWnd及m_hWndOwner的使用注意事项?
3、在对话框和多文档中诸如此类的问题。

希望大家能给予帮助,谢谢大家!
HWND时窗口句柄,CWnd时窗口类,该类中有对应窗口的HWND
1.概念不同。CWnd是C++中的类,是C++特有的东西,而HWND和WNDCLASS都是操作系统中的数据结构,俗称窗口类,但它不是类,只是一个结构。Windows是用C写的。
2.生命期不同,CWnd类在脱离作用域后会被自动析构,而WNDCLASS和HWND是存在于进程始末的。
CWnd并不是直接把整个WNDCLASS都包装在内,而仅仅是包装了一个指向窗口的句柄,就是说,使用CWnd的指针,最后还是要转化成句柄对窗口进行操作。
                    CWnd
CWnd* pWnd-----> ----------
                 | m_hWnd |------>WNDCLASS
                 |  ……  |
                 |其他成员|
                 ----------
理解了上面你就能理解,为什么创建一个窗口(典型如工具条,状态栏)要经过两次操作,一次是建立C++对象CToolBar,此时CToolBar内的窗口句柄还是空,即不代表任何Window对象,第二次使用Create/CreateEx函数才是真正创建Windows对象,创建完了之后,CToolBar内的窗口句柄就有效了。
OpenFeint绝迹后,开源项目OpenKit继续前进 美FDA通过搜索引擎和社交平台预警药品副作用 挖坟三星“眼球追踪技术”背后的技术团队 为什么开发者热衷在Stack Overflow上查阅API文档? Facebook推新News Feed 欲造就“个性化报纸” 关于vc中添加新类的问题! 急---用ACCESS作为前台服务,都有哪几种数据库可以作为其后台 asp.net与oracle的连接问题 给分 给分 LoveRose(旺旺) 进来 请问JAVA语言中怎样保存程序的初始化参数? awt(awt) 进来 请问如何实现WIN98能访问到WIN2000中的共享? 如图所示,根据上图中的数字进行逻辑推 理,猜出小汽 甲乙两车分别从A、B两地相向而行,已知甲车的速度是 甲乙两车从AB两地相向而行.已知甲乙两车的速度比是 设f(x)是定义在(0,正无穷)上的减函数,那么f 有一道数学题球解啊已知cosA+sinA=-7/1 太阳轨道上的巨型UFO有最新信息吗?想了解太阳轨道 外星人的星球是不是比太阳还大? 太阳上的巨型UFO他们想干什么?现在太阳上不是有好 如图所示,根据上图中的数字进行逻辑推理,猜出小汽车 俄罗斯举行核遏制力突击战备演练精品画展向英国人展示中国水墨艺术的旧“被遗忘的天才”画展展现卡斯蒂廖内出未成年怀孕现象堪忧 每年700万少女巧克力为何充满魔力中央一号文件的再解读之三 征地补偿重细则出台!你的养老金以后这么缴娱乐圈越被黑越走红的十大美女明星十八大后落马省部级官员接近前10年一fragment x Sock Da仙生逍遥阴阳猎鬼师乔的温馨异界生活最强兵王闪婚老公太凶猛宫巷基督教堂旅游中国近代海军博物馆旅游马江海战纪念馆旅游张掖市森林公园旅游雪野水库旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘