PAINT.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // paint.cpp: helper functions used when drawing bitmaps on the dialogs
  2. //
  3. // Copyright (c) 1985-1998, Microsoft Corporation. All rights reserved.
  4. //
  5. #include "stdafx.h"
  6. #include "customwz.h"
  7. #ifdef _PSEUDO_DEBUG
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. // Coordinates for yellow rectangle in dialog-box units
  12. #define RIGHT_YELLOW_DLGU   124
  13. #define BOTTOM_YELLOW_DLGU  197
  14. // Draws a background of yellow on the left side of the dialog
  15. void PaintBackground(CPaintDC* pdc, CDialog* pDlg)
  16. {
  17. //  Get the yellow brush
  18. CBitmap pattern;
  19. pattern.LoadBitmap(IDB_YELLOW_PATTERN);
  20. CBrush brush(&pattern);
  21. // Draw the yellow background
  22. CRect rect(0, 0, RIGHT_YELLOW_DLGU+1, BOTTOM_YELLOW_DLGU+1);
  23. pDlg->MapDialogRect(&rect);
  24. pdc->DPtoLP(&rect);
  25. pdc->FillRect(&rect, &brush);
  26. }
  27. // Draw the specified bitmap at the specified location
  28. void PaintBitmap(UINT nBmp, int x, int y, int nWidth, int nHeight,
  29. CPaintDC* pdc, CDC* pdcMem)
  30. {
  31. CBitmap picture;
  32. // Load & select the bitmap into the device-context
  33. picture.LoadBitmap(nBmp);
  34. BITMAP bitmap;
  35. picture.GetObject(sizeof (BITMAP), &bitmap);
  36. CBitmap* pOldBitmap = pdcMem->SelectObject(&picture);
  37. ASSERT(nWidth == bitmap.bmWidth);
  38. ASSERT(nHeight == bitmap.bmHeight);
  39. // Draw the bitmap
  40. pdc->BitBlt(x, y, nWidth, nHeight, pdcMem, 0, 0, SRCCOPY);
  41. // Reselect the previous bitmap object
  42. pdcMem->SelectObject(pOldBitmap);
  43. }