2

嗨,我正在创建 Windows 上下文菜单的模仿。

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

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

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

    • 打电话EndDialog不会杀死我的对话,DestroyWindow会。这样可以吗,谁能解释一下为什么?

谢谢!D.

4

1 回答 1

9

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

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

于 2012-12-09T15:18:59.080 回答