SwingEdit.cpp
上传用户:swkcbjrc
上传日期:2016-04-02
资源大小:45277k
文件大小:3k
源码类别:

游戏

开发平台:

Visual C++

  1. // SwingEdit.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. //#include "  add additional includes here"
  5. #include "SwingEdit.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CSwingEdit
  13. CSwingEdit::CSwingEdit()
  14. {
  15. nActiveBrush.CreateSolidBrush(RGB(110, 110, 110));
  16. nInactiveBrush.CreateSolidBrush(RGB(204, 204, 204));
  17. nDarkBorder.CreatePen(PS_SOLID, 1, RGB(128, 128, 128));
  18. nWhiteBorder.CreatePen(PS_SOLID, 1, RGB(255, 255, 255));
  19. nSelectedBorder.CreatePen(PS_SOLID, 1, RGB(153, 153, 204));
  20. }
  21. CSwingEdit::~CSwingEdit()
  22. {
  23. }
  24. BEGIN_MESSAGE_MAP(CSwingEdit, CEdit)
  25. //{{AFX_MSG_MAP(CSwingEdit)
  26. ON_WM_NCPAINT()
  27. ON_CONTROL_REFLECT(EN_HSCROLL, OnHscroll)
  28. ON_CONTROL_REFLECT(EN_VSCROLL, OnVscroll)
  29. //}}AFX_MSG_MAP
  30. END_MESSAGE_MAP()
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CSwingEdit message handlers
  33. void CSwingEdit::OnNcPaint() 
  34. {
  35. CEdit::OnNcPaint();
  36. CDC *pDC = GetWindowDC();
  37. CRect rectItem, pRect;
  38. GetWindowRect(pRect);
  39. GetClientRect(rectItem);
  40. rectItem.right = rectItem.left + pRect.Width();
  41. rectItem.bottom = rectItem.top + pRect.Height();
  42. CPoint TopLeft(rectItem.left, rectItem.top);
  43. CPoint BottomRight(rectItem.right - 1, rectItem.bottom - 1);
  44. CPoint TopRight(rectItem.right - 1, rectItem.top);
  45. CPoint BottomLeft(rectItem.left, rectItem.bottom - 1);
  46. pDC->SelectObject(&nDarkBorder);
  47. pDC->MoveTo(TopLeft);
  48. pDC->LineTo(TopRight);
  49. pDC->MoveTo(TopLeft);
  50. pDC->LineTo(BottomLeft);
  51. pDC->MoveTo(BottomLeft.x, BottomLeft.y - 1);
  52. pDC->LineTo(BottomRight.x, BottomRight.y - 1);
  53. pDC->MoveTo(BottomRight.x - 1, BottomRight.y);
  54. pDC->LineTo(TopRight.x - 1, TopRight.y);
  55. pDC->SelectObject(&nWhiteBorder);
  56. pDC->MoveTo(BottomLeft);
  57. pDC->LineTo(BottomRight);
  58. pDC->MoveTo(BottomRight);
  59. pDC->LineTo(TopRight);
  60. pDC->MoveTo(TopLeft.x + 1, TopLeft.y + 1);
  61. pDC->LineTo(TopRight.x - 1, TopRight.y + 1);
  62. pDC->MoveTo(TopLeft.x + 1, TopLeft.y + 1);
  63. pDC->LineTo(BottomLeft.x + 1, BottomLeft.y - 1);
  64. ReleaseDC(pDC);
  65. // TODO: Add your message handler code here
  66. // Do not call CEdit::OnNcPaint() for painting messages
  67. }
  68. void CSwingEdit::OnHscroll() 
  69. {
  70. // TODO: If this is a RICHEDIT control, the control will not
  71. // send this notification unless you override the CEdit::OnInitDialog()
  72. // function to send the EM_SETEVENTMASK message to the control
  73. // with the ENM_SCROLL flag ORed into the lParam mask.
  74. // TODO: Add your control notification handler code here
  75. }
  76. void CSwingEdit::OnVscroll() 
  77. {
  78. // TODO: Add your control notification handler code here
  79. }