CQStatic.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // CQStatic.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "autoupdate.h"
  5. #include "CQStatic.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CCQStatic
  13. CCQStatic::CCQStatic()
  14. {
  15. }
  16. CCQStatic::~CCQStatic()
  17. {
  18. }
  19. BEGIN_MESSAGE_MAP(CCQStatic, CStatic)
  20. //{{AFX_MSG_MAP(CCQStatic)
  21. ON_WM_PAINT()
  22. ON_WM_DRAWITEM()
  23. //}}AFX_MSG_MAP
  24. END_MESSAGE_MAP()
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CCQStatic message handlers
  27. void CCQStatic::OnPaint() 
  28. {
  29. CPaintDC dc(this); // device context for painting
  30. // TODO: Add your message handler code here
  31.  
  32.      CRect rect; 
  33.      GetClientRect(&rect); 
  34.      
  35.      CString m_strStatic; 
  36.      CWnd* wndStatic = dc.GetWindow(); 
  37.      wndStatic->GetWindowText(m_strStatic); 
  38.      
  39.      CBitmap bitmap; 
  40.      bitmap.Attach(m_BackImage); 
  41.      CDC dcmem; 
  42.      dcmem.CreateCompatibleDC(&dc); 
  43.      CBitmap* poldbitmap = dcmem.SelectObject(&bitmap); 
  44.      if(!dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcmem,0,0,SRCCOPY))
  45.  {
  46.  DisplayErrorInfo(string("BitBlt(0,0,rect.Width(),rect.Height(),&dcmem,0,0,SRCCOPY)"));
  47.  }
  48.      dcmem.SelectObject(poldbitmap); 
  49.      
  50.      dc.SetBkMode(TRANSPARENT); 
  51.      dc.DrawText(m_strStatic,(LPRECT)rect,DT_CENTER); 
  52.  bitmap.Detach();
  53.      // Do not call CStatic::OnPaint() for painting messages 
  54.      
  55. // Do not call CStatic::OnPaint() for painting messages
  56. }
  57. void CCQStatic::SetBackGround(UINT BackImage,HINSTANCE AppHandle)
  58. {
  59. if(!(m_BackImage   = LoadBitmap(AppHandle,MAKEINTRESOURCE(BackImage))))
  60. {
  61. DisplayErrorInfo(string("LoadBitmap"));
  62. }
  63. }
  64.  void CCQStatic::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) 
  65.  {
  66.  // TODO: Add your message handler code here and/or call default
  67.  
  68.  CPaintDC dc(this);
  69.  CRect rect; 
  70.  GetClientRect(&rect); 
  71.  
  72.  CString m_strStatic; 
  73.      CWnd* wndStatic = dc.GetWindow(); 
  74.      wndStatic->GetWindowText(m_strStatic); 
  75.  
  76.  CBitmap bitmap; 
  77.  bitmap.Attach(m_BackImage); 
  78.  CDC dcmem; 
  79.  dcmem.CreateCompatibleDC(&dc); 
  80.      CBitmap* poldbitmap = dcmem.SelectObject(&bitmap); 
  81.  dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcmem,0,0,SRCCOPY); 
  82.  dcmem.SelectObject(poldbitmap); 
  83.      
  84.  dc.SetBkMode(TRANSPARENT); 
  85.  CDC * pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
  86.      pDC->TextOut(0,0,m_strStatic); 
  87.  bitmap.Detach();
  88. // CStatic::OnDrawItem(nIDCtl, lpDrawItemStruct);
  89.  }
  90.  
  91.  //DEL BOOL CCQStatic::OnEraseBkgnd(CDC* pDC) 
  92.  //DEL {
  93.  //DEL  // TODO: Add your message handler code here and/or call default
  94.  //DEL 
  95.  //DEL   
  96.  //DEL  return CStatic::OnEraseBkgnd(pDC);
  97.  //DEL }
  98.  
  99.  
  100.  
  101.  //DEL HBRUSH CCQStatic::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
  102.  //DEL {
  103.  //DEL  HBRUSH hbr = CStatic::OnCtlColor(pDC, pWnd, nCtlColor);
  104.  //DEL 
  105.  //DEL  // TODO: Change any attributes of the DC here
  106.  //DEL    
  107.  //DEL  // TODO: Return a different brush if the default is not desired
  108.  //DEL  return hbr;
  109.  //DEL }