![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TListBox с ручной отрисовкой [WinXP]
Axis_of_Evil © (2006-11-12 10:10:00)хотелось бы заставить TListBox вести себя следующим образом (подойдет альтернатвный компонент):
0) в каждом Item может быть текст, над которым курсор принимает форму crHand. проще выражаясь - hyperlink.
1) пусть есть строка, не содержащая #13#10. нужно в Item'е TListBox вывести (ListBoxDrawItem) эту строку с WordWrap'ом, т.е. перенося слова на новую строку по мере "невлезания".
как по-вашему проще реализовать эти 2 пункта?
иллюстрация к вопросам: // нижний Item = верхний после щелчка
http://www.axis_of_evil.zmail.ru/Comix.PNG// 2.5kb
// если последуете по линку - учтите zmail = case sensetive, т.е. он не отображает comix.png, только Comix.PNG
KilkennyCat (2006-11-12 20:03:00) [1]мда... как мне повезло! Интернет есть только у меня, гугл создан для меня, и две секнды на правильный запрос, опять же я способен лишь выделить...
http://www.thedelphimagazine.com/samples/1465/1465.htm
Axis_of_Evil (2006-11-12 18:52:00) [2]
> KilkennyCat © (12.11.06 16:58) [3]
> Читаем литературу по теме "syntax highlight"
чуть поточнее наводку можно?
// читаем какое издательство - Borland, Microsoft или google? :>
если могете дайте прямой наводкой
KilkennyCat (2006-11-12 16:58:00) [3]Читаем литературу по теме "syntax highlight"
TStas (2006-11-12 16:08:00) [4]Для 0), похоже, придется запомнить положения буковок, а в OnMouseMove если курсор над требуемой буквочкой (или словом), если нужное слово еще не подчеркнуто, то подчеркнуть его, т. е. перерисовать строчку, а если подчеркнуто, а курсор вне, то, наоборот, перерисовать без подчеркивания.
Т. е. ИМХО надо к каждому Item'у приделывать доп. свойства, а если это по уму делать, так новый лисбокс получится.
DrawText у Фаронова в "Искусстве создания компонентов" подробнейше описана.
Axis_of_Evil (2006-11-12 11:10:00) [5]1) Windows.DrawText
0) остается под вопосом