Здравствуйте, <Аноним>, Вы писали:
А не лучше ли так?
MemoryDC.Attach(::CreateCompatibleDC(srcDC));
CBitmap *pOldBitmap = MemoryDC.SelectObject(srcDC.GetCurrentBitmap());
m_Wnd.SendMessage(WM_PRINT, (WPARAM)MemoryDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);
memDC.SelectObject(pOldBitmap); // А это еще зачем????
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, black hermit, Вы писали:
BH>Здравствуйте, <Аноним>, Вы писали:
BH>А не лучше ли так?
бр...
запутался
пытаюсь сделать так
CDC memDC;
CWnd* pwndDesktop = CWnd::GetDesktopWindow();
CWindowDC srcDC(pwndDesktop);
memDC.Attach(::CreateCompatibleDC(srcDC));
pwndDesktop->SendMessage(WM_PRINT, (WPARAM)memDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);
BITMAP bmp;
memset(&bmp,0,sizeof(BITMAP));
memDC.GetCurrentBitmap()->GetBitmap(&bmp);
получаю битмап 1x1 пиксель
что я делаю не так?
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, black hermit, Вы писали:
BH>>Здравствуйте, <Аноним>, Вы писали:
BH>>А не лучше ли так?
А>бр...
А>запутался
А>пытаюсь сделать так
CDC memDC;
CWnd*pwndDesktop = CWnd::GetDesktopWindow();
CDC *pDC = pwndDesktop->GetDC()
memDC.CreateCompatibleDC(pDC);
BITMAP bmp;
memset(&bmp,0,sizeof(BITMAP));
pDC->GetCurrentBitmap()->GetBitmap(&bmp);
CBitmap Bmp;
Bmp.CreateCompatibleBitmap(pDC, bmp.bmWidth, bmp.bmHeight)
CBitmap *pOldBitmap = memDC.SelectObject(&Bmp);
pDC->DeleteDC();
pwndDesktop->SendMessage(WM_PRINT, (WPARAM)memDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);
memDC->GetCurrentBitmap()->GetBitmap(&bmp);
//TODO Check bitmap size
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, black hermit, Вы писали:
BH>BH> CDC memDC;
BH> CWnd*pwndDesktop = CWnd::GetDesktopWindow();
BH> CDC *pDC = pwndDesktop->GetDC()
BH> memDC.CreateCompatibleDC(pDC);
BH> BITMAP bmp;
BH> memset(&bmp,0,sizeof(BITMAP));
pDC->>GetCurrentBitmap()->GetBitmap(&bmp);
тут все нули
BH> CBitmap Bmp;
BH> Bmp.CreateCompatibleBitmap(pDC, bmp.bmWidth, bmp.bmHeight)
BH> CBitmap *pOldBitmap = memDC.SelectObject(&Bmp);
pDC->>DeleteDC();
BH> pwndDesktop->SendMessage(WM_PRINT, (WPARAM)memDC.GetSafeHdc(), (LPARAM)PRF_CHILDREN | PRF_CLIENT | PRF_OWNED);
BH> memDC->GetCurrentBitmap()->GetBitmap(&bmp);
тут 1x1 пикселей
BH> //TODO Check bitmap size
BH>