如何启用AfxMessageBox是/否(MB_YESNO)"关闭"按钮?(右上角"X")

rec*_*rec 5 mfc dialog messagebox windows-vista

致电时:

AfxMessageBox(strMsg, MB_YESNO);
Run Code Online (Sandbox Code Playgroud)

将显示一个带有"是"和"否"按钮的消息框.但是右上角的"X"(关闭按钮)被禁用,按ESC无效.

这是因为唯一有效的结果是IDYES和IDNO,而不是IDCANCEL.

是否有快速启用此行为的方法?我想避免的:

  • 为此创建自定义对话框.
  • 有是/否/取消按钮.

在vista中,删除文件时,要求确认的对话框只有"是"和"否",也可以通过关闭按钮或ESC取消.我猜这是一个自定义对话框.

i_a*_*orf 4

AfxMessageBox() 只是在内部调用MessageBox()。所以,不,如果不使用 MB_YESNOCANCEL 添加按钮,您就无法在这里获得您想要的行为...