Windows API一日一练 19 DestroyWindow函数

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
以前已经介绍过直接点击关闭按钮来关闭应用程序,但想删除一个窗口对象,需要用到什么函数的呢?比如创建了 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, message, wParam, lParam);
#042  }
#043  return 0;
#044 }
第 26 行是当收到菜单按钮退出命令的消息,就调用函数 DestroyWindow ,然后它发出消息 WM_DESTROY 给第 37 行那里进行处理。
            

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值