Главная страница
    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.044 c
2-1163275753
vertal
2006-11-11 23:09
2006.12.03
отношение FindDialog к клавише Enter


1-1161455953
andry1981
2006-10-21 22:39
2006.12.03
массив форм


15-1163387593
vidiv
2006-11-13 06:13
2006.12.03
Вопрос по Active Directory


2-1163532851
Troan_81
2006-11-14 22:34
2006.12.03
Про окно


15-1163145469
Konst5719
2006-11-10 10:57
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский