EndDialog与DestroyWindow

嗨,我创build了一个Windows上下文菜单的模仿。

显示对话框如下:

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

     while ( ContinueModal() && GetMessage(&msg, NULL, 0, 0) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } 
  3. 我在对话框中查找新窗口的失去焦点事件那里我把ContinueModel标志设置为false,并调用EndDialog / DestroyWindow

    • 调用EndDialog不会EndDialog我的对话框, DestroyWindow会。 这是好的,任何人都可以解释为什么?

谢谢! D.

就像在文档的第一行中说的那样, EndDialog结束了模态对话框 。 你的对话框不是模态的,所以EndDialog是错误的功能。 CreateDialogIndirectParam的文档说

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