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


Автор: Nia 6.4.2011, 08:47
Как вывести данные из компонента MaskEdit на печать?
 smile 

Прочитал в учебнике что позиционирование для печати  производится по пикселям, как сделать чтобы  было в миллиметрах?
smile 

(C++Builder 2007)

Автор: Nia 6.4.2011, 16:20
Вот что нашёл по поводу 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();    // конец документа


}

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