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

Тема в разделе "MS Visual C++", создана пользователем pominub, 16 ноя 2004.

Статус темы:
Закрыта.
  1. pominub

    pominub Гость

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

    iktomy Гость

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

    klizardin Гость

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

    Код (Text):

    #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]

    все
    можно делать и так
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей