Язык: C ++
Среда разработки: Microsoft Visual C ++
Используемые библиотеки: MFC
Довольно плохо знаком с MFC, так что терпите меня. У меня есть диалог, который запускается через DoModal (). Я пытаюсь добавить кнопки в этот диалог, которые заменят стандартные кнопки «ОК» и «Отмена». Прямо сейчас я не могу понять, как это сделать. Я удалил кнопки «ОК» и «Отмена» и добавил новые с новыми идентификаторами, добавленными обработчиками событий и просто небольшим простым кодом для их выполнения при нажатии, но не смог заставить его работать.
Я подозреваю, что это как-то связано с тем, что DoModal () ожидает ответы от OK или Отмена, но больше ничего. Я не совсем уверен, хотя. Любая помощь будет принята с благодарностью!
РЕДАКТИРОВАТЬ: добавлен сокращенный код для справки.
void CPrefsDlg::Launch() {
[ ... ]
CSAPrefsDialog dlg;
INT_PTR nRet = -1;
nRet = dlg.DoModal();
// Handle the return value from DoModal
switch ( nRet )
{
case -1:
AfxMessageBox("Dialog box could not be created!");
break;
case IDABORT:
// Do something
break;
case IDOK: // This works just fine.
exit(0);
break;
case IDSAVEONE: // This does not work.
MessageBox("Save One");
break;
default:
break;
};
}
void CPrefsDlg::SaveOne()
{
// I tried adding in my own handler for 'Save One'...this does not work.
MessageBox("Save one");
}