TestBtn.cpp
上传用户:mcdz888
上传日期:2022-08-05
资源大小:118k
文件大小:2k
源码类别:

绘图程序

开发平台:

Visual C++

  1. // TestBtn.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "graphic.h"
  5. #include "TestBtn.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CTestBtn
  13. CTestBtn::CTestBtn()
  14. {
  15. }
  16. CTestBtn::~CTestBtn()
  17. {
  18. }
  19. BEGIN_MESSAGE_MAP(CTestBtn, CButton)
  20. //{{AFX_MSG_MAP(CTestBtn)
  21. // NOTE - the ClassWizard will add and remove mapping macros here.
  22. //}}AFX_MSG_MAP
  23. END_MESSAGE_MAP()
  24. /////////////////////////////////////////////////////////////////////////////
  25. // CTestBtn message handlers
  26. void CTestBtn::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
  27. {
  28. // TODO: Add your code to draw the specified item
  29. UINT uStyle = DFCS_BUTTONPUSH;
  30.    // This code only works with buttons.
  31.    ASSERT(lpDrawItemStruct->CtlType == ODT_BUTTON);
  32.    // If drawing selected, add the pushed style to DrawFrameControl.
  33.    if (lpDrawItemStruct->itemState & ODS_SELECTED)
  34.       uStyle |= DFCS_PUSHED;
  35.    // Draw the button frame.
  36.    ::DrawFrameControl(lpDrawItemStruct->hDC, &lpDrawItemStruct->rcItem, 
  37.       DFC_BUTTON, uStyle);
  38.    // Get the button's text.
  39.    CString strText;
  40.    GetWindowText(strText);
  41.    // Draw the button text using the text color red.
  42.    COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, RGB(255,0,0));
  43.    ::DrawText(lpDrawItemStruct->hDC, strText, strText.GetLength(), 
  44.       &lpDrawItemStruct->rcItem, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
  45.    ::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
  46. }