Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

пЕЧАТЬ в с++ бИЛДЕРЕ

5.6K
13 февраля 2004 года
gogo1
9 / / 13.02.2004
Всем привет,

У меня такая проблема: хочу распечатать форму со всем что на ней. Вообще обычная форма белого цвета имитирут лист бума на котором несколько мемо и bitmap. Делаю:

FormD1->PrintScale =poProportional;
form1->Print();

И ведётся распечатка, но качество как факс. Пробовал

FormD1->PrintScale = poNone;

тогда печатает красиво, но очень маленькие размеры получились.

Пробовал:
Tprinter Printer()

но с ним почемуто картинка маленькая а текст нормально размер настроить получается.


Может знаете как нормально отпечатать.

Огромное Спасибо.

Евгений
5.6K
14 февраля 2004 года
gogo1
9 / / 13.02.2004
Не может быть что никто не сталкивался.
860
15 февраля 2004 года
Abell2000
138 / / 15.01.2003
Цитата:
Originally posted by gogo1
Не может быть что никто не сталкивался.


У меня тоже были проблемы с печатью формы через form->Print(), поэтому сделал так:

TPrinter *printer=Printer();
Graphics::TBitmap *gr=new Graphics::TBitmap();
try{
gr=form->GetFormImage();
//gr->PixelFormat=pf24bit;//хм.. возможно для простой печати это не нужно (у меня там еще интенсивность цветов менялась), но если будут проблемы включи
//тута подготовим рект для вывода на принтер
double prop=(double)gr->Width/(double)gr->Height;
int printWidth=(double)printer->PageWidth*0.8;
int printHeight=(double)printWidth/prop;
int pr_top=printer->PageHeight*0.1;
int pr_left=printer->PageWidth*0.1;
TRect printRect=Rect(pr_left,pr_top,printWidth+pr_left,printHeight+pr_top);
//тут еще можно картинку обработать
...
printer->BeginDoc();
printer->Canvas->StretchDraw(printRect,gr);
printer->EndDoc();
}__finally{
delete gr;
}
}

5.6K
18 февраля 2004 года
gogo1
9 / / 13.02.2004
Цитата:
Originally posted by Abell2000

У меня тоже были проблемы с печатью формы через form->Print(), поэтому сделал так:

TPrinter *printer=Printer();
Graphics::TBitmap *gr=new Graphics::TBitmap();
try{
gr=form->GetFormImage();
//gr->PixelFormat=pf24bit;//хм.. возможно для простой печати это не нужно (у меня там еще интенсивность цветов менялась), но если будут проблемы включи
//тута подготовим рект для вывода на принтер
double prop=(double)gr->Width/(double)gr->Height;
int printWidth=(double)printer->PageWidth*0.8;
int printHeight=(double)printWidth/prop;
int pr_top=printer->PageHeight*0.1;
int pr_left=printer->PageWidth*0.1;
TRect printRect=Rect(pr_left,pr_top,printWidth+pr_left,printHeight+pr_top);
//тут еще можно картинку обработать
...
printer->BeginDoc();
printer->Canvas->StretchDraw(printRect,gr);
printer->EndDoc();
}__finally{
delete gr;
}
}



Thanks. Может кто нибудб может кинуть пример как открыть Ворд и скопировать в Буфер картинку.

Пробоую
LogoWord->Documents->Open( Shablon, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam, (OleVariant)EmptyParam );

Но неполучается. Заранее спасибо.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог