社区
C++ 语言
帖子详情
MSDN上写这样那DestroyWindow是个destructor吗??
CHHuang
2004-12-23 01:44:13
Construction/Destruction
CWnd Constructs a CWnd object.
DestroyWindow Destroys the attached Windows window.
MSDN上写这样那DestroyWindow是个destructor吗??
...全文
107
9
打赏
收藏
MSDN上写这样那DestroyWindow是个destructor吗??
Construction/Destruction CWnd Constructs a CWnd object. DestroyWindow Destroys the attached Windows window. MSDN上写这样那DestroyWindow是个destructor吗??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oyljerry
2004-12-23
打赏
举报
回复
先销毁窗口,然后在析构
寻开心
2004-12-23
打赏
举报
回复
CWnd不一定是主窗口,也不一定是CFrameWnd创建的
它只是一个窗口的类而已
这两篇文章对初学者比较有帮助,或者看VC++技术内幕那本书
http://www.csdn.com.cn/program/4196.htm
http://www.copathway.com/vchelp/zteach/mfc_s2.asp?type_id=114&class_id=1&cata_id=14&article_id=900&search_term=
blhy
2004-12-23
打赏
举报
回复
实际上是这样的,DestroyWindow是MFC提供给程序员调用CWnd析构函数的地方。只有你的主窗口是从CWnd类继承的才需要重写这个函数,并在里面显示调用delete this;这将让主窗口在销毁时能调用主窗口类的析构函数,因为你在创建这个窗口对象时是在堆上创建的。是DestroyWindow调用~CWnd(),而不是~CWnd()调用DestroyWindow().如果你的主窗口是从CFrameWnd派生的,就用不着这样做了,因为CFrameWnd已经帮你做了。
jsblcg
2004-12-23
打赏
举报
回复
搂主弄混了层次了,DestroyWindow是Windows接口,与CreateWindow等均是与HWND关联的API,
而析构函数是C++语法的东西。虽然Windows确实是按面向对象的思路设计的,
MFC的CWnd又是C++对Windows窗口API的封装,但两者属于不同的系统。
CWnd终结时有两件事要做,一是关闭与CWnd对象关联的Windows窗口(以m_hWnd表示),一是销毁自己。前者MFC希望程序员自己做,因为通常窗口关闭时需要做些结束处理,通常是由OnClose响应WM_CLOSE消息做这些(最终是通过调用DestroyWindow实现)。如果程序员忘了(结束处理不完善所致),CWnd的析构函数~CWnd会调用DestroyWindow来做这事。不过它会给你一个警告,告诉你结束处理可能有问题,警告内容就是楼主的帖子了。
yjh1982
2004-12-23
打赏
举报
回复
只是销毁一个窗口而已
CHHuang
2004-12-23
打赏
举报
回复
那Destruction的意思是??
不是destructor而是Destroy啰!!
是吗??
Destruction动作是透过DestroyWindow函式去 Destroys the attached Windows window.
是吗??
r_swordsman
2004-12-23
打赏
举报
回复
析构函数不是你调用的~~你调用的一定不是析构函数~~~~~~` :)
寻开心
2004-12-23
打赏
举报
回复
用c++当中对象的思想完整理解CWnd是比较麻烦的
建议你找一本win32编程的书籍看看
看完整的一个窗口的创建和删除过程就清楚了
寻开心
2004-12-23
打赏
举报
回复
不是
DestroyWindow是一个窗口被删除之前的要处理的一个步骤
只有进行了这个调用之后,才可以去删除这个窗口
它并不是真正的析构函数
实际上的完成处理流程是
CWnd * pWnd = new CWnd(); // 构造对象
pWnd->Create(。。。。。); // 创建它
pWnd->ShowWindow(); // 显示它
....
pWnd->DestroyWindow(); // 删除pWnd当中的用户自己内部构造的对象的地方
....
delete pWnd; // 这里才是析构调用的地方,但是在这个时候一定是DestroyWindow已经被调用后的了
句柄(Handle)是什么--对句柄的简单理解。
开始学习C++,不了解句柄,无从下手,今天在网上找了找,并查阅
MSDN
,算是明白了不少。现汇总如下: 简单说来,句柄(Handle)就是对象的一个标识,它就像是人的身份证号码一样具有唯一性。它是
Window
s用来标识被应用程序所建立或使用的对象的唯一整数(LONG类型的整数,4个字节)。 句柄是整个
Window
s编程的基础。用于标识应用程序中不同的对象和同类对象中不同的实例
链接:
MSDN
UserNet等
Q我想知道如何在VC中实现可塌陷的PanelBar界面(类似于OutlookBar)? T可塌陷的PanelBar界面比outlookbar更有吸引力,
Window
s XP左边的导航工具面版就是采用这种风格,采用这种风格的应用程序也越来越多,比如各种杀毒软件,可能delphi提供的vcl组件可以简化这种操作,对于这种“傻瓜式”的实现我不喜欢。我还是想用C++,实现这种界面,而且我不喜欢附带额外的动
【销毁窗口】TN017:
Destroy
ing
Window
Objects
摘自:
MSDN
Library for Visual Studio 2005 This note describes the use of the CWnd::PostNc
Destroy
member function. Use this function if you wish to do customized allocation ofCWnd-derived objects. T
MFC永久窗口对象与临时窗口对象
因项目需要,最近在学习MFC,下午在一篇教程中提到了临时窗口、永久窗口,作者让读者自行查阅
MSDN
,了解临时窗口与永久窗口的概念,出于好奇,出于方便,直接百度一下,看到了几篇题为解释临时窗口与永久窗口的文章,随后网友在论坛中附上了
MSDN
中的原文,仔细翻译一下,发现网上查到的几篇文章,对这个概念的解释是有问题和不足的。 首先我要说明一点的就是窗口是没有临时与永久之分的,窗
Window
s ToolTips简要介绍
参考文档
MSDN
https://
msdn
.microsoft.com/en-us/library/ff486072(v=vs.85).aspx ToolTips 就是一个类似于一个悬浮的文本框,在鼠标指针移动上去能显示特定的文本。 各种ToolTips样式。 创建ToolTips HWND hwndTip = Create
Window
Ex(N
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章