![]() |
|
![]() ![]() ![]() |
|
GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Добрый вечер уважаемые программисты. Стоит задача вывода текста в CRichEditCtrl в табличной форме, должны быть колонки, а линии поочередно подсвечены (как в CListCtrl). Направьте, пожалуйста, на путь истинный, это мой первый опыт работы с данным контролом.
![]() |
|||
|
||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
Вставляй в текст строки символы '\t' для разделения полей таблицы, и '\r' '\n' для перехода на следующую строку.
|
|||
|
||||
GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Вариант с табами не проходит, так как слова могут быть разной длины, а также при смене шрифта все форматирование сьежает...
|
|||
|
||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
Ну, тогда CListCtrl. А сделать аналог из CRichEdit - нужно хорошо постараться. Вообще-то, какой вопрос, такой и ответ. Строки, что, должны выводиться с разным форматом текста? Если да, то ничего приличного не получится. Строки текста, я так понял, будут добавляться как в список (всмысле - заранее, до вывода текста, нельзя рассчитать размеры?). Если строк будет не очень много, то можно пересчитывать поля вывода и переписывать весь текст в контроле, либо заранее определиться с максимальным размером полей, что, скорее всего, проще, надёжнее и легче для глаз пользователя, чем постоянно прыгающий размер колонок.
Это сообщение отредактировал(а) Albor - 13.1.2010, 17:12 |
|||
|
||||
GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Спасибо за ответ, я Вас понял. Сорри за невнятный вопрос. Меня интересует именно заранее заданные максимальные поля для вывода текста в виде колонок (таблица).
|
|||
|
||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
Навскидку:
1. Наследуемся от CRichEdit; 2. Организуем структуру данных, содержащую строку текста в виде подстрок по количеству колонок; 3. Используем моноширинный шрифт, если не хочется использовать табуляцию; 4. Выравниваем длину подстрок в соответствии с максимальным размером поля, добавляя пробелы, либо, обрезая подстроку. 5. Если подстроки будут обрезаться, добавляем контейнер для хранения структур из пункта 1, где подстроки будут храниться в натуральном виде. 6. Работаем над вышеперечисленным, исправляя по ходу возникшие проблемы. Это сообщение отредактировал(а) Albor - 13.1.2010, 17:46 |
|||
|
||||
GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
||||
|
||||
GSasha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 23.3.2008 Где: Ukraine Репутация: нет Всего: нет |
Подскажите, как перевести высоту шрифта в твипсах (CHARFORMAT yHeight) в высоту шрифта LOGFONT lfHeight?
|
|||
|
||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
по-моему нужно разделить на 20
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |