Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.036 c
9-1119391313
SOL
2005-06-22 02:01
2005.11.13
delphiX


8-1118224081
Gydvin
2005-06-08 13:48
2005.11.13
изменить wmf в делфи


14-1130069324
Nikolay M.
2005-10-23 16:08
2005.11.13
Питьевые качества 5-летнего коньяка в алюминиевой фляжке - ?


2-1130228738
Ma4To
2005-10-25 12:25
2005.11.13
Компонент аля "Календарь" в Outlook e


9-1119953464
Маздай
2005-06-28 14:11
2005.11.13
OpengGL vs 2d





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