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

Вниз

SB_VERT и отсечение (WinAPI only)   Найти похожие ветки 

 
ProgRAMmer Dimonych ©   (2011-05-04 01:04) [0]

Доброго времени суток.

Пишу контрол наподобие ListView. Регистрирую собственный оконный класс, обрабатываю все необходимые сообщения. При создании принудительно добавляю к стилям окна флаги WS_HSCROLL or WS_VSCROLL. Прокрутка содержимого уже реализована.

Проблема в том, что когда вертикальная полоса прокрутки (SB_VERT) прячется (содержимое умещается в окно по высоте), на её месте остаётся прямоугольная область цвета COLOR_BTNFACE, рисовать поверх которой не удаётся.

На скриншоте - окно с этим же контролом, но вся отрисовка заменена таким кодом:

GetClientRect(hWnd, @R);
FillRect(hDC, @R, hbrBackBrush);


http://s45.radikal.ru/i109/1105/5b/7f86011fb097.jpg

Доп. информация:
1. Обработка WM_NCHITTEST с подменой HTVSCROLL на HTCLIENT ничего не дала.
2. GetClientRect возвращает прямоугольник на 4 пикселя меньше реальной ширины контрола. Т.е., похоже, область спрятанной полосы прокрутки просто отсекается при рисовании. Но SelectClipRgn(hDC, 0) проблемы не решает.


 
Игорь Шевченко ©   (2011-05-04 01:32) [1]


> Прокрутка содержимого уже реализована.


SetScrollInfo там не используется, часом ? Со словом SIF_DISABLENOSCROLL ?



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
2-1304524929
Drowsy
2011-05-04 20:02
2011.08.14
Массив виртуальных функций класса.


15-1302671702
TUser
2011-04-13 09:15
2011.08.14
Открытое письмо В. А. Садовничему


15-1297965112
bss
2011-02-17 20:51
2011.08.14
Глюк со встраиваемыми панелями MS Office при OLE


15-1303830643
Kerk
2011-04-26 19:10
2011.08.14
IT-профессионал - это кто?


15-1303504190
Юрий
2011-04-23 00:29
2011.08.14
С днем рождения ! 23 апреля 2011 суббота