Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
4 / 4 / 0
Регистрация: 26.09.2012
Сообщений: 39

Вывод текстов с возможностью выбора типа и размера шрифтов

24.11.2012, 02:49. Показов 2675. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
О-о-о, Великие гуру Канваса. Снизойдите до начинающего,- владельца задания по курсовой. Помогите понять, как реализовать:
"Вывод текстов с возможностью выбора типа и размера шрифтов, угла поворота, места и формы размещения на экране, а также цвета текста и цвета фона, на котором текст выводится."

На форме эдит и несколько пунктов для выбора размера,формата, типа, подчеркивание. xd--X down, yu-- Y up.

Гуглю всемирную паутину знаний, но от этого только запутался еще больше. Вот все на что меня хватило. Спасайте, наставьте на путь истинный

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Form1->PaintBox1->Canvas->Brush->Style = bsClear;
Form1->PaintBox1->Canvas->Pen->Color=clBlack;
PaintBox1->Canvas->Rectangle(xd,yd,xu,yu);
 
  Form1->Edit1->Font->Size=Edit2->Text.ToInt();
  Form1->Edit1->Font->Name= Form1->ComboBox2->Text;
  if (ComboBox1->Text=="станд"){
  Form1->Edit1->Font->Style.Clear();
   }
   if (ComboBox1->Text=="жирн"){
  Form1->Edit1->Font->Style=TFontStyles()<<fsItalic;
   }
    if (ComboBox1->Text=="курсив"){
  Form1->Edit1->Font->Style=TFontStyles()<<fsBold;
   }
    if (RadioButton5->Checked==true ){
  Form1->Edit1->Font->Style=TFontStyles()<<fsUnderline;
   }
        AnsiString text = Edit1->Text;
 
Form1->PaintBox1->Canvas->TextRect(NRect([COLOR="red"]xd,yd,xd+PaintBox1->Canvas->TextWidth(text),
yd+PaintBox1->Canvas->TextHeight(text)[/COLOR]),xu,yu,text);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.11.2012, 02:49
Ответы с готовыми решениями:

Вывод фрагментов текстов шрифтами различного размера
Создать сервлет, обрабатывающий запрос пользователя. Размер шрифта и количество строк задаются на стороне клиента. ...

Муки выбора. Делаю сайт-блог с возможностью публикации разного типа материалов
Доброго времени суток! Я уже давно эксперементирую с различными CMS и пока не сделал выбор. В первую очередь, до изложения своих...

Вывод отчета по строкам из таблицы с возможностью выбора
Привет, нужна помощь, суть в следующем цитата:  Для любой/выбранной публикации организовать вывод ее библиографического описания...

5
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
24.11.2012, 06:07
прада? всю паутину? форум видимо, вне сети:
Координаты по кругу
Координаты по кругу
1
4 / 4 / 0
Регистрация: 26.09.2012
Сообщений: 39
24.11.2012, 14:31  [ТС]
воо, спасибище!

Добавлено через 11 минут
LK, 1 только вопрос, у меня не заработал поворот текста
C++
1
lf.lfEscapement = 90;
это связано с тем что у меня paintbox вместо image?
и если не сложно можешь пояснить, hdc отвечает за вывод свойств текста?
З.Ы. В пример себе взял ваш код.

Добавлено через 3 минуты
LK, да еще момент
ошибка на
C++
1
wcscpy(lf.lfFaceName, _T("Courier New"));
Не понимает _T
не переводит char* в wchar_t
ну и другие ошибки по этой строке.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
24.11.2012, 18:17
1. что мешает потренироваться на с image?
2. hdc - это контекст устройства, в общем говоря, полотно, на котором рисуется что-нибудь.
3. надо подключить
C++
1
#include <tchar.h>
или
C++
1
strcpy(lf.lfFaceName,"Courier New");
0
4 / 4 / 0
Регистрация: 26.09.2012
Сообщений: 39
26.11.2012, 03:04  [ТС]
LK, Привет, еще раз.
Столкнулся с проблемой. Надо чтобы перерисовки окна не было. текст просто выводился на экран и все.
Убираю перерисовку
C++
1
2
PaintBox1->Canvas->Brush->Color = clWhite;
PaintBox1->Canvas->FillRect(PaintBox1->Canvas->ClipRect);
и сразу же перестает работать SetBkColor. Я так понимаю из-за того, что не видит размеров заливки. или нет? Можешь помочь?

Добавлено через 7 минут
Попытался поменять TextOut на TextRect, но не получилось(
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
26.11.2012, 04:27
без перерисоки никак, на время віполнения каких-либо телодвижений можно использовать BeginUpdate() - EndUpdate().
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.11.2012, 04:27
Помогаю со студенческими работами здесь

ищу DatePicker с временем, списком выбора месяца и возможностью смены месяца после выбора числа
Привет. Ищу хороший DatePicker с указанными функциям. Немного расшифрую, что от него нужно: 1) Возможность выбора времени (чч:мм) ...

Форма выбора шрифтов
Всем привет! Кто знает как создать такую форму? По примеру выбора шифтов в студии?

Как создать диалог выбора шрифтов?
Какими функция можно создать диалог выбора шрифтов? Можно еще пример

Компонент (не диалог) для выбора шрифтов?
Есть ли в лаарус компонент для выбора шрифтов (типа colorlistbox)? не диалог

Подскажите API для вызова диалога выбора шрифтов
Подскажите API для вызова диалога выбора шрифтов


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru