EndDialog vs DestroyWindow

Dor*_*don 2 c++ windows winapi win32gui windows-messages

我正在创建Windows上下文菜单的模仿.

显示对话框执行以下操作:

  1. 使用创建对话框 CreateDialogIndirectParam
  2. 运行消息循环:

    while ( ContinueModal() && GetMessage(&msg, NULL, 0, 0) )
    {
        TranslateMessage( &msg );
        DispatchMessage( &msg );
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我在新窗口中寻找丢失焦点事件的对话框,我将ContinueModel标志设置为false并调用EndDialog/ DestroyWindow.

    • 调用EndDialog不会杀死我的对话框DestroyWindow.这没关系,任何人都可以解释原因吗?

谢谢!D.

Ray*_*hen 7

就像它在文档的第一行中所说的那样,EndDialog结束模态对话框.你的对话框不是模态的,EndDialog错误的功能也是如此.文件CreateDialogIndirectParam

要销毁对话框,请使用DestroyWindow函数.