Re[5]: Программная печать из MFC-приложения
От: Evgeniy Skvortsov Россия  
Дата: 26.07.17 10:06
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>1) Можно ли вывести на принтер из программы текстовую информацию без использования Document/View?


Да можно всё руками отправить на печать
Примерно так:
DWORD size = MAX_PATH;
TCHAR temp[MAX_PATH];
GetDefaultPrinter(temp, &size);
 
HDC hDc = CreateDC(NULL, temp, NULL, NULL);
 
if(hDc)
{
  DOCINFO docinfo;
  docinfo.cbSize          = sizeof(docinfo);
  docinfo.lpszDocName =("Simple");
  docinfo.lpszOutput    = NULL;
  docinfo.lpszDatatype =("EMF");
  docinfo.fwType        = 0;
 
    if(StartDoc(hDc, &docinfo) > 0)
    {
        if(StartPage(hDc) > 0)
        {
    
      //нужные действия
        EndPage(hDc);
        }
    EndDoc(hDc);
    }
    }
  DeleteDC(hDc);


Нужные действия — рисуем всякие фигуры, выводим текст, всё как в обычном обработчике WM_PAINT, только там с системой координат и шрифтами надо ещё разобраться, я уже подробностей не помню.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.