Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Вывести текст на канву в рамочке


Автор: Нитонисе 11.10.2010, 19:31
Как вывести текст на канву в рамочке определенного цвета, определенной толщины и с определенными отступами самой рамки от текста внутри нее? Ну кроме лобового метода рисования прямоугольника и затем текста внутри него.

Автор: SVN74 11.10.2010, 23:20
TLabel
TStaticText

Автор: 586 12.10.2010, 04:51
Нитонисе, можно это сделать с помощью TPanel:
У TPanel установи свойства BevelOuter = bvNone, и BorderWidth равный размеру оконтовки. Потом, положи на неё TLabel, и установи у него свойство Align=alClient. Цвет оконтовки зависит от цвета панели. Таким же образом можно сделать и отступ текста.

Автор: Нитонисе 12.10.2010, 10:46
Да нет, я имел ввиду программной отрисовки текста на канве компонента TImage.

Автор: oldcode 12.10.2010, 14:12
Код

  TControlCanvas * cc = new TControlCanvas;
  cc->Control = BitBtn1;
  cc->Ellipse(10,10,50,50);
  Form1->Canvas->Ellipse(10,10,50,50);
  delete cc;


Автор: Platov 12.10.2010, 14:36
Цитата(oldcode @  12.10.2010,  14:12 Найти цитируемый пост)
 TControlCanvas * cc = new TControlCanvas;
  cc->Control = BitBtn1;
  cc->Ellipse(10,10,50,50);
  Form1->Canvas->Ellipse(10,10,50,50);
  delete cc;

 smile 
Интересно это к чему было?

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

Автор: oldcode 12.10.2010, 18:17
Цитата(Platov @ 12.10.2010,  14:36)
Интересно это к чему было?

это к тому, что ты вякнул позже...
где овал - там и рамочка
держи текст
Код

TFontStyles fs;//объявление класса
fs<<fsBold;    //включение элемента в множество
if(s.Contains(fsBold){/*что-то делает*/} //проверка на вхождение
fs>>fsBold     //исключение элемента из множества
fs=TFontStyles()<<fsBold<<fsItalic  //включение с автоматической перерисовкой

или надо было еще про TextOut написАть  smile ...

Автор: oldcode 15.10.2010, 15:36
Цитата(Platov @ 12.10.2010,  14:36)
Во первых я не вякаю. А во вторых после Вашего поста прошло 24 мин. О чём это говорит?

Говорит о том, что ты мстительный и не умный  smile .
Вот соберу сто постов, и буду тебя минусить  smile ...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)