Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных из немодального диалога в модально 
V
    Опции темы
Lenkov
Дата 3.5.2009, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



Подскажите как передать данные и вызвать функцию из немодального диалогового окна передать данные и вызвать функцию в модальном окне. 
PM MAIL   Вверх
Earnest
Дата 4.5.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Немодальное диалоговое окно - объект, доступный в течени всего времени своего существования. В чем проблема передать туда данные и вызать функцию? Также, как в любой другой объект.
Что касается модального диалога, там все немного хитрее: само окно существует только внутри вызова функции DoModal. Но неоконные переменные класса диалога существуют вместе с объектом. Поэтому передать туда данные и забрать проще всего через переменные класса, соответсвенно до и после вызова DoModal. Что касается вызова функции модального диалога, то все зависит от того, по какому поводу (событию) нужно вызвать функцию. Логичнее всего определить обработчик этого события в самом диалоге.

В общем, ответ, конечно, расплывчатый - как и вопрос.


--------------------
...
PM   Вверх
Lenkov
Дата 4.5.2009, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



да вообще с данными проблем не было, проблема была с вызовом функции!
А вообще ситуация такая: в не модальном окне получаем ссылку, которую вызываем в броузере на модальном окне!
PM MAIL   Вверх
Earnest
Дата 4.5.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Определи пользовательское сообщение и пошли.


--------------------
...
PM   Вверх
Lenkov
Дата 4.5.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



Чесно говоря я немного  не понимаю тебя! Объясни пожалуйста поподробнее!
PM MAIL   Вверх
Earnest
Дата 5.5.2009, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(Lenkov @  4.5.2009,  16:19 Найти цитируемый пост)
в не модальном окне получаем ссылку, которую вызываем в броузере на модальном окне! 

Наверное, сообщения все же излишни. Ты ведь не сможешь ничего передать модальному окну, пока оно открыто (т.е. поток управления в его модальном цикле), разве что у тебя не один поток. Но про это ни слова. Поэтому предполагаю, что ты открываешь модальное окно после получения URL. Тогда достаточно передать строку как параметр при создании модального окна.


--------------------
...
PM   Вверх
Lenkov
Дата 7.5.2009, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



Я думаю так не получится. У меня сначала создается модальное окно, на нем располагаются вкладки (TabControl), которые и сделаны в виде не модальных окон!
Что еще можно попробовать?!
PM MAIL   Вверх
Albor
Дата 7.5.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



Если вкладки создаются внутри модального диалога как дочерние окна, значит имеются указатели на них, то есть на не модальные окна - одна задача решена - в передаче данных к дочерним окнам проблем нет. Вызов AfxGetMainWnd() из дочернего окна даёт указатель (CWnd *) на родительское окно, приводим этот указатель к типу родительского окна, то есть модального, и через него получаем доступ к функциям этого окна - решён вопрос передачи данных от дочерних окон.
PM MAIL ICQ   Вверх
Earnest
Дата 7.5.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(Albor @  7.5.2009,  18:20 Найти цитируемый пост)
Вызов AfxGetMainWnd() из дочернего окна даёт указатель (CWnd *) на родительское окно

AfxGetMaonWnd - это главное окно приложения. В частном случае может быть и диалог, если приложение диалоговое и этот диалог и есть главный. Но в общем случае лучше добывать родителя через цепочку GetParent. Можно особо не заморачиваться, вычисляя кем приходится диалог закладке - дедом или прадедом. Проще искать первого предка, который не чайлд. 
Lenkov, формулировал бы вопросы нормально, давно бы ответ получил, а то заладил - модальное-немодальное...


--------------------
...
PM   Вверх
Lenkov
Дата 8.5.2009, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



Albor большое спасибо за функцию  smile !!! Earnest - спасибо за помощь! Все заработало!  smile 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.