Форум: "Основная";
Текущий архив: 2017.03.05;
Скачать: [xml.tar.bz2];
ВнизПечать формы на принтер Найти похожие ветки
← →
Alexander_K (2012-09-03 15:47) [0]Всем добрый день!
У меня есть процедура (Правда на C++), которая печатает содержимое формы на принтер:
if (PrinterSetupDialog1->Execute())
{
HDC MDC;
HBITMAP MBMP;
TPrinter *prt = Printer();
TCanvas *tmp = new TCanvas;
try
{
prt->BeginDoc();
TRect MR = Rect(0,0,Equipm->ClientWidth,Equipm->ClientHeight);
TRect PR = Rect(0,0,Equipm->ClientWidth * prt->PageWidth / Equipm->ClientWidth,Equipm->ClientHeight * prt->PageWidth / Equipm->ClientWidth);
MDC = CreateCompatibleDC(prt->Canvas->Handle);
// MDC = CreateCompatibleDC(0);
tmp->Handle = MDC;
MBMP = CreateCompatibleBitmap(prt->Canvas->Handle, Equipm->ClientWidth, Equipm->ClientHeight);
SelectObject(MDC, MBMP);
Equipm->PaintTo(MDC,0,0);
prt->Canvas->CopyRect(PR, tmp, MR);
prt->EndDoc();
}
__finally
{
DeleteDC(MDC);
DeleteObject(MBMP);
delete tmp;
}
}
Форма печатается, все контролы печатаются нормально, кроме ComboBox-ов. Текст ComboBox-ов почему-то не печатается...
В чем может быть дело?
← →
Дмитрий С © (2012-09-03 18:06) [1]
> все контролы
А другие винконтролы есть на форме?
← →
Alexander_K (2012-09-04 08:07) [2]Да, эдиты, мемо, лэйблы и т.д.
← →
Alexander_K (2012-09-04 08:16) [3]Я поясню, может быть не совсем понятно написал:
Все контролы печатаются нормально, и сами контролы и содержимый текст. А вот ComboBox-ы сами контролы печатаются, а вот вместо содержимого текста - пусто.
← →
Alexander_K (2012-09-06 08:47) [4]Народ, не уж то никто не сталкивался? Я конечно решил данную проблему реализовав печать через принтскрин, но там могут возникать другие нюансы...
Всеж бы хотелось через стандартные методы
← →
Дмитрий Белькевич (2012-09-12 11:48) [5]>У меня есть процедура (Правда на C++), которая печатает содержимое формы на принтер:
TForm.Print ?
← →
Alexander_K (2012-09-12 16:47) [6]К сожалению TForm.Print не вписывает выводимую форму в лист принтера, поэтому она печатается маленьким квадратиком в левом верхнем углу.
← →
Inovet © (2012-09-12 18:09) [7]Какая необходимость печатать форму?
← →
Alexander_K (2012-09-13 09:09) [8]Заказчик так захотел.
← →
Anatoly Podgoretsky © (2012-09-13 09:12) [9]Вряд ли ты правильно понял заказчика.
← →
Германн © (2012-09-13 13:14) [10]Имхо, нужен генератор отчетов.
← →
Alexander_K (2012-09-14 11:35) [11]Не, именно печать формы
← →
Дмитрий Белькевич (2012-09-19 00:01) [12]
> К сожалению TForm.Print не вписывает выводимую форму в лист
> принтера, поэтому она печатается маленьким квадратиком в
> левом верхнем углу.
PrintScale?
← →
Alexander_K (2012-09-25 09:44) [13]Попробовал TForm.Print, с PrintScale := poPrintToFit;
Форма печатается, вписывается в лист принтера, но текст в ComboBox-ах как же не печатается.
← →
Дмитрий Белькевич (2012-09-30 11:37) [14]
> Форма печатается, вписывается в лист принтера, но текст
> в ComboBox-ах как же не печатается.
Не судьба :)
Может попробовать как в [0], через промежуточный битмап. И вручную "допечатывать" недостающие данные? Ну если иначе никак...
← →
Германн © (2012-10-01 02:39) [15]
> Alexander_K (14.09.12 11:35) [11]
>
> Не, именно печать формы
>
А зачем "именно печать формы"? Это ведь бред, если подумать.
← →
Alexander_K (2012-10-01 14:42) [16]Дмитрий Белькевич (30.09.12 11:37) [14]
Ну я и сделал через принтскрин... но просто интересно ж, может кто-то поборол...
Германн © (01.10.12 02:39) [15]
Ну вот так вот, форма довольно большая, на ней много всяких контролов с данными, которые берутся из БД, и вот заказчику хочется печать всей этой формы. На предложение использовать генератор отчетов, было сказано, что надо печатать именно форму, как она есть на экране, чтобы люди не путались... Ну им видней...
← →
Inovet © (2012-10-01 19:20) [17]> [16] Alexander_K (01.10.12 14:42)
> что надо печатать именно форму, как она есть на экране, чтобы люди не путались...
Это от непонимания. Ты бы сделал по-человечески в генераторе и показал. Себе же проще в итоге и этим людям, о которых печётся заказчик.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2017.03.05;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.002 c