Обмен данными между диалогами(вкладками)

  • Автор темы pominub
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

pominub

Гость
#1
Здравствуйте. У меня такая ситуация:
Имеется диалог: скажем CmyDlg. На нём к примеру две вкладки:
CPage1 и CPage2. На CPage1 находится EditBox (переменная m_Edit)и кнопка (скажем BUTTON1),
на CPage2 находится ListCtrl (переменная m_List). Проблема следующая: Добустим я хочу ввести ввести в EditBox какой-то текст и чтобы после
нажатия на кнопку на второй закладке (в ListCtrl) этот текст появился как строка. Как это можно организовать?
Заранее спасибо за ответы......
 
I

iktomy

Гость
#2
Насколько я знаю, к вкладкам в диалоге относятся разные классы. Т.ч. тебе нужно просто наследовать переменные, объявляя их в соответствующих классах и передавать данные от одной к другой.
 
K

klizardin

Гость
#3
Или организовывать обмен данных по сообщению updat-а на одном из диалогов
что то вроде

Код:
#define WM_MYCONTRLUPDATEMSG (WM_USER+0x001)
struct UpadateDataTag
{
CString m_edit1str;
}

...
// в Page1 в OnEditBoxChanged или OnButton1Pressed -- т.е. в обработчике нужного тебе контрола пишешь
UpdateDataTag ud;
m_Edit.GetWindowText(ud.m_edit1str);
SendMessage(WM_MYCONTRLUPDATEMSG,0,(LPARAM)&ud);
...
// в Page2 делаешь же обработчик сообщение WM_MYCONTRLUPDATEMSG
ON_MESSAGE(WM_MYCONTRLUPDATEMSG,OnCtrlFromPage1Updated)

...
LRESULT OnCtrlFromPage1Updated(WPARAM wParam,LPARAM lParam)
{
UpdateDataTag* ud = (UpdateDataTag*)lParam;
if(NULL==ud) return 0;
// и здесь получаешь новые данные и обнавлешь данные с Page2
}
[CODE]

все
можно делать и так
 
Статус
Закрыто для дальнейших ответов.