Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887

Вывод текта на TForm

29.01.2010, 16:48. Показов 1574. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Как на TForm вывести RichEdit1->Text. Пробую через Form1->Canvas->TextOutA(0,0,RichEdit1->Text), но только выводит он всесь текст одной строкой. А мне нужно чтобы выводилось столько строк, сколько в RichEdit.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2010, 16:48
Ответы с готовыми решениями:

Выравнивание текта
Товарищи программисты подскажите чайника как в Ричедите сделать выравнивание текста подобное в ворду, ну знаете там в верху есть линеечка...

Изменить стиль текта в меню ?
*{ margin:0; padding:0; } #menu{ width:100%; height:40px; background: url(../image/fm_menu_bg.jpg) repeat-x; }

Подсвечивание части текта во вью
Пользователь хочет организовать поиск в бд: пишет критерии поиска, жмет кнопку найти, ищим документы, кидаем их в личную папку. Так вот...

13
 Аватар для Зоти Сергей
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
29.01.2010, 17:23
C++
1
2
for(int i=0;i<RichEdit1->Lines->Count;i++)
        Form1->Canvas->TextOut(10,i*20,RichEdit1->Lines->Strings[i]);
2
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
29.01.2010, 18:04
Можно еще пользоваться функцией DrawText и указать ей прямоугольник вывода, и она сама сможет разбить строку на отдельные подстроки, если они не будут влазить на экран.
1
 Аватар для Зоти Сергей
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
29.01.2010, 18:19
Можно еще пользоваться функцией DrawText и указать ей прямоугольник вывода
Точно. тогда это будет выглядить так (для всего окна):
C++
1
2
3
HDC hdc = GetDC(Form1->Handle);
DrawText(hdc, RichEdit1->Text.c_str(), RichEdit1->Text.Length(), &TRect(0,0,Form1->Width,Form1->Height), DT_LEFT);
ReleaseDC(Form1->Handle,hdc);
1
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
29.01.2010, 22:08  [ТС]
Спасибо! Век не забуду!

Добавлено через 13 минут
Еще одна проблемка. А как очищать поле где будет выводится текст?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
29.01.2010, 22:39
C++
1
Form->Repaint();
А можно и прямоугольничек нарисовать на том месте где нужно что-то вытереть.
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
30.01.2010, 12:33  [ТС]
А у меня еще вопрос про DrawText(). А как изменять свойства выводимого текста. Например изменить цвет шрифта, BackGroundColor и т.д.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
30.01.2010, 12:42
C++
1
2
SetBkColor(hDC, clrNavy);
SetTextColor(hDC, clrAqua);
1
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
30.01.2010, 12:57  [ТС]
Los muchas gracias, Otaka. Теперь все понятно.

Добавлено через 10 минут
А размер шрифта и его имя.
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
30.01.2010, 18:11  [ТС]
Мне все еще интересно, как изменить размер и имя шрифта.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
30.01.2010, 18:57
Можно создать новый с помощью CreateFont. В параметры вносишь название, размер, можно даже угол вывода. После успешного создания выбираешь его в контекст устройства SelectObject(hDC,hFont)
1
 Аватар для BeLiX
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 35
30.01.2010, 20:36
Попробовал бы с Memo только сначало поставь чтобы он только читался
1
 Аватар для Зоти Сергей
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
31.01.2010, 03:33
C++
1
2
3
Form1->Canvas->Font->Name="MS Gothic";
    Form1->Canvas->Font->Size=24;
        Form1->Canvas->TextOut(10,10,"Hallo");
Добавлено через 11 минут
А... Вам, скорей таким способом:
C++
1
2
3
4
5
6
7
8
9
HDC hdc = GetDC(Form1->Handle);
        HFONT Font=CreateFont (-24, 0, 0, 0, FW_DONTCARE, false, false, false, OEM_CHARSET,
                OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
                DEFAULT_PITCH | FF_DONTCARE, "Arial");
 
 
        SelectObject(hdc, Font);
        DrawText(hdc, "Hallo world", 11, &TRect(10,50,Form1->Width,Form1->Height), DT_LEFT);
    ReleaseDC(Form1->Handle,hdc);
1
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
31.01.2010, 10:05  [ТС]
Всем большое спасибо!!!! Теперь узнал все что хотел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.01.2010, 10:05
Помогаю со студенческими работами здесь

Задача из Злотопольского. Получить число из текта
9.149. Дан текст, в котором имеется несколько идущих подряд цифр. Получить число образованное этими цифрами. Запускается, но в...

словил вирус с отправлением текта 861... на номер 1350
Ребят, что делать??? поймал вирус, просит отправить СМС с текстом 861280539 на номер 1350, какой код нужно ввести (если кто-то сталкивался)...

TForm
Доброго времени суток дорогие программисты Не могу разобраться с динамическим созданием форм. Мне нужно по нажатии клавиши создать n...

TForm
Доброго времени суток! Но у меня весьма глупый вопрос! Делаю свой проект, уже научился пользоваться базой данных, конектить её,...

Form : TForm
как сделать, чтобы при компиляций музыка начинала автоматическии играть ???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru