Скроллбар, используется при выводе информации, не помещающейся в окно. Может быть вертикальным и горизонтальным.
Рисование вертикального скроллинга.
Эта функция должна вызыватся для вертикального скроллинга при движении мышей.
Рисование горизонтального скроллинга.
Эта функция должна вызыватся для горизонтального скроллинга при движении мышей.
Версия элемента
Макроса для создания структуры для скроллбара нет. Потому данные для нее задаются вручную. Есть макрос use_scroll_bar он дает возможность понять какие данные нужны для скроллинга.
macro use_scroll_bar { scroll_bar: sb_size_x equ [edi] sb_start_x equ [edi+ 2] sb_size_y equ [edi+ 4] sb_start_y equ [edi+ 6] sb_btn_high equ [edi+ 8] sb_type equ [edi+12] sb_max_area equ [edi+16] sb_cur_area equ [edi+20] sb_position equ [edi+24] sb_bckg_col equ [edi+28] sb_frnt_col equ [edi+32] sb_line_col equ [edi+36] sb_redraw equ [edi+40] sb_delta equ [edi+44] sb_delta2 equ [edi+46] sb_r_size_x equ [edi+48] sb_r_start_x equ [edi+50] sb_r_size_y equ [edi+52] sb_r_start_y equ [edi+54] sb_m_pos equ [edi+56] sb_m_pos_2 equ [edi+60] sb_m_keys equ [edi+64] sb_run_size equ [edi+68] sb_position2 equ [edi+72] sb_work_size equ [edi+76] sb_all_redraw equ [edi+80] sb_ar_offset equ [edi+84] }
sb_btn_high - высота боковых кнопок (левая и правая для гориз. и верхняя и нижняя для верт.)
sb_type - зарезервировано для будущих типов, если скроллбар будет дорабатываться.
sb_max_area - область максимальная, актуально когда не влазит в отображаемую область, т.е. случай активности компонента (весь максимальный размер документа)
sb_cur_area - область отображаемая (какая часть документа влазит в экран)
sb_position - позиция бегунка изменяемая от 0 до значения (sb_max_area-sb_cur_area)
sb_bckg_col - цвет внутренний, применяется для областей между бегунком и кноками
sb_frnt_col - цвет наружный, применяется для областей отличных от применяемых в sb_bckg_col
sb_line_col - цвет линий и стрелок на кнопках
sb_redraw - индикатор необходимости перерисовки управляемой области учитывая изменение sb_position и sb_cur_area
sb_delta2 - индикатор захвата фокуса скроллбаром (удержание бегунка)
sb_all_redraw - флаг устанавливаемый в 1 для перерисовки всего компонента, если поставить 0, то перерисовка происходит только для области бегунка. Введено для ускорения отрисовки, поскольку не во всех случаях требуется принудитеьно отрисовывать все части компонента. Когда вызывается по событию мыши всегда отрисовывается самим компонентом со значением 0.
sb_ar_offset - величина смещения при однократном нажатии боковой кнопки.
Документация обновлялась последний раз 05.02.10.