Проблемы появлялись не раз судя по поиску, но во всех темах печать представляла собой отдельную функцию с вызовом прин диалога ну и т.д
Может быть, кто-то может привести пример использования стандартной OnPrint().
Необходимо вывести на печать битмап из clipboard. Вот как я попытался это сделать:
void CClipView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
if (handle)
{
CBitmap * bm = CBitmap::FromHandle(handle);
BITMAP bit;
bm->GetBitmap(&bit);
CDC dc;
dc.CreateCompatibleDC(pDC);
dc.SelectObject(bm);
pDC->SetMapMode(MM_ANISOTROPIC);
int maxW=pDC->GetDeviceCaps(HORZRES);
int maxH=pDC->GetDeviceCaps(VERTRES);
pDC->StretchBlt(0,0,maxW,maxH,&dc,0,0,bit.bmWidth,bit.bmHeight,SRCCOPY);
CView::OnDraw(pDC);
}
}
Вообщем предпросмотр работает, а печатать отказывается. Если не трудно поправьте меня, ну или если есть что-то готовое, то тоже будет хорошо.
Здравствуйте, tris, Вы писали:
T>Необходимо вывести на печать битмап из clipboard. Вот как я попытался это сделать:
Может так:
void CClipView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
if (handle)
{
CBitmap * bm = CBitmap::FromHandle(handle);
BITMAP bit;
bm->>GetBitmap(&bit);
CDC dc;
dc.CreateCompatibleDC(pDC);
dc.SelectObject(bm);
pDC->>SetMapMode(MM_ANISOTROPIC);
int maxW=pDC->GetDeviceCaps(HORZRES);
int maxH=pDC->GetDeviceCaps(VERTRES);
pDC->>StretchBlt(0,0,maxW,maxH,&dc,0,0,bit.bmWidth,bit.bmHeight,SRCCOPY);
CClipView::OnDraw(pDC);
}
}
?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, tris, Вы писали:
T>>Необходимо вывести на печать битмап из clipboard. Вот как я попытался это сделать:
А>Может так:
А>А>void CClipView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
А>{
А> if (handle)
А> {
А> CBitmap * bm = CBitmap::FromHandle(handle);
А> BITMAP bit;
bm->>>GetBitmap(&bit);
А> CDC dc;
А> dc.CreateCompatibleDC(pDC);
А> dc.SelectObject(bm);
pDC->>>SetMapMode(MM_ANISOTROPIC);
А> int maxW=pDC->GetDeviceCaps(HORZRES);
А> int maxH=pDC->GetDeviceCaps(VERTRES);
pDC->>>StretchBlt(0,0,maxW,maxH,&dc,0,0,bit.bmWidth,bit.bmHeight,SRCCOPY);
А> CClipView::OnDraw(pDC);
А> }
А>}
А>
А> ?
нет, к сожалению это суть дела не меняет..в принципе это даже убрать можно