![]() |
|
|
![]()
|
|
| Edik |
|
||||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
У меня в программе на МФС есть два класса диалоговых окон CDlg1 и CDlg2. Так вот в классе CDlg1 есть переменная int Size, причем из этого класса вызываеться диалоговое окно класса CDlg2, второй диалог, модальный, а первый диалог не закрываеться. И мне в диалоговое окно этого класса CDlg2 надо вывести в его Edit переменную int Size из предыдущего класса, из которого вызвано это окно CDlg2. Как это сделать? Надо наверно копирующий конструктор в классе CDlg1 создать. Или как? Потому что просто так вот во втором классе CDlg2
ничего не выходит. Предположим я в классе CDlg1 реализовал фунцию его, этого класса, которая возвращает указатель на переменную из него Size. Когда вызываю эту функцию во втором классе CDlg2
пишет компилятор, что "неправильный вызов не статической фунции, смотри объявление GetSize()". Что за чертовня. Ну замучено! Капец. Кто знает подскажите. |
||||
|
|||||
| Greeen |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Объявляешь в классе CDlg1 переменную int size (для простоты примера public). Далее когда нужно отобразить второй диалог:
В классе CDlg2 чтобы обратиться к этой переменной
Не забываем в Dlg1.h подключить Dlg2.h и наоборот. Удачи!! *** Все же рекомендую язык подучить Это сообщение отредактировал(а) Greeen - 13.6.2007, 06:39 -------------------- Подпись больше не нужна |
||||
|
|||||
| Edik |
|
||||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
Я попробывал делать так, все равно ничего не вышло.
Первый способ, выдает ошибку во время исполнения:
И второй способ, тоже не вышло, выдает что ->intSize не член CWnd:
Второй способ я взял из твоего примера из предыдущего поста. |
||||
|
|||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
Edik, а в классе CEnglishDlg ты завел член intSize? Видимо нет.
вру, невнимательно прочитал, этот код должен давать другую ошибку (типа udefined symbol reinterpert_cast), покажи свой код, который у тебя и вообще
дельный совет Это сообщение отредактировал(а) zkv - 14.6.2007, 15:00 |
|||
|
||||
| Edik |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
О! Получилось! Пацаны, спасибо всем. Но извините, я только начал изучать С++, поэтому и залез на форум. А книги бумажные очень поверхностные (читаю щас две). А MSDN я тоже поверхностно понимаю, так как в энгише не очень шарю, хотя на 80% MSDN я понимаю. Но все равно, я пока еще начинающий, так что не обижайтесь. Вот правильный код.
Я не знал про GetParent();. Немного еще с классами CWnd путаюсь, как что к чему приводить. Спасибо, вы мне открыли новое поле для понимания! |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Да всегда пожалста
-------------------- Подпись больше не нужна |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |