Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ATL::CImage* CPrnBasePrinter::DrawBeamerToImage(CSPCListView* pListViewWithBeamer, const CRect& rect4Beamer)
- {
- ASSERT(pListViewWithBeamer != nullptr);
- auto* pRetVal = new CImage();
- pRetVal->Create(rect4Beamer.Width(), rect4Beamer.Height(), 24);
- HDC hdcImage = pRetVal->GetDC();
- //Draw Control to CImage
- pListViewWithBeamer->DrawBeamerToDC(HandleToLong(hdcImage),
- rect4Beamer.left, rect4Beamer.top, rect4Beamer.right, rect4Beamer.bottom);
- pRetVal->ReleaseDC();
- return pRetVal;
- }
- void CPrnBasePrinter::DrawImageFromCImage(
- const ATL::CImage* pImage, const CRect& rect) const
- {
- CBitmap* pbmp2Print = CBitmap::FromHandle(*pImage);
- // Get the size of the bitmap
- BITMAP bmpInfo;
- pbmp2Print->GetBitmap(&bmpInfo);
- //virtual - Draws the CBitmap to an Printer-DC or a PDF-Document
- DrawImageFromLoadedBitmap(pbmp2Print, &bmpInfo, rect);
- }
- void CPrnBasePrinter::Draw()
- {
- //m_pListviewDataSource is an OCX capable of drawing itself into a given DC
- ATL::CImage* pBeamerImage = DrawBeamerToImage(m_pListviewDataSource, CRect(0, 0, 100, 50));
- if (pBeamerImage != nullptr){
- DrawImageFromCImage(pBeamerImage, CRect(0, 0, 100, 50));
- delete pBeamerImage;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement