You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.6 KiB
C++
146 lines
3.6 KiB
C++
// XTPSyntaxEditColorSampleText.cpp : implementation file
|
|
//
|
|
// This file is a part of the XTREME TOOLKIT PRO MFC class library.
|
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME SYNTAX EDIT LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "stdafx.h"
|
|
|
|
// common includes
|
|
#include "Common/XTPDrawHelpers.h"
|
|
#include "Common/XTPColorManager.h"
|
|
|
|
// syntax editor includes
|
|
#include "XTPSyntaxEditColorSampleText.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CXTPSyntaxEditColorSampleText
|
|
|
|
CXTPSyntaxEditColorSampleText::CXTPSyntaxEditColorSampleText()
|
|
: m_crBack(::GetSysColor(COLOR_WINDOW))
|
|
, m_crText(::GetSysColor(COLOR_WINDOWTEXT))
|
|
, m_crBorder(::GetSysColor(COLOR_3DDKSHADOW))
|
|
{
|
|
}
|
|
|
|
CXTPSyntaxEditColorSampleText::~CXTPSyntaxEditColorSampleText()
|
|
{
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CXTPSyntaxEditColorSampleText, CStatic)
|
|
//{{AFX_MSG_MAP(CXTPSyntaxEditColorSampleText)
|
|
ON_WM_PAINT()
|
|
ON_WM_NCPAINT()
|
|
ON_WM_SYSCOLORCHANGE()
|
|
ON_WM_ENABLE()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CXTPSyntaxEditColorSampleText message handlers
|
|
|
|
void CXTPSyntaxEditColorSampleText::OnNcPaint()
|
|
{
|
|
CWindowDC dc(this);
|
|
|
|
CXTPWindowRect rc(this);
|
|
rc.OffsetRect(-rc.TopLeft());
|
|
|
|
dc.Draw3dRect(rc, GetBorderColor(), GetBorderColor());
|
|
rc.DeflateRect(1, 1);
|
|
dc.Draw3dRect(rc, GetBackColor(), GetBackColor());
|
|
}
|
|
|
|
void CXTPSyntaxEditColorSampleText::OnPaint()
|
|
{
|
|
CPaintDC dc(this); // device context for painting
|
|
|
|
CXTPClientRect rc(this);
|
|
dc.FillSolidRect(&rc, GetBackColor());
|
|
|
|
CString csText;
|
|
GetWindowText(csText);
|
|
|
|
dc.SetBkColor(GetBackColor());
|
|
dc.SetTextColor(GetTextColor());
|
|
|
|
CXTPFontDC fontDC(&dc, GetFont());
|
|
dc.DrawText(csText, &rc, DT_SINGLELINE | DT_VCENTER | DT_CENTER);
|
|
}
|
|
|
|
void CXTPSyntaxEditColorSampleText::Refresh()
|
|
{
|
|
if (::IsWindow(m_hWnd))
|
|
{
|
|
RedrawWindow(NULL, NULL, RDW_UPDATENOW | RDW_ALLCHILDREN | RDW_FRAME |
|
|
RDW_INVALIDATE | RDW_ERASE);
|
|
}
|
|
}
|
|
|
|
void CXTPSyntaxEditColorSampleText::SetTextColor(COLORREF crText)
|
|
{
|
|
m_crText = crText;
|
|
Refresh();
|
|
}
|
|
|
|
COLORREF CXTPSyntaxEditColorSampleText::GetTextColor() const
|
|
{
|
|
return (IsWindowEnabled()? m_crText: ::GetSysColor(COLOR_GRAYTEXT));
|
|
}
|
|
|
|
void CXTPSyntaxEditColorSampleText::SetBackColor(COLORREF crBack)
|
|
{
|
|
m_crBack = crBack;
|
|
Refresh();
|
|
}
|
|
|
|
COLORREF CXTPSyntaxEditColorSampleText::GetBackColor() const
|
|
{
|
|
return (IsWindowEnabled()? m_crBack: ::GetSysColor(COLOR_3DFACE));
|
|
}
|
|
|
|
void CXTPSyntaxEditColorSampleText::SetBorderColor(COLORREF crBorder)
|
|
{
|
|
m_crBorder = crBorder;
|
|
Refresh();
|
|
}
|
|
|
|
COLORREF CXTPSyntaxEditColorSampleText::GetBorderColor() const
|
|
{
|
|
return (IsWindowEnabled()? m_crBorder: ::GetSysColor(COLOR_GRAYTEXT));
|
|
}
|
|
|
|
void CXTPSyntaxEditColorSampleText::OnEnable(BOOL bEnable)
|
|
{
|
|
CWnd::OnEnable(bEnable);
|
|
Refresh();
|
|
}
|
|
|
|
void CXTPSyntaxEditColorSampleText::OnSysColorChange()
|
|
{
|
|
CStatic::OnSysColorChange();
|
|
m_crBack.SetStandardValue(::GetSysColor(COLOR_WINDOW));
|
|
m_crText.SetStandardValue(::GetSysColor(COLOR_WINDOWTEXT));
|
|
m_crBorder.SetStandardValue(::GetSysColor(COLOR_3DDKSHADOW));
|
|
}
|