Форум программистов, компьютерный форум CyberForum.ru

Проблема с методом OnOk для диалогового окна - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
kili
0 / 0 / 0
Регистрация: 08.01.2010
Сообщений: 11
28.11.2011, 15:38     Проблема с методом OnOk для диалогового окна #1
Привет всем.
Метод OnOk для диалогового окна свой радной. Я использовала OK для вызыва другого диалогового окна который содержит кнопки OK и Cancel. Хотела чтоб OK закрывал главное окно программы, а Cancel не делал нечего(кроме отмены вызванного окна).
Увы результат только об ошибки в коде со стораны комплятора. Может подскажети как пройти?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
29.11.2011, 02:55     Проблема с методом OnOk для диалогового окна #2
эх Кили, Кили, будешь смеятся, но у меня это получилось в 5 строчек кода, из них 2 строчки - это открывающая и открывающая скобки.

Итак, второй диалог называется CAnotherDlg, без изменений в обработчиках OnOK и OnCancel. Вот код обработчика OnOk основного диалога (создался автоматически, когда я дважды нажал на кнопку OK расположенную на диалоге в редакторе ресурсов):
Код
void COkDialogDlg::OnBnClickedOk()
{
	CAnotherDlg dlg;
	if (dlg.DoModal() == IDOK)
	{
		EndDialog(IDOK);
	}
}
Удачи,
Владимир
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
29.11.2011, 03:02     Проблема с методом OnOk для диалогового окна #3
P.S. этот же код можно поместить в перегруженную функцию OnOK, главное - не вызывать родительский метод, реализованный в классе CDialog, потому как он закрывает диалог.

Код
void COkDialogDlg::OnOK()
{
	CAnotherDlg dlg;
	if (dlg.DoModal() == IDOK)
	{
		EndDialog(IDOK);
	}
	//CDialog::OnOK();
}
kili
0 / 0 / 0
Регистрация: 08.01.2010
Сообщений: 11
29.11.2011, 09:15  [ТС]     Проблема с методом OnOk для диалогового окна #4
Добрый день Владимир. Я тоже писала и так и сяк. Вот только комплятор меня достал этим сообщением
warning C4652: compiler option ''Generate Browser Info'' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header
Linking...

BOS.exe - 0 error(s), 1 warning(s)
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
29.11.2011, 12:02     Проблема с методом OnOk для диалогового окна #5
отправь проект на мой e-mail, если там нет ничего секретного, я посмотрю сегодня вечером (e-mail указан у меня в профайле), возможно проблема совсем в другом
Messir
Сообщений: n/a
30.11.2011, 17:56     Проблема с методом OnOk для диалогового окна #6
warning C4652: compiler option ''''Generate Browser Info'''' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header
Linking...
[/quote]
Ну, тут ничего страшного нету.
Чтобы избавиться - можно либо выключить Precompiled Headers, либо покопаться в настройках проекта и изменить параметр Generate Browser Info.
Yandex
Объявления
30.11.2011, 17:56     Проблема с методом OnOk для диалогового окна
Ответ Создать тему
Опции темы

Текущее время: 07:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru