2025-11-27 16:46:48 +09:00

85 lines
2.1 KiB
C++

// Version: 9.3
// OXPropertyDescriptionPane.cpp : implementation file
//
#include "stdafx.h"
#include "OXPropertyDescriptionPane.h"
#include "OXPropertiesWnd.h"
#include "OXSkins.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COXPropertyDescriptionPane
COXPropertyDescriptionPane::COXPropertyDescriptionPane()
{
// Create the fonts
m_fontProperty.CreatePointFont(85, _T("Tahoma,,BOLD"));
m_fontDescription.CreatePointFont(85, _T("Tahoma"));
}
COXPropertyDescriptionPane::~COXPropertyDescriptionPane()
{
}
BEGIN_MESSAGE_MAP(COXPropertyDescriptionPane, CWnd)
//{{AFX_MSG_MAP(COXPropertyDescriptionPane)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COXPropertyDescriptionPane message handlers
void COXPropertyDescriptionPane::SetDescription(LPCTSTR lpszProperty, LPCTSTR lpszDescription)
{
m_strProperty = lpszProperty;
m_strDescription = lpszDescription;
Invalidate();
}
void COXPropertyDescriptionPane::OnPaint()
{
CPaintDC dc(this); // device context for painting
COXPropertiesWnd* pPropertiesWnd = (COXPropertiesWnd*) GetParent();
COLORREF clrBackground = pPropertiesWnd->GetFrameSkin()->GetBackgroundColor();
CRect rectClient;
GetClientRect(rectClient);
dc.FillSolidRect(rectClient, clrBackground);
// Draw the frame rectangle
rectClient.top += 4;
CBrush brush;
brush.CreateSolidBrush(clrBackground);
CPen pen;
pen.CreatePen(PS_SOLID, 1, pPropertiesWnd->GetFrameSkin()->GetBorderColor());
CBrush* pOldBrush = dc.SelectObject(&brush);
CPen* pOldPen = dc.SelectObject(&pen);
dc.Rectangle(rectClient);
dc.SelectObject(pOldPen);
dc.SelectObject(pOldBrush);
// Draw the text - property name first
CFont* pOldFont = dc.SelectObject(&m_fontProperty);
rectClient.DeflateRect(5, 3);
dc.DrawText(m_strProperty, rectClient, DT_SINGLELINE);
// Draw the description
rectClient.top += 25;
dc.SelectObject(&m_fontDescription);
dc.DrawText(m_strDescription, rectClient, DT_SINGLELINE);
dc.SelectObject(pOldFont);
}