Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
ВнизТребуется создать ListBox Найти похожие ветки
← →
Nick Denry © (2005-09-14 00:00) [0]с графической (т.е. ownerdraw) полосой прокрутки (сам листбокс тоже должен быть ownerdraw) либ создать графическую полосу прокруки, с помощью которой можно будет управлять таким листбоксом.
← →
Fay © (2005-09-14 08:22) [1]флаг в руки
← →
Игорь Шевченко © (2005-09-14 10:03) [2]
> с графической (т.е. ownerdraw) полосой прокрутки
Не парься. Искреннее пожелание, без обид.
← →
Nick Denry © (2005-09-14 19:53) [3]А, что разве это не возможно?
Я хочу пропробовать такой вариант (не совсем скроллбар, но все же):
2 кнопки : стрелка вверх, стрелка вниз.
В листбокс загружаются первые n элементов, при нажатии стрелки вниз на место этих элементов загружаются элементы с n по n+n и т.д.....
← →
wicked © (2005-09-14 22:50) [4]да возможно, сам писал... тока кода не дам, ибо на билдере, да и вылизывать его еще долго и долго... но скроллеры железно рисовал....
ежели интересно, нужно поискать в инете статьи/демки по ключевому слову coolsb - я как раз ними пользовался, когда писал это всё...
если нужно, могу расписать, какие сообщения необходимо обрабатывать...
← →
Nick Denry © (2005-09-14 23:52) [5]Нужно.
А я вот еще чего подумал, а нельзяли обойтись простой пересылкой сообщений WM_VSCROLL и WM_HSCROLL (правда горизонтальный скроллинг мне не нужен)
из своего контрола, имитирующего скроллбар?.
← →
wicked © (2005-09-15 00:09) [6]вот, примерный список:
WM_NCCALCSIZE
"размечаем" неклиентскую область окна, нужно для того, чтобы скроллеры были любого желаемого размера....
WM_NCPAINT
рисуем скроллеры и всё остальное, что необходимо...
WM_PAINT
аналогично....
WM_SIZE
пересчитываем размеры скроллеров....
WM_STYLECHANGED
WM_STYLECHANGING:
ловим стили окна, отвечающие за появление/исчезновение скроллеров
WM_NCHITTEST:
возвращаем, где находится мышь....
WM_NCLBUTTONDOWN:
WM_NCLBUTTONDBLCLK:
WM_NCLBUTTONUP:
управление прокруткой....
WM_LBUTTONUP:
аналогично...
WM_NCMOUSEMOVE:
следим за мышью.... в принципе, можно было обойтись и WM_NCHITTEST, но зачем-то я обрабатывал и это сообщение
WM_MOUSEMOVE:
аналогично...
WM_HSCROLL:
WM_VSCROLL:
обрабатываем команды на прокрутку....
← →
Игорь Шевченко © (2005-09-15 11:19) [7]Nick Denry © (14.09.05 23:52) [5]
Скроллбары есть часть неклиентской области окна. Соответственно, для того, чтобы их рисовать, нужно обрабатывать все сообщения неклиентской области и обрабатывать их корректно. Стоит ли овчинка выделки - решать тебе.
← →
Nick Denry © (2005-09-15 12:04) [8]надо попробовать
← →
Nick Denry © (2005-09-15 12:48) [9]Игорь Шевченко © (15.09.05 11:19) [7]
Вообще я немого не это имел ввиду.
Я хотел спросить, нельзяли создать _СВОЙ_ контрол внешним видом напоминающий скроллбар, и с его помощью управлять прокруткой содержимого листбокса?
(если нет, то буду пытаться перерисовывать стандартные скроллбары)
← →
Игорь Шевченко © (2005-09-15 15:33) [10]
> Я хотел спросить, нельзяли создать _СВОЙ_ контрол внешним
> видом напоминающий скроллбар, и с его помощью управлять
> прокруткой содержимого листбокса?
Так ListBox своим поведением тоже влияет на свой Scrollbar
← →
Nick Denry © (2005-09-15 16:06) [11]а.......
т.е. тогда из листбокса надо будет управлять своим "скроллбаром"?
← →
Игорь Шевченко © (2005-09-15 17:23) [12]Nick Denry © (15.09.05 16:06) [11]
Ты матчасть поизучать не хочешь ?
← →
Nick Denry © (2005-09-15 17:36) [13]Хочу, только я собственно не пойму, чего я собственно не понимаю :(
В какую сторону копать?
← →
Игорь Шевченко © (2005-09-15 17:39) [14]Nick Denry © (15.09.05 17:36) [13]
> В какую сторону копать?
Обычно вглубь. В смысле в MSDN. В данном и конкретном случае следует поискать в тырнете аналоги того, что ты хочешь сделать и оценить трудоемкость работы.
← →
Nick Denry © (2005-09-15 19:04) [15]Ну а смотреть листбокс или скроллбарс?
В листбоксе я ничего похожего не нашел, ну вообщем можешь пока не отвечать, я покопаюсь, потом буду спрашивать детали.
Но я что -то склоняюсь к варианту Nick Denry © (14.09.05 19:53) [3],
т.е. листбокс по факту вообще не будет иметь полосы прокрутки, просто данные будут грузится порциями и отоборажаться так же...
а может и по-нормальному сделаю....
← →
Игорь Шевченко © (2005-09-15 20:57) [16]
> Ну а смотреть листбокс или скроллбарс?
Смотреть очевидно обработку оконных сообщений. Перечень сообщений в этой ветке даден. Хочется просто поговорить - лучше в потрепаловке.
← →
Nick Denry © (2005-09-15 22:44) [17]
> Хочется просто поговорить - лучше в потрепаловке.
>
см. Nick Denry © (15.09.05 19:04) [15]
> ну вообщем можешь пока не отвечать
:) без обид.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c