Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.039 c
4-1153379764
Misha Uskov
2006-07-20 11:16
2006.12.03
Описание сервиса


15-1163048704
Steep
2006-11-09 08:05
2006.12.03
Клавиши


2-1163780750
Golikov
2006-11-17 19:25
2006.12.03
как перевести строку в ASCII-код ?


15-1163535845
sgTrA2_7605
2006-11-14 23:24
2006.12.03
работа с exe-файлом проекта Делфи


9-1138364742
Зм1й
2006-01-27 15:25
2006.12.03
Скелетная анимация :(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский