Главная страница
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.47 MB
Время: 0.048 c
2-1163532851
Troan_81
2006-11-14 22:34
2006.12.03
Про окно


4-1153829366
sVic
2006-07-25 16:09
2006.12.03
Как определить владельца файла(NTFS)


15-1163501877
Chainichek
2006-11-14 13:57
2006.12.03
Помогите настроить доступ к компьютеру по локалке


15-1163270676
PHPDeveloper
2006-11-11 21:44
2006.12.03
escrow.com


2-1163573400
Alex_C
2006-11-15 09:50
2006.12.03
Положение текста в мемо