Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

При отрисовке скроллбаров они *иногда* пропадают   Найти похожие ветки 

 
AlexeyT ©   (2006-07-21 10:34) [0]

Hello All,

Устанавливаю позицию скроллбаров (гориз-го и верт-го) через SetScrollInfo. В зависимости от позиции в файле скроллбары меняют позицию и PageSize. При проходе по файлу от начала до конца видно, что на некоторых позициях файла скроллбары внезапно пропадают (горизонтальный у меня иногда прячется, если строки короткие, но вертикальный пропадать не должен вообще никогда!). Причем, вместе с рамкой окна (как будто окно стало иметь BorderStyle=bsNone). Потом так же внезапно появляются.

Явно глюк где-то в API, проверил код, верт. скроллбар у меня всегда виден. Кто-нибудь с этим сталкивался?


 
AlexeyT ©   (2006-07-21 10:40) [1]

Да, забыл добавить, что скроллбары - это не компоненты TScrollbar, а выставленные стили окна WS_VSCROLL, WS_HSCROLL.


 
han_malign ©   (2006-07-21 16:37) [2]

BorderWidth:= 0;
BevelKind:= bkNone;
BorderStyle - можно bsSingle

глюк не только в API, но и в VCL.
VCL при перерисовке Border/Bevel - закрашивает скроллбары. API перерисовывает  скроллбары только по их изменению... И это еще не все, даже если поправить прорисовку в VCL, чтобы он не закрашивал скроллбары, в API для них неправильно вычислиются Clipping регионы, в аккурат на ширину/высоту Border + Bevel - и там остается мусор.
Таким образом - только вариант описанный в самом начале, а если так уж Bevel-ы нужны - клади на панель...


 
han_malign ©   (2006-07-21 16:40) [3]

Вдогонку, чтобы получить *стабильный* результат - достаточно любое другое окно поверх протащить...


 
AlexeyT ©   (2006-07-21 20:37) [4]


> BorderWidth:= 0;
> BevelKind:= bkNone;
> BorderStyle - можно bsSingle


Поставил в конструкторе - не помогло. Все равно пропадает.
Перетаскивание другого окна поверх - никак не влияет, от этого глюк ни пропадает, ни становится стабильнее...

Да, VCL по-моему не при чем, т.к. я скроллю стрелками. При этом VCL практически не работает (ничего не рисует), а вызывается моя перерисовка и установка скроллбаров.



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
8-1145016839
Лопух
2006-04-14 16:13
2006.12.03
Мерцание прорисовки Canvas-a


5-1144508062
Volodya_
2006-04-08 18:54
2006.12.03
TMediaPlayer


2-1163610135
Riply
2006-11-15 20:02
2006.12.03
Вопросы из разряда "Почему верблюд не ест вату ?"


15-1163143166
Орион
2006-11-10 10:19
2006.12.03
Служба тех. поддержки американского хостинга


4-1153379764
Misha Uskov
2006-07-20 11:16
2006.12.03
Описание сервиса