Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Предлагаю добавить статус кнопок мыши. На скорость не повлияет, но бывает полезным )
Предлагаю добавить статус кнопок мыши. На скорость не повлияет, но бывает полезным )
Не могу согласиться, т.к. не вижу в этом особого смысла.
Дело в том, что статус кнопок мыши и клавиш - это событийная модель, которую нужно обрабатывать только там, где наступление этого события отлавливается, а именно в OnChartEvent.
Вы же не будете огранизовывать бесконечный цикл опроса наступления какого-то события вне обработчика событий. Поэтому какой смысл выносить этот статус за пределы OnChartEvent, когда всю обработку этих нажаний нужно делать в OnChartEvent, статус которых находится в lparam и sparam.
Ну разве только с целью ввести новую структуру индификаторов событий мыши для улучшения читаемости кода.
Не могу согласиться, т.к. не вижу в этом особого смысла.
Дело в том, что статус кнопок мыши и клавиш - это событийная модель, которую нужно обрабатывать только там, где наступление этого события отлавливается, а именно в OnChartEvent.
Вы же не будете огранизовывать бесконечный цикл опроса наступления какого-то события вне обработчика событий. Поэтому какой смысл выносить этот статус за пределы OnChartEvent, когда всю обработку этих нажаний нужно делать в OnChartEvent, статус которых находится в lparam и sparam.
Ну разве только с целью ввести новую структуру индификаторов событий мыши для улучшения читаемости кода.
А зачем тогда координаты мышки хранить? ) Тоже событийное )
Про цикл не понял...
В частности статус понадобился чтобы не рисовать часть объекта при перетаскивании мышкой.
А зачем тогда координаты мышки хранить? ) Тоже событийное )
С координатами мышки совсем другое дело. Текущие координаты мышки не являются событийной информацией. Событием является их изменение.
Могут понадобиться моменты, когда коодинаты мышки нужны вне OnChartEvent. Например вот здесь.
Про цикл не понял...
В частности статус понадобился чтобы не рисовать часть объекта при перетаскивании мышкой.
Ну у Вас же при перетаскивании мышкой команда на перерисовку части объекта вызывается из OnChartEvent в тот момент, когда меняется координата мышки и пока нашата ЛКМ, а в OnChartEvent имеется этот статус, зачем его внедрять в структуру Window?
Если бы Вы тоже самое делали не из OnChartEvent, и при этом в экземляре W структуры Window были бы пердлагаемые Вами MouseStatus, то Вам бы пришлось организовывать бесконечный цикл опроса этого парамента (MouseStatus) для ловли момента отпускания ЛКМ, что подвесило бы CPU.
Этот цикл не нужен только в OnChartEvent.
Я просто хочу сказать что использовать статус кнопок можно и нужно только из OnChartEvent, в котором он и так имеется.
Если я не прав, то приведите конкретный пример, в котором этот статус был бы востребован не из OnChartEvent.
Если я не прав, то приведите конкретный пример, в котором этот статус был бы востребован не из OnChartEvent.
Я ж выше написал пример, все прекрасно работает )
В OnChartEvent при движении мыши меняем параметры и даем команду на перерисовку холста. Без параметра в структуре пришлось бы передавать sparam в объект, оттуда в другой, а там в метод Draw()
С координатами мышки совсем другое дело. Текущие координаты мышки не являются событийной информацией. Событием является их изменение.
Могут понадобиться моменты, когда коодинаты мышки нужны вне OnChartEvent. Например вот здесь.
Ну у Вас же при перетаскивании мышкой команда на перерисовку части объекта вызывается из OnChartEvent в тот момент, когда меняется координата мышки и пока нашата ЛКМ, а в OnChartEvent имеется этот статус, зачем его внедрять в структуру Window?
Если бы Вы тоже самое делали не из OnChartEvent, и при этом в экземляре W структуры Window были бы пердлагаемые Вами MouseStatus, то Вам бы пришлось организовывать бесконечный цикл опроса этого парамента (MouseStatus) для ловли момента отпускания ЛКМ, что подвесило бы CPU.
Этот цикл не нужен только в OnChartEvent.
Я просто хочу сказать что использовать статус кнопок можно и нужно только из OnChartEvent, в котором он и так имеется.
Если я не прав, то приведите конкретный пример, в котором этот статус был бы востребован не из OnChartEvent.
Очень странные рассуждения. Логики никакой.
И координаты мыши и нажатые клавиши - есть внешнее состояние. Оно передается через параметры в обработчик, где если уж и кладется во внутренние переменные объекта (что безусловно полезно), то должно там быть целиком, а не частями. Библиотека - это по определению нечто, что делается не под свои хотелки, а в обобщенном виде, с учетом потенциальных потребностей других. Наперед знать все потребности нельзя, поэтому нужно просто не делать искусственных ограничений, как это.
Я ж выше написал пример, все прекрасно работает )
В OnChartEvent при движении мыши меняем параметры и даем команду на перерисовку холста. Без параметра в структуре пришлось бы передавать sparam в объект, оттуда в другой, а там в метод Draw()
это-же классика жанра - во всех оконных библиотеках, состояния кнопок мыши передаются в единой структуре с координатами курсора.
потому что они все вместе описывают одну сущность и по отдельности быть вообще не могут.
обновил до версии 1.29
новое:
1. добавил для простоты написания кода и улучшения читаемости следующие дефайны:
2. добавлен в структуру Window по просьбам трудящихся параметр MouseStatus, который может принимать 4 значения: