Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CRichEditCtrl вывод текста колонками, с поочередным подсвечиванием строчек 
:(
    Опции темы
GSasha
Дата 13.1.2010, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 23.3.2008
Где: Ukraine

Репутация: нет
Всего: нет



Добрый вечер уважаемые программисты. Стоит задача вывода текста в CRichEditCtrl в табличной форме, должны быть колонки, а линии поочередно подсвечены (как в CListCtrl). Направьте, пожалуйста, на путь истинный, это мой первый опыт работы с данным контролом.  smile 
PM MAIL ICQ   Вверх
Albor
Дата 13.1.2010, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



Вставляй в текст строки символы '\t' для разделения полей таблицы, и '\r' '\n' для перехода на следующую строку.
PM MAIL ICQ   Вверх
GSasha
Дата 13.1.2010, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 23.3.2008
Где: Ukraine

Репутация: нет
Всего: нет



Вариант с табами не проходит, так как слова могут быть разной длины, а также при смене шрифта все форматирование сьежает...
PM MAIL ICQ   Вверх
Albor
Дата 13.1.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



Ну, тогда CListCtrl. А сделать аналог из CRichEdit - нужно хорошо постараться. Вообще-то, какой вопрос, такой и ответ. Строки, что, должны выводиться с разным форматом текста? Если да, то ничего приличного не получится. Строки текста, я так понял, будут добавляться как в список (всмысле - заранее, до вывода текста, нельзя рассчитать размеры?). Если строк будет не очень много, то можно пересчитывать поля вывода и переписывать весь текст в контроле, либо заранее определиться с максимальным размером полей, что, скорее всего, проще, надёжнее и легче для глаз пользователя, чем постоянно прыгающий размер колонок.

Это сообщение отредактировал(а) Albor - 13.1.2010, 17:12
PM MAIL ICQ   Вверх
GSasha
Дата 13.1.2010, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 23.3.2008
Где: Ukraine

Репутация: нет
Всего: нет



Спасибо за ответ, я Вас понял. Сорри за невнятный вопрос. Меня интересует именно заранее заданные максимальные поля для вывода текста в виде колонок (таблица).
PM MAIL ICQ   Вверх
Albor
Дата 13.1.2010, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



Навскидку: 
1. Наследуемся от CRichEdit;
2. Организуем структуру данных, содержащую строку текста в виде подстрок по количеству колонок;
3. Используем моноширинный шрифт, если не хочется использовать табуляцию;
4. Выравниваем длину подстрок в соответствии с максимальным размером поля, добавляя пробелы, либо, обрезая подстроку.
5. Если подстроки будут обрезаться, добавляем контейнер для хранения структур из пункта 1, где подстроки будут храниться в натуральном виде.
6. Работаем над вышеперечисленным, исправляя по ходу возникшие проблемы.

Это сообщение отредактировал(а) Albor - 13.1.2010, 17:46
PM MAIL ICQ   Вверх
GSasha
Дата 13.1.2010, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 23.3.2008
Где: Ukraine

Репутация: нет
Всего: нет



Цитата(Albor @  13.1.2010,  17:44 Найти цитируемый пост)
3. Используем моноширинный шрифт, если не хочется использовать табуляцию;

Этот пункт не подходит, шрифт изменяется.
Пробую решить с помощью табстопов.
PM MAIL ICQ   Вверх
GSasha
Дата 14.1.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 23.3.2008
Где: Ukraine

Репутация: нет
Всего: нет



Подскажите, как перевести высоту шрифта в твипсах (CHARFORMAT yHeight) в высоту шрифта LOGFONT lfHeight?
PM MAIL ICQ   Вверх
Albor
Дата 14.1.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



по-моему нужно разделить на 20
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.