![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.10.2007
Сообщений: 628
|
![]()
Здравствуйте! Я сейчас изучаю тему "MFC: Создание диалоговых окон" и у меня появилось несколько вопросов: Вот допустим я спроектировал диалоговое окно (ну там сделал разные кнопки, текстовые поля и т.д.), теперь мне нужно связать это окно как-то с кодом программы. Для этого нужно создать новый класс. И сразу появляются вопросы: для каждого нового окна нужно будет создавать отдельно новый класс? И как тогда MFC догадался, что созданный мною класс связан именно с диалоговым окном IDD_DIALOG1... Я ведь при создании класса не указывал этот идентификатор (IDD_DIALOG1). Помогите пожалуйста разобраться
![]() |
![]() |
![]() |
![]() |
#2 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
![]()
как раз таки класс знает, с каким диалогом он связан. загляни в заголовочный файл реализации класса диалога, и увидишь примерно такую строчку
enum { IDD = IDD_DDE_DIALOG }; вот так он и догадывается) кстати, для диалога совсем необязательно создавать новый класс, если к примеру, тебе нада повесить простой обработчик на кнопку, можно описать его и в другом классе. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.10.2007
Сообщений: 628
|
![]()
Ааа, я только сейчас заметил, что оказывается при создании нового класса можно указывать идентификатор диалогового окна! vvviperrr, спасибо за объяснение... Ну так, а если все таки связывать окно через создание нового класса, то для каждого окна придется создавать отдельно новый класс? Значит классов бывает в программе очень много?
![]() И еще маленький вопросик: есть код: Код:
Последний раз редактировалось Rembo; 14.11.2008 в 18:32. |
![]() |
![]() |
![]() |
#4 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
![]()
совсем не обязательно. ты можешь вызвать свой диалог и так:
CDialog m_dlg(IDD_ABOUTBOX); m_dlg.DoModal(); а элементы получить через их ID. но если у тебя много инфы на диалоге, то лучше создать класс, удобнее ![]() |
![]() |
![]() |
![]() |
#5 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
![]()
2Rembo IDOK, IDCANCEL и все другие ID это обычные инты, описанные либо в enum, либо через #define (в recource.h например
![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.10.2007
Сообщений: 628
|
![]()
vvviperrr, благодарю за помощь! Теперь вроде разобрался
![]() |
![]() |
![]() |
![]() |
#7 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
![]()
нет проблем, обращайся
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание всплывающих окон | John_chek | Общие вопросы Delphi | 13 | 10.11.2008 21:10 |
MFC: ListBox | umnick | Visual C++ | 2 | 29.10.2008 22:28 |
Visual c++(MFC) | CUtty | Visual C++ | 1 | 13.10.2008 21:21 |
MFC и e-mail | alixEx | Visual C++ | 2 | 13.05.2008 01:07 |
MFC | Diman2008 | Visual C++ | 2 | 06.03.2008 16:24 |