Windows API一日一练 19 DestroyWindow函数
发布时间:2020-12-14 02:34:23 所属栏目:Windows 来源:网络整理
导读:以前已经介绍过直接点击关闭按钮来关闭应用程序,但想删除一个窗口对象,需要用到什么函数的呢?比如创建了 30 个窗口,想把第 12 个窗口关闭删除掉,那就需要使用函数 DestroyWindow 。当调用 DestroyWindow 函数后,操作系统就会进行一系列的删除动作,先
以前已经介绍过直接点击关闭按钮来关闭应用程序,但想删除一个窗口对象,需要用到什么函数的呢?比如创建了
30
个窗口,想把第
12
个窗口关闭删除掉,那就需要使用函数
DestroyWindow
。当调用
DestroyWindow
函数后,操作系统就会进行一系列的删除动作,先发送
WM_DESTROY
消息,接着发送
WM_NCDESTROY
消息。如果这个窗口还有子窗口或者是其它窗口的所有者,就需要给所有子窗口发送删除消息。
?
函数
DestroyWindow
声明如下:
WINUSERAPI
BOOL
WINAPI
DestroyWindow(
??? __in HWND hWnd);
hWnd
是要删除的窗口句柄。
?
调用这个函数的例子如下:
#001?//
#002?//?
函数
: WndProc(HWND,UINT,WPARAM,LPARAM)
#003?//
#004?//?
目的
:?
处理主窗口的消息
.
#005?//
#006?//?
蔡军生
?2007/07/12?? QQ:9073204
#007?//
#008?LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
#009 ?{
#010??int wmId,wmEvent;
#011??PAINTSTRUCT ps;
#012??HDC hdc;
#013?
#014??switch (message)
#015??{
#016??case WM_COMMAND:
#017???????? wmId??? = LOWORD(wParam);
#018???????? wmEvent = HIWORD(wParam);
#019???????? //
菜单选项命令响应
:
#020???????? switch (wmId)
#021???????? {
#022???????? case IDM_ABOUT:
#023?????????????? DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);
#024?????????????? break;
#025???????? case IDM_EXIT:
#026????????????? DestroyWindow(hWnd);
#027?????????????? break;
#028???????? default:
#029?????????????? return DefWindowProc(hWnd,message,wParam,lParam);
#030???????? }
#031???????? break;
#032??case WM_PAINT:
#033???????? hdc = BeginPaint(hWnd,&ps);
#034???????? //
#035???????? EndPaint(hWnd,&ps);
#036???????? break;
#037??case WM_DESTROY:
#038???????? PostQuitMessage(0);
#039???????? break;
#040??default:
#041???????? return DefWindowProc(hWnd,lParam);
#042??}
#043??return 0;
#044?}
第
26
行是当收到菜单按钮退出命令的消息,就调用函数
DestroyWindow
,然后它发出消息
WM_DESTROY
给第
37
行那里进行处理。
?
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows上的Jupyter与Anaconda不会运行单元格
- 在Windows上的Ubuntu上运行带有手表的webpack,然后退出
- 是共享库/ dll中的全局变量,跨进程共享
- 使Aptana永远不会使用Windows行尾
- 如何以编程方式创建Microsoft Access数据库?
- 存储空间 – Microsoft Storage Space Direct预留空间
- 在Windows上使用音频检测进程
- windows – 当请求的缓冲区大小大于可用数据量时,为什么rec
- windows-server-2003 – 多个VLAN,多个子网,单个DHCP服务器
- windows-server-2008 – Server2k8:根据另一个组中的成员身
推荐文章
站长推荐
- windows – 在ESXi环境中使用EFI固件和GPT引导磁
- Windows – Powershell:捕获程序stdout和stderr
- tfs2012 – Microsoft.VSTS.Actions中可用的值
- haskell – 可以在Windows上构建?
- active-directory – 是否有一种更简单的方法可以
- windows-server-2008 – 如何在Windows 2008 R2
- windows安装Redis并部署服务
- 在Windows中启动glassfish
- wix – 如何在msiexec命令行中设置“取消选中”复
- 如何使用Powershell获取Windows服务的公司名称
热点阅读