C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать

 84 - Тренировка приложение PR7 / MFC шаг за шагом / Visual C++

Шаг 84 - Тренировка приложение PR7

Создание проекта

Проект из прошлого шага.

Создаем код

Функция OnBeginPrint.

void CPr4View::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
int PageHeight = pDC->GetDeviceCaps(VERTRES);
int LogPixel = pDC->GetDeviceCaps(LOGPIXELSY);
int RecHeigth = (int)(2.2*LogPixel);
int NumPage = 10 * RecHeigth / PageHeight+1; // считаем
pInfo->SetMaxPage(NumPage); // установка количество страниц
}

Функция OnPrepareDC

void CPr4View::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) 
{
if (pDC->IsPrinting()) // печатам ?
{
int PageHeigth = pDC->GetDeviceCaps(VERTRES);
int OriginY = PageHeigth*(pInfo->m_nCurPage-1); // исход из какая страница
pDC->SetViewportOrg(0,- OriginY); // смещение по Y
}
CView::OnPrepareDC(pDC, pInfo);
}

Вот результат.

84_1.gif (4869 b)

Описание

Берем высоту, умножаем её на текущую страницу pInfo->m_nCurPage-1. Минус единица от того, что нумерация страниц с 1, это и есть смещение по Y.


Загрузить проект | | |
Автор Каев Артем.
[AD]