Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2013, 22:12   #1
avcs
Новичок
Джуниор
 
Регистрация: 23.10.2013
Сообщений: 3
Сообщение Функция нажатия на кнопку

Здравствуйте, возможно задам уже избитый вопрос, но решения найти не смог, видимо, плохо искал.
Использую MFC, создается диалоговое окно(CDialogUnit), которое вызывается из верхнего меню(для пункта добавил обработчик событий)
void CTestProgView::UnitMn()
{
CDialogUnit dlg(this);
dlg.DoModal();
}
Окно появляется, все хорошо, но мне нужно, чтобы при нажатии на кнопку информация в диалоговом окне обновлялась, в моем случае
void CDialogUnit::OnBnClickedButton1()
{
//код
}
изменение информации должно происходить с помощью dlg, который описан в другой функции, была идея передать указатель на этот объект dlg в функцию
void CDialogUnit::OnBnClickedButton1(CDi alogUnit *Cptr)
но я в этом деле новичок, не могу понять принцип организации, где вызывать данную функцию. если кто понял, что я хочу, откликнитесь)
avcs вне форума Ответить с цитированием
Старый 24.10.2013, 14:44   #2
greentree
 
Регистрация: 07.07.2013
Сообщений: 7
По умолчанию

UpdateData(FALSE); ?
greentree вне форума Ответить с цитированием
Старый 24.10.2013, 15:58   #3
avcs
Новичок
Джуниор
 
Регистрация: 23.10.2013
Сообщений: 3
По умолчанию

разобрался немного, но не до конца. Поступаю теперь по-другому: в главном окне у меня есть переменная сетки m_Grid
в созданном модальном окне мне нужно использовать в функции void CDialogUnit::OnBnClickedButton1() переменную m_Grid, чтобы получать информацию с главного окна. как это сделать? пробовал подключать классы через #include, переменную все равно не видно.
avcs вне форума Ответить с цитированием
Старый 24.10.2013, 16:24   #4
greentree
 
Регистрация: 07.07.2013
Сообщений: 7
По умолчанию

Обычно наоборот переменные класса используют внутри класса а глобальные переменные можно использовать как внутри класса так и снаружи.
greentree вне форума Ответить с цитированием
Старый 24.10.2013, 16:33   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Когда создаете CDialogUnit передавайте указатель на ваш m_Grid либо извлечь что нужно из m_Grid, передать в диалог, потом забрать результаты и записать обратно в m_Grid.
waleri вне форума Ответить с цитированием
Старый 24.10.2013, 16:45   #6
avcs
Новичок
Джуниор
 
Регистрация: 23.10.2013
Сообщений: 3
По умолчанию

разобрался, оказалось, нужно было подключить через #include класс главного окна, и тогда удалось создать указатель. Спасибо всем.
avcs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод popup без нажатия на кнопку soundstorm Общие вопросы по Java, Java SE, Kotlin 4 03.10.2013 22:51
Добавление в конец списка определённых ячеек после нажатия на кнопку Diamondik Microsoft Office Excel 12 19.04.2011 16:44
как считать нажатия на кнопку мыши по OnMouseDown xander_var C++ Builder 0 14.04.2011 12:43
Создание анимации нажатия на кнопку Alex Cones Общие вопросы Delphi 8 27.04.2009 19:06
Избежать повторного нажатия на кнопку Shouldercannon Общие вопросы Delphi 4 27.04.2009 11:26