有时候我没可能需要在点击按钮进行一些检测,但是并不想关闭次对话框(系统默认点击任何一个按钮则关闭对话框),处理方法如下:在点击事件下添加如下代码: try { Field field = dialog.getClass() .getSuperclass().getDeclaredField( "mShowing"); field.setAccessible(true); // 将mShowing变量设为false,表示对话框已关闭 field.set(dialog, false); d
我们知道,在对话框中,屏蔽ESC键自己主动退出能够选择重载OnCancel为哑函数的方法: void CXXXXDlg::OnCancel() { // TODO: Add your specialized code here and/or call the base class //CDialog::OnCancel(); //disable OnCancel } 可是,这样一来,右上角的关闭button也不起作用了,是由于点击关闭button时会自己主动调