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

192 lines
5.3 KiB
C++

// AttrDialog.cpp : implementation file
//
#include "stdafx.h"
#include "StatText.h"
#include "AttrDialog.h"
#include "OXStaticText.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAttrDialog dialog
CAttrDialog::CAttrDialog(CWnd* pParent /*=NULL*/)
: CDialog(CAttrDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CAttrDialog)
m_sCaption = _T("");
m_sFont = _T("");
m_BlueVal = 0;
m_GreenVal = 0;
m_RedVal = 0;
m_bkBlueVal = 0;
m_bkGreenVal = 0;
m_bkRedVal = 0;
m_Height = 0;
m_Bold = TRUE;
m_Italic = FALSE;
m_Under = FALSE;
m_Striked = FALSE;
m_OffsetVal = 0;
m_bEmboss = FALSE;
m_bRaised = FALSE;
//}}AFX_DATA_INIT
m_nEllipseMode = 0;
}
void CAttrDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAttrDialog)
DDX_Control(pDX, IDC_TEST_STATIC, m_TestStatic);
DDX_Control(pDX, IDC_OFFSET_SPIN, m_OffsetSpin);
DDX_Control(pDX, IDC_OFFSET_EDIT, m_OffsetEdit);
DDX_Control(pDX, IDC_HEIGHT_SPIN, m_HeightSpin);
DDX_Control(pDX, IDC_HEIGHT_EDIT, m_HeightEdit);
DDX_Control(pDX, IDC_BKRED_SPIN, m_bkRedSpin);
DDX_Control(pDX, IDC_BKRED_EDIT, m_bkRedEdit);
DDX_Control(pDX, IDC_BKGREEN_SPIN, m_bkGreenSpin);
DDX_Control(pDX, IDC_BKGREEN_EDIT, m_bkGreenEdit);
DDX_Control(pDX, IDC_BKBLUE_SPIN, m_bkBlueSpin);
DDX_Control(pDX, IDC_BKBLUE_EDIT, m_bkBlueEdit);
DDX_Control(pDX, IDC_RED_SPIN, m_RedSpin);
DDX_Control(pDX, IDC_GREEN_SPIN, m_GreenSpin);
DDX_Control(pDX, IDC_BLUE_SPIN, m_BlueSpin);
DDX_Control(pDX, IDC_RED_EDIT, m_RedEdit);
DDX_Control(pDX, IDC_GREEN_EDIT, m_GreenEdit);
DDX_Control(pDX, IDC_BLUE_EDIT, m_BlueEdit);
DDX_Text(pDX, IDC_CAPTION_EDIT, m_sCaption);
DDX_Text(pDX, IDC_FONT_EDIT, m_sFont);
DDX_Text(pDX, IDC_BLUE_EDIT, m_BlueVal);
DDV_MinMaxInt(pDX, m_BlueVal, 0, 255);
DDX_Text(pDX, IDC_GREEN_EDIT, m_GreenVal);
DDV_MinMaxInt(pDX, m_GreenVal, 0, 255);
DDX_Text(pDX, IDC_RED_EDIT, m_RedVal);
DDV_MinMaxInt(pDX, m_RedVal, 0, 255);
DDX_Text(pDX, IDC_BKBLUE_EDIT, m_bkBlueVal);
DDV_MinMaxInt(pDX, m_bkBlueVal, 0, 255);
DDX_Text(pDX, IDC_BKGREEN_EDIT, m_bkGreenVal);
DDV_MinMaxInt(pDX, m_bkGreenVal, 0, 255);
DDX_Text(pDX, IDC_BKRED_EDIT, m_bkRedVal);
DDV_MinMaxInt(pDX, m_bkRedVal, 0, 255);
DDX_Text(pDX, IDC_HEIGHT_EDIT, m_Height);
DDV_MinMaxInt(pDX, m_Height, 1, 100);
DDX_Check(pDX, IDC_BOLD_CHECK, m_Bold);
DDX_Check(pDX, IDC_ITALIC_CHECK, m_Italic);
DDX_Check(pDX, IDC_UNDER_CHECK, m_Under);
DDX_Check(pDX, IDC_STRIKE_CHECK, m_Striked);
DDX_Text(pDX, IDC_OFFSET_EDIT, m_OffsetVal);
DDV_MinMaxDWord(pDX, m_OffsetVal, 0, 100);
DDX_Check(pDX, IDC_EMBOSS_CHECK, m_bEmboss);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAttrDialog, CDialog)
//{{AFX_MSG_MAP(CAttrDialog)
ON_BN_CLICKED(IDC_BEGREP_RADIO, OnBegrepRadio)
ON_BN_CLICKED(IDC_MIDREP_RADIO, OnMidrepRadio)
ON_BN_CLICKED(IDC_ENDREP_RADIO, OnEndrepRadio)
ON_BN_CLICKED(IDC_NOREP_RADIO, OnNorepRadio)
ON_BN_CLICKED(IDC_APPLY_BUTTON, OnApplyButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAttrDialog message handlers
BOOL CAttrDialog::OnInitDialog()
{
CDialog::OnInitDialog();
m_RedSpin.SetBuddy(&m_RedEdit);
m_RedSpin.SetRange(0, 255);
m_GreenSpin.SetBuddy(&m_GreenEdit);
m_GreenSpin.SetRange(0, 255);
m_BlueSpin.SetBuddy(&m_BlueEdit);
m_BlueSpin.SetRange(0, 255);
m_bkRedSpin.SetBuddy(&m_bkRedEdit);
m_bkRedSpin.SetRange(0, 255);
m_bkGreenSpin.SetBuddy(&m_bkGreenEdit);
m_bkGreenSpin.SetRange(0, 255);
m_bkBlueSpin.SetBuddy(&m_bkBlueEdit);
m_bkBlueSpin.SetRange(0, 255);
m_HeightSpin.SetBuddy(&m_HeightEdit);
m_HeightSpin.SetRange(1, 100);
m_OffsetSpin.SetBuddy(&m_OffsetEdit);
m_OffsetSpin.SetRange(0, 100);
switch ( m_nEllipseMode )
{
case OX_BEGIN_ELLIPSES:
CheckRadioButton(IDC_BEGREP_RADIO, IDC_NOREP_RADIO, IDC_BEGREP_RADIO);
break;
case OX_MIDDLE_ELLIPSES:
CheckRadioButton(IDC_BEGREP_RADIO, IDC_NOREP_RADIO, IDC_MIDREP_RADIO);
break;
case OX_END_ELLIPSES:
CheckRadioButton(IDC_BEGREP_RADIO, IDC_NOREP_RADIO, IDC_ENDREP_RADIO);
break;
default:
CheckRadioButton(IDC_BEGREP_RADIO, IDC_NOREP_RADIO, IDC_NOREP_RADIO);
break;
}
OnApplyButton();
m_TestStatic.SetStaticEdge();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAttrDialog::OnBegrepRadio()
{
m_nEllipseMode = OX_BEGIN_ELLIPSES;
}
void CAttrDialog::OnMidrepRadio()
{
m_nEllipseMode = OX_MIDDLE_ELLIPSES;
}
void CAttrDialog::OnEndrepRadio()
{
m_nEllipseMode = OX_END_ELLIPSES;
}
void CAttrDialog::OnNorepRadio()
{
m_nEllipseMode = OX_NO_ELLIPSES;
}
void CAttrDialog::OnApplyButton()
{
if (!UpdateData(TRUE))
return;
m_TestStatic.SetWindowText(m_sCaption);
m_TestStatic.SetFontName(m_sFont);
m_TestStatic.SetTextColor(RGB(m_RedVal, m_GreenVal, m_BlueVal));
m_TestStatic.SetBkColor(RGB(m_bkRedVal, m_bkGreenVal, m_bkBlueVal));
m_TestStatic.SetFontHeight(m_Height);
m_TestStatic.SetFontAttr(OX_BOLD_FONT, m_Bold);
m_TestStatic.SetFontAttr(OX_ITALIC_FONT, m_Italic);
m_TestStatic.SetFontAttr(OX_UNDERLINED_FONT, m_Under);
m_TestStatic.SetFontAttr(OX_STRIKED_OUT_FONT, m_Striked);
m_TestStatic.Set3Doffset(m_OffsetVal);
m_TestStatic.SetEllipseMode(m_nEllipseMode);
m_TestStatic.SetEmboss(m_bEmboss, m_bRaised, TRUE);
}