Форум: "WinAPI";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
ВнизПри отрисовке скроллбаров они *иногда* пропадают Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.044 c