Вот что нашёл по поводу 1 вопроса:
| Цитата | Вывод текста на канву предельно прост. Требуется только задать характеристики шрифта (свойство Font канвы), текст в формате AnsiString и использовать метод TextOutA() канвы. Следующий пример показывает как это делается и, также, демонстрирует то, что канва сохраняет заданные свойства - нажатие кнопки Button2, в обработчике нажатия которой изменен лишь цвет, не изменяет остальных свойств шрифта, заданных в обработчике нажатия кнопки Button1.
| Код | void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString vasS="Пример текста"; //Цвет текста Canvas->Font->Color=clRed; //Размер шрифта в точках Canvas->Font->Size=20; //Стиль шрифта TFontStyles tFontStyle; //Зачеркнутый, наклонный, жирный, подчепкнутый tFontStyle << fsStrikeOut << fsItalic << fsBold << fsUnderline; Canvas->Font->Style =tFontStyle; //Имя шрифта Canvas->Font->Name="Times"; //Вывод текста Canvas->TextOutA(10,10,vasS); } void __fastcall TForm1::Button2Click(TObject *Sender) { AnsiString vasS="Пример текста"; Canvas->Font->Color=clBlue; Canvas->TextOutA(50,50,vasS); }
|
|
Вот тут написаноhttp://wladm.narod.ru/Borland/graphicksborland.html#4
Добавлено через 8 минут и 52 секунды У меня в результате получилось это:
| Код | void __fastcall TForm1::tClick(TObject *Sender) { Memo1->Lines->Strings[isl] = MaskEdit1->Text; isl++;
MaskEdit1->Clear(); // очистка поля ввода MaskEdit1->SetFocus(); // Фокус На МаскЕдит
}
|
Решил выводить всё через Memo
| Код |
void __fastcall TForm1::BitBtn1Click(TObject *Sender) {
Printer()->BeginDoc(); // начало документа
Printer()->Canvas->Font->Pitch=fpFixed;
Printer()->Canvas->Font->Size=10; //Размер шрифта в точках, для вывода на принтер
Printer()->Canvas->Font->Name="Courier New"; //Имя шрифта
//Canvas.Font.Size := 10 //Вывод текста //Canvas->TextOutA(10,10,vasS);
// Печать и координаты // for(int i = 0; i < Memo1->Lines->Count; i++) { Printer()->Canvas->TextOut(1400, 2500 + (i*Printer()->Canvas->TextHeight(Memo1->Lines->Strings[i])), Memo1->Lines->Strings[i]); }
Printer()->EndDoc(); // конец документа
}
|
|