–>
This is another simple way of converting a modeless dialog into a modal dialog.
While overriding the dialog’s Create() call, get the pointer to the main frame window and disable it using EnableWindow() call.
BOOL CModelessDlg::Create( UINT nID, CWnd* pParentWnd ) {
// TODO: Add your specialized code here and/or call the base class
pParentWnd->EnableWindow(FALSE);
//You can get pParentWnd by calling
AfxGetMainWnd() also.
return
CDialog::Create(nID, pParentWnd); }
Before destroying by “DestroyWindow()”, call EnableWindow() to set it as TRUE.
void
CModelessDlg::OnOK() {
// TODO: Add extra validation here
........... .......... ......... AfxGetMainWnd()->EnableWindow(); DestroyWindow(); }