社区
Windows SDK/API
帖子详情
DestroyWindow销毁问题
shuibingmiao
2006-06-06 06:02:04
用DestroyWindow销毁时是否窗口内的控件、子窗口等也跟着销毁
...全文
675
5
打赏
收藏
DestroyWindow销毁问题
用DestroyWindow销毁时是否窗口内的控件、子窗口等也跟着销毁
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaoshi0
2006-07-20
打赏
举报
回复
窗体是系统画到屏幕上的,如果调用了DestroyWindow,窗体就会收到一个WM_DESTROY的消息,这个消息的一般处理是直接调用PostQuitMessage(0);将消息循环退出。
如果你不让这个消息做默认处理,它就只能销毁你的窗体(当然窗体上什么东西都没有了)
但消息循环还没有退出。
BlueDeepOcean
2006-07-13
打赏
举报
回复
是的,函数销毁由窗口句柄hWnd指定的窗口。该函数发送WM_DESTROY、WM_NCDESTROY消息给窗口的回调函数来使窗口无效,同时撤销它的键盘输入焦点状态。函数同时销毁属于此窗口的菜单,并将线程消息队列中还未处理的、属于该窗口的消息发送给该窗口的回调函数。该函数销毁定时器和撤销窗口对剪切板的拥有权。
如果该窗口作为一个父窗口或拥有者窗口,那么将先销毁所有的子窗口或自身拥有的窗口,之后再销毁自身。
eg.
HWND hButton;
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
char szChildWindow[64];
BOOL fFirst = TRUE;
switch(message)
{
......
case WM_LBUTTONDOWN:
hButton = CreateWindow("BUTTON","Test",WM_VISIBLE|WS_CHILD,10,10,600,80,hWnd,(HMENU)IDC)BUTTON1,hInst,NULL);
break;
case WM_RBUTTONDOWN:
DestroyWindow(hButton);
break;
case WM_PARENTNOTIFY:
if (fFirst)
{
sprintf(szChildWindow,"子窗口(ID=%d)被Create!",HIWORD(wParam));
fFirst = FALSE;
}
else
printf(szChildWindow,,"子窗口(ID=%d)被销毁!",HIWORD(wParam));
MessageBox(NULL,szChildWindow,"Create(Destroy)Window",MB_OK);
break;
......
}
......
}
......
wt_sanlian
2006-07-13
打赏
举报
回复
en!
hillyard
2006-07-12
打赏
举报
回复
恩 楼上说的对 DestroyWindow 在销毁父类窗口的同时 自动销毁与之相关的子类窗口。
tianshu888
2006-06-07
打赏
举报
回复
是这样的
If the specified window is a parent or owner window, DestroyWindow automatically destroys the associated child or owned windows when it destroys the parent or owner window.
ubuntu系统服务器配置,Ubuntu系统(十)-Web服务配置
Web服务配置1、常见的WEB服务器微软IISIBM WebSphereBEA WebLogicApache2、Ubuntu下安装保证网络正常 运行 apt-get install apache2,如果不知道运行什么命令,可以apt-get install apache+TAB 上网不正常如下提示,请检查网络及IP设置 测试是否apache2正常工作 启动停止重启Apache服...
Ubuntu系统(十)-Web服务配置
Web服务配置 1、常见的WEB服务器 微软IIS IBM WebSphere BEA WebLogic Apache 2、Ubuntu下安装 保证网络正常 运行 apt-get install apache2,如果不知道运行什么命令,可以apt-get install apache+TAB 上网不正常如下提示,请检查网络及IP设置 测试是否apache2正常工...
Ubuntu系统中Apache Web服务器的配置与实战
阿帕奇服务器是一款开源的Web服务器软件,由Apache软件基金会开发和维护。它是互联网上最流行的服务器软件之一,广泛应用于各类网站和应用程序中。
Ubuntu下搭建web服务器
搭建服务器 1、下载nginx源码: wget http://nginx.org/download/nginx-1.21.4.tar.gz 2、解压nginx源码: tar -zxvf nginx-1.21.4.tar.gz 3、安装相关依赖 sudo apt-get install openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev –y 4、进入到nginx-1.21.4目录下,进行配置 cd nginx-1.21.4 ./configure -
Windows SDK/API
1,222
社区成员
8,135
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章