Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Мышка, графика и таймер  (Прочитано 8602 раз)
0 Пользователей и 1 Гость смотрят эту тему.
SAndrus
Постоялец

ru
Offline Offline
Пол: Мужской

« : 04-06-2010 10:55 » 

Доброе время суток.
Проблема такая:
в окне нарисован график, мышкой брем точку, передвигаем, все работает
необходимо, чтобы не каждая новая координата точки сохранялась в базу, а допустим 2 раза в секунду
Попробовал так:
при приходе первой коордитаты, ставлю таймер на 500 мс, при срабатывании проверяю координату на равенство со старой
если не равны сохраняю в базу и в переменную.
Скорее всего потому, что с изменением точки много обновляется, но сообщения таймера поступают в окно после того как перестаю двигать мышкой.
Может есть решение, без разработки собственного таймера.
Спасибо.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 04-06-2010 11:10 » 

SAndrus, таймер вроде как лишний - записывай по событию WM_LBUTTONUP (то есть, когда отпустил кнопку мыши)
Записан

SAndrus
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 04-06-2010 11:23 » 

ну я наверно не точно рассказал,
при сохранении координаты мыши изменяется другой график, а очень часто перерисовываеть этот большой график накладно, хотел пару раз в секунду
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 04-06-2010 11:24 » 

так координаты можно не сохраняя в базу передавать на другой график, а сохранить всё когда точку бросили
Записан

SAndrus
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 04-06-2010 11:25 » 

расчет точек графика в другой программе проводят мне по UDP каналу пересылают 50 раз в сек
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 04-06-2010 11:29 » 

SAndrus, ммм, так проблему я и не понял )) Ну, пересылай по WM_MOUSEMOVE
Записан

SAndrus
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 04-06-2010 11:30 » 

я так и делаю, значений очень много, кроме координаты графика, боюсь тормозить будет, пересылею приличный объем ок 1 кБ
Записан
SAndrus
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 04-06-2010 11:31 » 

хотя попробую, может и прокатит я не рискнул попробовать
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #8 : 04-06-2010 11:35 » 

SAndrus, а ты для начала просто попробуй, и не бойся ) А будет тормозить, в обработчик отсылки вставишь простейший тормоз - с применением мембера класса и GetTickCount() (а то и GetCurrentMessage() + MSG::time ) Улыбаюсь
Записан

SAndrus
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 04-06-2010 11:42 » 

Эх а про GetTickCount() я чет и не подумал, оч простое решение и работать должно. Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines