IDRETRY или IDCANCEL
Если выведено модальное диалоговое окно, для продолжения работы с приложением его необходимо закрыть. Немодальное диалоговое окно допускает нормальную работу приложения будучи открытым.
При объявлении переменной экземпляра класса передайте FALSE вместо TRUE. При этом объявление переменной будет выглядеть следующим образом:
CFileDialog ldFile(FALSE);
Единственное действие, которое надо выполнить перед заакрытием данного приложения - вызвать функцию UpdateData. Но при щелчке на кнопке OK вызов функции UpdateData происходит автоматически. А поскольку кнопки OK и Cancel никогда из приложения не удалялись, все это делает кнопка OK и потому необходимости во вводе дополнительного кода в приложение нет.
Измените функцию OnBnClicedBfileopen следующим образом:
Листинг 6.6 Исправленная функция OnBnClickedBfileopen
void CDialogDlg::OnBnClicedBfileopen()
{
CFileDialog ldFile(TRUE);
if(ldFile.DoModal() == IDOK)
{
m_strResults = ldFile.GetPathName();
UpdateData(FALSE);
}
}
void CMsgDlg::OnBnClickedByesno()
{
m_iYesNo = MessageBox("Choose Yes or No", "Yes or No", MB_YESNO);
}
void CDialogsDlg::OnBnClickedByesno()
{
swith(m_dMsgDlg.m_iYesNo)
{
case IDYES:
m_sResilts = "Yes";
break;
case IDNO:
m_sResilts = "No";
break;
}
UpdateData(FALSE);
}
Назад |
Начало урока |
Вверх |
Содержание