Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. ATL::CImage* CPrnBasePrinter::DrawBeamerToImage(CSPCListView* pListViewWithBeamer, const CRect& rect4Beamer)
  2. {
  3. ASSERT(pListViewWithBeamer != nullptr);
  4.  
  5. auto* pRetVal = new CImage();
  6.  
  7. pRetVal->Create(rect4Beamer.Width(), rect4Beamer.Height(), 24);
  8. HDC hdcImage = pRetVal->GetDC();
  9.  
  10. //Draw Control to CImage
  11. pListViewWithBeamer->DrawBeamerToDC(HandleToLong(hdcImage),
  12. rect4Beamer.left, rect4Beamer.top, rect4Beamer.right, rect4Beamer.bottom);
  13.  
  14. pRetVal->ReleaseDC();
  15. return pRetVal;
  16. }
  17.  
  18. void CPrnBasePrinter::DrawImageFromCImage(
  19. const ATL::CImage* pImage, const CRect& rect) const
  20. {
  21. CBitmap* pbmp2Print = CBitmap::FromHandle(*pImage);
  22.  
  23. // Get the size of the bitmap
  24. BITMAP bmpInfo;
  25. pbmp2Print->GetBitmap(&bmpInfo);
  26.  
  27.  
  28. //virtual - Draws the CBitmap to an Printer-DC or a PDF-Document
  29. DrawImageFromLoadedBitmap(pbmp2Print, &bmpInfo, rect);
  30. }
  31.  
  32. void CPrnBasePrinter::Draw()
  33. {
  34. //m_pListviewDataSource is an OCX capable of drawing itself into a given DC
  35. ATL::CImage* pBeamerImage = DrawBeamerToImage(m_pListviewDataSource, CRect(0, 0, 100, 50));
  36.  
  37. if (pBeamerImage != nullptr){
  38. DrawImageFromCImage(pBeamerImage, CRect(0, 0, 100, 50));
  39. delete pBeamerImage;
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement