ColorStatic.cpp
上传用户:ywlong9188
上传日期:2022-05-31
资源大小:2656k
文件大小:2k
源码类别:

远程控制编程

开发平台:

C/C++

  1. // ColorStatic.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ColorStatic.h"
  5. //#include "rdlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CColorStatic
  13. CColorStatic::CColorStatic()
  14. {
  15. }
  16. CColorStatic::~CColorStatic()
  17. {
  18. }
  19. BEGIN_MESSAGE_MAP(CColorStatic, CStatic)
  20. //{{AFX_MSG_MAP(CColorStatic)
  21. ON_WM_LBUTTONDOWN()
  22. ON_WM_PAINT()
  23. ON_WM_KEYDOWN()
  24. //}}AFX_MSG_MAP
  25. END_MESSAGE_MAP()
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CColorStatic message handlers
  28. void CColorStatic::OnLButtonDown(UINT nFlags, CPoint point) 
  29. {
  30. if(m_cDlg.DoModal() == IDOK)
  31. m_color = m_cDlg.GetColor();
  32. Invalidate(FALSE);
  33. CStatic::OnLButtonDown(nFlags, point);
  34. }
  35. void CColorStatic::SetColor(COLORREF color)
  36. {
  37. m_color = color;
  38. }
  39. void CColorStatic::GetColor(COLORREF& color)
  40. {
  41. color = m_color;
  42. }
  43. void CColorStatic::OnPaint() 
  44. {
  45. CPaintDC dc(this); // device context for painting
  46. // TODO: Add your message handler code here
  47. CRect client;
  48. CBrush brush(m_color);
  49. CBrush* pOld;
  50. GetClientRect(client);
  51. pOld = dc.SelectObject( &brush );
  52. dc.Rectangle(client);
  53. dc.SelectObject(pOld);
  54. // Do not call CStatic::OnPaint() for painting messages
  55. }
  56. void CColorStatic::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
  57. {
  58. // TODO: Add your message handler code here and/or call default
  59. if(nChar == 0x13 ){
  60. if(m_cDlg.DoModal() == IDOK)
  61. m_color = m_cDlg.GetColor();
  62. }
  63. CStatic::OnKeyDown(nChar, nRepCnt, nFlags);
  64. }