Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Уменьшается при печати 
:(
    Опции темы
umnick
Дата 13.5.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 4.5.2008
Где: Кривой Рог

Репутация: 0
Всего: 0



В начале вывожу в метафайл. Потом содержимое метофайла отображаю во View после чего вывожу на печать. Распечатка получается уменьшеной по сравнению с тем что во View. Как исправить можно?

Рисую в метафайле:

Код

pDoc->pMetaFileDC->TextOut(10,40,"Дата відправки потягу ");
pDoc->pMetaFileDC->TextOut(200,40,date);





Вывод на принтер:
Код

CPrintDialog cp(FALSE);                            
if (cp.DoModal()==IDOK)                            
{
  CDC PrintDC;                                
  PrintDC.Attach(cp.GetPrinterDC());                    
  DOCINFO infStru;                            
  ::ZeroMemory (&infStru, sizeof (DOCINFO));                

  infStru.cbSize = sizeof (DOCINFO);                    

  
  infStru.lpszOutput=NULL;
  if (PrintDC.StartDoc(&infStru )==-1)AfxMessageBox("Error StartDoc") ;    
  PrintDC.StartPage();                            

 HMETAFILE MetaFileHandle=pDoc->pMetaFileDC->Close(); 
 PrintDC.PlayMetaFile(MetaFileHandle);
 delete pDoc->pMetaFileDC;
 CMetaFileDC *meta=new CMetaFileDC();
 meta->Create();
 meta->PlayMetaFile(MetaFileHandle);//сохраняет в метафайл
 DeleteMetaFile(MetaFileHandle);
 pDoc->pMetaFileDC=meta; //передает адресс старого метафайла и создает новый

if (PrintDC.EndPage()<0) AfxMessageBox("Error EndPage");        
if (PrintDC.EndDoc()==0) AfxMessageBox("Error EndDoc");        
 PrintDC.Detach();          
}

PM MAIL   Вверх
voov
Дата 14.5.2009, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



ты рисуешь в режиме отображения поумолчанию - MM_TEXT, где единица измерения 1 пиксел устройства куда рисуешь. у принтера пикселы гораздо мельче, чем у монитора, поэтому распечатка у тебя получается уменьшеной.

используй режим отображения MM_LOMETRIC.
почитай про режимы отображения (CDC::SetMapMode)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.