Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
15-1458634342
Игорь Шевченко
2016-03-22 11:12
2017.03.05
Нужен совет по поводу обработки большого количества почты


2-1435261914
Drowsy
2015-06-25 22:51
2017.03.05
Какие явные признаки, что заплатка Delphi 6 Update 2 установлена?


15-1458310315
ВладОшин
2016-03-18 17:11
2017.03.05
Архиватор 7z, извлечение в cmd, пустые папки


2-1435573097
Кузьмич
2015-06-29 13:18
2017.03.05
Кеш базы???


6-1283158606
Alik
2010-08-30 12:56
2017.03.05
Connected = False, а передача данных происходит !?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский