窗口破坏

【勇芳软件工作室】汉化HomePreviousNext

一般来说,应用程序必须销毁其创建的所有窗口。它通过使用DestroyWindow功能来实现。当窗口被破坏时,系统隐藏窗口,如果它是可见的,然后删除与窗口相关联的任何内部数据。这会使窗口句柄无效,应用程序无法再使用该句柄。

一个应用程序会在创建它们之后立即创建很多窗口。例如,一旦应用程序具有足够的用户输入以继续其任务,应用程序通常会破坏对话框窗口。应用程序最终会破坏应用程序的主窗口(终止之前)。

在销毁窗口之前,应用程序应该保存或删除与该窗口相关联的任何数据,并且应该释放分配给该窗口的任何系统资源。如果应用程序不释放资源,Windows将释放任何不被应用程序释放的资源。

销毁窗口不影响窗口创建的窗口类。仍然可以使用该类创建新窗口,并且该类的任何现有窗口都将继续运行。摧毁窗户也会破坏窗户的后裔窗户。DestroyWindow函数首先向窗口发送一条WM_DESTROY消息,然后发送到其子窗口和后代窗口。这样,被毁坏的窗户的所有后裔窗户也被毁坏。

当用户选择关闭命令时,带有窗口菜单的窗口会收到WM_CLOSE消息。通过处理此消息,应用程序可以在销毁窗口之前提示用户进行确认。如果用户确认窗口应该被销毁,应用程序可以调用DestroyWindow功能来销毁窗口。

如果被破坏的窗口是活动窗口,则活动和聚焦状态都将传输到另一个窗口。成为活动窗口的窗口是由ALT + ESC组合确定的下一个窗口。然后,新的活动窗口确定哪个窗口接收到键盘焦点。