Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таймер 
:(
    Опции темы
ej0804
Дата 27.4.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Товарищи программисты,помогите пожалуйста.Такая проблема:

как сделать чтобы сообщение от таймера,созданного в классе диалогового окна,
передовалось сразу во все объекты другого класса этого проекта.
PM MAIL   Вверх
Greeen
Дата 28.4.2007, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ej0804, ручками слать какое то свое сообщение (например WM_APP + 123)


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
SenkraD
Дата 28.4.2007, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

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



Вот что на скорую руку в голову влезло
В обработчике WM_TIMER диалога посылаеш другим оконным классам заранее зарегистрированое сообщение и в них, других классах его обрабатываеш.
А если классы не оконные, то используй бесконечные циклы и логические флаги, это тоже первое что в голову всбрело.


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
ej0804
Дата 29.4.2007, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



        Так как я начинающий профан в  этом деле, может намекнете по поводу пересылания вручную своего сообщения, приблизительно как это делается (класс должен быть наследован от специального класса работающего с сообщениями или любой собственный?)
PM MAIL   Вверх
zkv
Дата 29.4.2007, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



Цитата(ej0804 @  29.4.2007,  19:47 Найти цитируемый пост)
приблизительно как это делается 

посылаем окну SendMessage() или PostMessage()
ловим в WindowProc окна и все smile

Немного непонятно, что подразумеваешь под: 
Цитата(ej0804 @  27.4.2007,  22:12 Найти цитируемый пост)
передовалось сразу во все объекты другого класса этого проекта. 


PM MAIL   Вверх
ej0804
Дата 29.4.2007, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вся эта муть как бы для создания и управления анимированной картинки. Т.е.хотел сделать класс ,каждый объект которого являлся бы такой картинкой. По принятию данных с последовательного порта, по сообщению от таймера управлять ими  сразу всеми в зависимости от принятых данных.
PM MAIL   Вверх
zkv
Дата 30.4.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



ej0804, абстрактное задание, но попробую предложить следующее:

Есть класс в котором мы создаем объекты класса-картинки, и собственно в этом классе хранятся указатели на эти объекты (в контейнере или просто так валяются если немного и фиксированное количество),
 когда возникает необходимость сообщить картинкам, что надо перерисоваться, или что то еще, то просто перебираем все объекты и вызываем в них методы перерисовки.
Идея не новая, посмотрите например как реализован метод UpdateAllViews класса CDocument:
Код

void CDocument::UpdateAllViews(CView* pSender, LPARAM lHint, CObject* pHint)
    // walk through all views
{
    ASSERT(pSender == NULL || !m_viewList.IsEmpty());
        // must have views if sent by one of them

    POSITION pos = GetFirstViewPosition();
    while (pos != NULL)
    {
        CView* pView = GetNextView(pos);
        ASSERT_VALID(pView);
        if (pView != pSender)
            pView->OnUpdate(pSender, lHint, pHint);
    }


PM MAIL   Вверх
ej0804
Дата 1.5.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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