用户可以通过单击“关闭”按钮或使用 Alt+F4 等键盘快捷方式来关闭应用程序窗口。 任何这些操作都会导致窗口接收WM_CLOSE消息。WM_CLOSE消息使你有机会在关闭窗口之前提示用户。 如果确实想要关闭窗口,请调用DestroyWindow函数。 否则,只需从WM_CLOSE消息中返回零,操作系统将忽略该消息,不会销毁窗口。
通常,应用程序会在销毁窗口之前发送WM_CLOSE消息,从而为窗口提供在销毁窗口之前提示用户进行确认的机会。 当用户从窗口菜单单击关闭时,包含窗口菜单的窗口会自动接收WM_CLOSE消息。 如果用户确认应销毁窗口,应用程序将调用DestroyWindow。 从屏幕上删除消息后,系统发送WM_DESTROY消息给窗口。 为了响应WM_DESTROY,窗口保存其...
WM_CLOSE:关闭应用程序窗口。WM_DESTROY:关闭应用程序。WM_QUIT:关闭消息循环。当我们想要退出一个程序时,我们可以手动发送消息、也可以点击程序窗口右上角的【x】按钮来退出。窗口右上角的【x】会默认发送一个 【WM_CLOSE】 消息,这在里我们通常有自己的处理,比如提示用户是否真正的想退出、提示...
WM_CLOSE WM_COMPACTING WM_CREATE WM_DESTROY WM_ENABLE WM_ENTERSIZEMOVE WM_EXITSIZEMOVE WM_GETICON WM_GETMINMAXINFO WM_INPUTLANGCHANGE WM_INPUTLANGCHANGEREQUEST WM_MOVE WM_MOVING WM_NCACTIVATE WM_NCCALCSIZE WM_NCCREATE WM_NCDESTROY WM_NULL WM_QUERYDRAGICON ...
case WM_CLOSE: if (MessageBox(hwnd, L"Really quit?", L"My Application", MB_OKCANCEL) == IDOK) { DestroyWindow(hwnd); } return 0; case WM_DESTROY: PostQuitMessage(0); return 0; 上面的代码我们用MessageBox创建了个包含“确定”和“取消”按钮的对话框。 如果用户单击 “确定”,程序将调用Destr...
具有窗口菜单的应用程序可以通过发送系统命令来更改该窗口的大小和位置。 当用户从窗口菜单中选择命令时,将生成系统命令。 应用程序可以通过向窗口发送WM_SYSCOMMAND消息来模拟用户操作。 以下系统命令会影响窗口的大小和位置。 展开表 命令说明 SC_CLOSE关闭窗口。 此命令将WM_CLOSE消息发送到窗口。 该窗口执行清理和销...
最后,我们调用close_current_window函数来关闭当前窗口。这将向当前窗口发送一个WM_CLOSE消息,从而触发窗口的关闭行为。 4. 总结 通过使用win32gui模块,我们可以很方便地关闭当前窗口。我们只需要使用GetForegroundWindow函数获取当前窗口句柄,然后使用SendMessage函数发送关闭消息,即可实现关闭当前窗口的功能。
要结束模态对话框,必须在对话框过程的WM_CLOSE消息中使用EndDialog函数: invoke EndDialog,hDlg,dwResult 非模态对话框 创建非模态对话框的函数是CreateDialogParam,它的参数定义和DialogBoxParam一模一样: invoke CreateDialogParam,hInstance,lpTemplateName,hWndParent,\ ...
Una aplicación puede pedir confirmación al usuario, antes de destruir una ventana, procesando el mensaje de WM_CLOSE y llamando a la función DestroyWindow solo si el usuario confirma la elección.De forma predeterminada, la función DefWindowProc llama a la función DestroyWindow para destruir...
WM_CANCELMODE WM_CHILDACTIVATE WM_CLOSE WM_COMPACTING WM_CREATE WM_DESTROY WM_ENABLE WM_ENTERSIZEMOVE WM_EXITSIZEMOVE WM_GETICON WM_GETMINMAXINFO WM_INPUTLANGCHANGE WM_INPUTLANGCHANGEREQUEST WM_MOVE WM_MOVING WM_NCACTIVATE WM_NCCALCSIZE WM_NCCREATE ...