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

Вниз

Требуется создать 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 вся ветка

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

Наверх




Память: 0.51 MB
Время: 0.056 c
6-1123077503
DVladimir
2005-08-03 17:58
2005.11.13
Вопрос по idHTTP


8-1117391048
Grief
2005-05-29 22:24
2005.11.13
воспроизведение звука


2-1129799690
Duffik
2005-10-20 13:14
2005.11.13
Проверка на наличие


2-1130013206
nickmas
2005-10-23 00:33
2005.11.13
Строка-формула


1-1129910104
jiurasdfsdfs
2005-10-21 19:55
2005.11.13
Tms Adv Grid - как сделать суммрование и...?