Библиотеки: Easy Canvas - страница 4

 
Oleksii Chepurnyi:

Я ж выше написал пример, все прекрасно работает )

В OnChartEvent при движении мыши меняем параметры и даем команду на перерисовку холста. Без параметра в структуре пришлось бы передавать sparam в объект, оттуда в другой, а там в метод Draw()

это-же классика жанра - во всех оконных библиотеках, состояния кнопок мыши передаются в единой структуре с координатами курсора.

потому что они все вместе описывают одну сущность и по отдельности быть вообще не могут.

 
Ок. Уговорили. 
 

обновил до версии 1.29

новое:

1. добавил для простоты написания кода и улучшения читаемости следующие дефайны:

#define _Comment Canvas.Comm
#define _X Canvas.X
#define _Y Canvas.Y
#define _TimePos Canvas.TimePos
#define _Bar Canvas.Bar
#define _Price Canvas.Price
#define _CommXY(x,y,str) Canvas.TextPosition(x,y);\
Canvas.Comm(str);
#define _Font Canvas.CurentFont
#define _PixelSet Canvas.PixelSet
#define _MouseX W.MouseX
#define _MouseY W.MouseY
#define _MouseBar W.MouseBar
#define _Width W.Width
#define _Height W.Height
#define _Left_bar W.Left_bar
#define _Right_bar W.Right_bar
#define _BarsInWind W.BarsInWind

2. добавлен в структуру Window по просьбам трудящихся параметр MouseStatus, который может принимать 4 значения:

  • NO_PRESSED (0)
  • LEFT_BUTTON_PRESSED (1)
  • RIGHT_BUTTON_PRESSED (2)
  • LEFT_AND_RIGHT_BUTTONS_PRESSED (3)
 
Nikolai Semko:

обновил до версии 1.29

новое:

2. добавлен в структуру Window по просьбам трудящихся параметр MouseStatus, который может принимать 4 значения:

  • NO_PRESSED (0)
  • LEFT_BUTTON_PRESSED (1)
  • RIGHT_BUTTON_PRESSED (2)
  • LEFT_AND_RIGHT_BUTTONS_PRESSED (3)

Спасибо!

А как же shift, control? ) Не проще ли сделать просто интом?

 
Oleksii Chepurnyi:

Спасибо!

А как же shift, control? ) Не проще ли сделать просто интом?

тогда это уже не Mouse Status.
Придется вводить еще один параметр. 

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

 

версия 1.30

в структуру Window добавлены значения:

int               IdEvent;     // id value of the last event
long              lparam;      // last lparam
 
1.31 Исправлена ошибка с авто-размером основного окна по высоте при использовании нескольких экземпляров iCanvas,   в том числе и в  подокне.
 
как сделать sine по числам fi
 
Aleksey Yeletskiy:
как сделать sine по числам fi

не понял вопрос. Синусоиды с периодами кратными числам Фибоначи?

 
версия 1.34 
Исправлены некоторые ошибки