Форум: "Начинающим";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c