StatusBarXP.cpp
上传用户:ckg1000
上传日期:2013-01-26
资源大小:630k
文件大小:2k
源码类别:

CAD

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // StatusBarXP.cpp : implementation file
  4. //
  5. ///////////////////////////////////////////////////////////////////////////////
  6. #include "stdafx.h"
  7. #include "StatusBarXP.h"
  8. #include "Draw.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. ///////////////////////////////////////////////////////////////////////////////
  15. BOOL CStatusBarXP::SetIndicators (const UINT* lpIDArray, int nIDCount)
  16. {
  17.     if ( !CStatusBar::SetIndicators (lpIDArray, nIDCount) )
  18.     {
  19.         return false;
  20.     }
  21.     SendMessage (SB_SETMINHEIGHT, 20);
  22.     for ( int i = 0; i < nIDCount; i++ )
  23.     {
  24.         UINT a, b;
  25.         int c;
  26.         GetPaneInfo (i, a, b, c);
  27.         SetPaneInfo (i, a, b|SBPS_NOBORDERS, c);
  28.     }
  29.     return true;
  30. }
  31. ///////////////////////////////////////////////////////////////////////////////
  32. BEGIN_MESSAGE_MAP(CStatusBarXP, CStatusBar)
  33.     //{{AFX_MSG_MAP(CStatusBarXP)
  34.     ON_WM_PAINT()
  35.     //}}AFX_MSG_MAP
  36. END_MESSAGE_MAP()
  37. IMPLEMENT_DYNAMIC(CStatusBarXP, CStatusBar);
  38. ///////////////////////////////////////////////////////////////////////////////
  39. void CStatusBarXP::OnPaint ()
  40. {
  41.     Default();
  42.     CClientDC cDC (this);
  43.     CPenDC pen (cDC, ::GetSysColor (COLOR_3DSHADOW));
  44.     CRect rcItem;
  45.     cDC.SelectObject (::GetStockObject (NULL_BRUSH));
  46.     for ( int i = 0; i < m_nCount; i++ )
  47.     {
  48.         GetItemRect (i, rcItem);
  49.         cDC.Rectangle (rcItem); 
  50.     }
  51. }