Автор | Сообщение |
|
| Администратор
|
Пост N: 3828
Зарегистрирован: 23.05.05
|
|
Отправлено: 13.03.19 08:51. Заголовок: Вывод разноцветной строки
Есть ли в какой-нибудь гуевой библиотеке класс, позволяющий выводить строку не одним цветом, а с возможностью указания цвета для символа в определенной позиции строки ? Меня больше интересует для вывода в гриде/бровсе, хотелось бы посмотреть пример, как это можно сделать.
|
|
|
Ответов - 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-ом. Но клиент удовлетворился простой раскраской колонок тсб, я тем более
|
|
|
|
| Администратор
|
Пост N: 3829
Зарегистрирован: 23.05.05
|
|
Отправлено: 13.03.19 10:19. Заголовок: Наверное ничего вина..
Наверное ничего винапишного для такого вывода нет ? Надо самому выдавать DrawText для каждого символа отдельно, и считать пиксели ?
|
|
|
|
| постоянный участник
|
Пост N: 2268
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.03.19 10:41. Заголовок: Pasha пишет Наверное..
Pasha пишет цитата: | Наверное ничего винапишного для такого вывода нет ? |
| Может, что в FiveWin есть - не сталкивался совсем. Может ActivX+IE+html или какая нибудь UI компонента (пробовал W2UI, на раскраску слов не обратил внимания, но таблицы\гриды + управление неплохо смотрятся). цитата: | Надо самому выдавать DrawText для каждого символа отдельно, и считать пиксели ? |
| Цель и частота использования, по мне основное в этом вопросе. для разовых дейсвий может и Labelов с SET KEY ... достаточно. Для таблиц. о себе говорю, использовал бы TsBrowse, но надо придумать тэги для цветов\фонтов в текстах колонок.
|
|
|
|
| Администратор
|
Пост N: 3830
Зарегистрирован: 23.05.05
|
|
Отправлено: 13.03.19 10:50. Заголовок: Ага, нашел в примера..
Ага, нашел в примерах к fwh функцию DrawTextExArray, которая в цикле примерно так и работает: отдельно выводит фрагменты текста разным цветом. Спасибо. Теперь понятно, куда двигаться.
|
|
|
|