Игры здесь
Воскресенье, 22.12.2024, 04:20



Приветствую Вас Гость | RSS
[ Главная ] [ wxWidgets: простая печать документа - Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
wxWidgets: простая печать документа
DoubleVenomДата: Понедельник, 21.02.2011, 16:05 | Сообщение # 1
Рядовой
Группа: Администраторы
Сообщений: 12
Репутация: 0
Статус: Offline
В wxWidgets для печати существует простой класс wxHtmlEasyPrinting.

Пример: (думаю из него все ясно, остальное - читайте help по wxWidgets)
//преобразования типов и суммирование строк опущены местами, излагаю суть.
//печать таблицы, содержащей кириллицу

wxHtmlEasyPrinting* prn = new wxHtmlEasyPrinting(wxT("заголовок"));
prn->GetPrintData()->SetOrientation(wxLANDSCAPE);
prn->GetPageSetupData()->SetMarginTopLeft(wxPoint(10,10));
prn->GetPageSetupData()->SetMarginBottomRight(wxPoint(5,5));
//FOOTER GENERATION
wxString sFooter = "Краткое описание внизу каждой страницы";
prn->SetFooter(sFooter);
//BODY GENERATION
wxString sText;
sText = sText + "<head> \
<meta http-equiv='Content-Type' content='text/html; charset=Windows-1251'> \ //для поддержки кириллицы
</head>\
<body>";
sText = sText + "<table border=5 style='border-color:#ffffff' cellspacing=2 cellpadding=2><tr><td></td>";

for(int i=0;i<5;i++) {
string nmAttr = "имя столбца №"+i;
sText=sText+"<td>"+nmAttr+"</td>";
}
sText=sText+"</tr>";
for (int row = 0; row < 7; row++)
{
sText=sText+"<tr><td>"+row+"</td>"; //сделаем индексацию рядов слева
for (int col = 0; col < 5; col++)
{
sText=sText+"<td>" + "Значение ячейки " + row + ";" + col "</td>";
}
sText=sText+"</tr>";
}
sText=sText+"</table>";
sText=sText+"</body>";
prn->PreviewText(sText); //отобразить страницу предварительного просмотра

 
  • Страница 1 из 1
  • 1
Поиск:

Михаил, 2024      Создать бесплатный сайт с uCoz