On-line: гостей 3. Всего: 3 [подробнее..]
АвторСообщение
Администратор




Пост N: 3828
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.03.19 08:51. Заголовок: Вывод разноцветной строки


Есть ли в какой-нибудь гуевой библиотеке класс, позволяющий выводить строку не одним цветом, а с возможностью указания цвета для символа в определенной позиции строки ? Меня больше интересует для вывода в гриде/бровсе, хотелось бы посмотреть пример, как это можно сделать.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 4 [только новые]





Пост N: 2267
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.03.19 09:59. Заголовок: Pasha пишет Меня бол..


Pasha пишет
 цитата:
Меня больше интересует для вывода в гриде/бровсе, хотелось бы посмотреть пример, как это можно сделать.


В районе 2005-2012 г. использовал HtmLayout.dll для разноцветных слов в гриде\таблице где <tr><td>+<span>
позволяло достаточно просто это проделывать. Но эта dll ушла. Проги на ней еще работают. На hm:
- на Browse красил только строки (многострочности в колонке нет).
- для Label сделал класс см. Samples\Basic\Colored_Label
- на TsBrowse красил колонки многострочные, нужно слова было.
На TsBrowse есть ф-я
 
TSDrawCell( hWnd, ; // 1
hDC, ; // 2
xRow, ; // 3
nStartCol , ; // 4
aColSizes[ nJ ], ; // 5
uData, ; // 6
nAlign , ; // 7
nClrFore, ; // 8
nClrBack, ; // 9
hFont, ; // 10
hBitMap, ; // 11
nHeightCell, ; // 12
oColumn:l3DLook, ; // 13
nLineStyle, ; // 14
nClrLine, ; // 15
0, ; // 16 header/footer/super
nHeightHead, ; // 17
nHeightFoot, ; // 18
nHeightSuper, ; // 19
nHeightSpecHd, ; // 20
lAdjBmp, ; // 21
lMultiline, ; // 22
nVAlign, ; // 23
nVertText, ; // 24
nClrTo, ; // 25
lOpaque, ; // 26
If( lBrush, nClrBack:hBrush, 0 ), ; // 27
l3DText, ; // 28 3D text
nClr3dL, ; // 29 3D text light color
nClr3dS ) // 30 3D text shadow color
nStartCol += aColSizes[ nJ ]

для вывода колонок. Была мысль сделать разноцветный вывод ..., но показалось много переколбасить надо.
Хотел многострочные колонки делать отдельными строками тсб с раскраской как есть сейчас по описанию +
объединять строки DbSkiper-ом. Но клиент удовлетворился простой раскраской колонок тсб, я тем более

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3829
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.03.19 10:19. Заголовок: Наверное ничего вина..


Наверное ничего винапишного для такого вывода нет ?
Надо самому выдавать DrawText для каждого символа отдельно, и считать пиксели ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2268
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.03.19 10:41. Заголовок: Pasha пишет Наверное..


Pasha пишет
 цитата:
Наверное ничего винапишного для такого вывода нет ?


Может, что в FiveWin есть - не сталкивался совсем.
Может ActivX+IE+html или какая нибудь UI компонента (пробовал W2UI, на раскраску слов не обратил внимания, но таблицы\гриды + управление неплохо смотрятся).

 цитата:
Надо самому выдавать DrawText для каждого символа отдельно, и считать пиксели ?


Цель и частота использования, по мне основное в этом вопросе. для разовых дейсвий может и Labelов с SET KEY ... достаточно.
Для таблиц. о себе говорю, использовал бы TsBrowse, но надо придумать тэги для цветов\фонтов в текстах колонок.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3830
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.03.19 10:50. Заголовок: Ага, нашел в примера..


Ага, нашел в примерах к fwh функцию DrawTextExArray, которая в цикле примерно так и работает: отдельно выводит фрагменты текста разным цветом.
Спасибо. Теперь понятно, куда двигаться.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 58
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет