110 lines
6.1 KiB
C++
110 lines
6.1 KiB
C++
// ===================================================================================
|
||
// Class Implementation : COXSplitterRect
|
||
// ===================================================================================
|
||
|
||
// Header file : OXSplitterRect.h
|
||
|
||
// Version: 9.3
|
||
|
||
// This software along with its related components, documentation and files ("The Libraries")
|
||
// is ?1994-2007 The Code Project (1612916 Ontario Limited) and use of The Libraries is
|
||
// governed by a software license agreement ("Agreement"). Copies of the Agreement are
|
||
// available at The Code Project (www.codeproject.com), as part of the package you downloaded
|
||
// to obtain this file, or directly from our office. For a copy of the license governing
|
||
// this software, you may contact us at legalaffairs@codeproject.com, or by calling 416-849-8900.
|
||
// Some portions Copyright (C)1994-5 Micro Focus Inc, 2465 East Bayshore Rd, Palo Alto, CA 94303.
|
||
|
||
// //////////////////////////////////////////////////////////////////////////
|
||
|
||
#include "stdafx.h"
|
||
#include "OXSplitterRect.h"
|
||
|
||
#ifdef _DEBUG
|
||
#undef THIS_FILE
|
||
static char BASED_CODE THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
#define new DEBUG_NEW
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// Definition of static members
|
||
|
||
// Data members -------------------------------------------------------------
|
||
// protected:
|
||
|
||
// private:
|
||
|
||
// Member functions ---------------------------------------------------------
|
||
// public:
|
||
|
||
COXSplitterRect::COXSplitterRect(int type, const RECT& rect) :
|
||
m_rect(rect),
|
||
m_type((TCHAR)type)
|
||
{
|
||
ASSERT(type == SPLITTER_VERT || type == SPLITTER_HORZ);
|
||
}
|
||
|
||
|
||
COXSplitterRect::~COXSplitterRect()
|
||
{
|
||
}
|
||
|
||
|
||
void COXSplitterRect::Draw(CDC* pDC)
|
||
{
|
||
CRect rect=m_rect;
|
||
switch(m_type)
|
||
{
|
||
case SPLITTER_VERT:
|
||
{
|
||
rect.left++;
|
||
pDC->FillSolidRect(rect.left, rect.top, 1, rect.Height(),
|
||
::GetSysColor(COLOR_BTNFACE));
|
||
rect.left++;
|
||
pDC->FillSolidRect(rect.left, rect.top, 1, rect.Height(),
|
||
::GetSysColor(COLOR_BTNHILIGHT));
|
||
|
||
rect.right--;
|
||
pDC->FillSolidRect(rect.right, rect.top, 1, rect.Height(),
|
||
::GetSysColor(COLOR_WINDOWFRAME));
|
||
rect.right--;
|
||
pDC->FillSolidRect(rect.right, rect.top, 1, rect.Height(),
|
||
::GetSysColor(COLOR_BTNSHADOW));
|
||
}
|
||
break;
|
||
|
||
case SPLITTER_HORZ:
|
||
{
|
||
rect.top++;
|
||
pDC->FillSolidRect(rect.left, rect.top, rect.Width(), 1,
|
||
::GetSysColor(COLOR_BTNFACE));
|
||
rect.top++;
|
||
pDC->FillSolidRect(rect.left, rect.top, rect.Width(), 1,
|
||
::GetSysColor(COLOR_BTNHILIGHT));
|
||
|
||
rect.bottom--;
|
||
pDC->FillSolidRect(rect.left, rect.bottom, rect.Width(), 1,
|
||
::GetSysColor(COLOR_WINDOWFRAME));
|
||
rect.bottom--;
|
||
pDC->FillSolidRect(rect.left, rect.bottom, rect.Width(), 1,
|
||
::GetSysColor(COLOR_BTNSHADOW));
|
||
|
||
}
|
||
break;
|
||
|
||
default:
|
||
ASSERT(FALSE);
|
||
break;
|
||
}
|
||
}
|
||
|
||
|
||
#ifdef _DEBUG
|
||
void COXSplitterRect::Dump( CDumpContext& dc ) const
|
||
{
|
||
dc << "pos = " << m_nPos;
|
||
dc << (m_type == SPLITTER_HORZ ? " Horz" : " Vert");
|
||
}
|
||
#endif
|
||
|
||
|