labeldlg.cpp
来自「Displaying large amounts of technical da」· C++ 代码 · 共 139 行
CPP
139 行
// LabelDlg.cpp: Implementierungsdatei
//
#include "stdafx.h"
#include "XGraph.h"
#include "LabelDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Dialogfeld CLabelDlg
#pragma warning (disable : 4244)
#pragma warning (disable : 4800)
CLabelDlg::CLabelDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLabelDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLabelDlg)
m_bBorder = FALSE;
m_nAlignment = -1;
m_nCurve = -1;
m_bTransparent = FALSE;
//}}AFX_DATA_INIT
}
void CLabelDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLabelDlg)
DDX_Control(pDX, IDC_CURVE, m_Curve);
DDX_Control(pDX, IDC_COLOR, m_Color);
DDX_Check(pDX, IDC_BORDER, m_bBorder);
DDX_CBIndex(pDX, IDC_CBALIGNMENT, m_nAlignment);
DDX_CBIndex(pDX, IDC_CURVE, m_nCurve);
DDX_Check(pDX, IDC_TRANSPARENT, m_bTransparent);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLabelDlg, CDialog)
//{{AFX_MSG_MAP(CLabelDlg)
ON_BN_CLICKED(IDC_BORDER, OnChanged)
ON_BN_CLICKED(IDAPPLY, OnApply)
ON_BN_CLICKED(IDC_FONT, OnFont)
ON_CBN_SELCHANGE(IDC_CBALIGNMENT, OnChanged)
ON_CBN_SELCHANGE(IDC_CURVE, OnChanged)
ON_BN_CLICKED(IDC_TRANSPARENT, OnChanged)
ON_MESSAGE(CPN_SELCHANGE, OnColorChanged)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Behandlungsroutinen f黵 Nachrichten CLabelDlg
LRESULT CLabelDlg::OnColorChanged(WPARAM, LPARAM)
{
OnChanged();
return 0;
}
void CLabelDlg::OnChanged()
{
GetDlgItem(IDAPPLY)->EnableWindow(TRUE);
}
BOOL CLabelDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_bBorder = m_pLabel->GetBorder();
m_Color.SetColor(m_pLabel->GetColor());
m_nAlignment = m_pLabel->GetAlignment();
m_bTransparent = m_pLabel->GetTransparent();
CString cCurve;
for (int i = 0; i < m_pLabel->GetGraph()->GetCurveCount(); i++)
{
CXGraphDataSerie& serie = m_pLabel->GetGraph()->GetCurve (i);
cCurve.Format("%02d %s", i+1, serie.GetLabel());
m_Curve.AddString(cCurve);
}
m_nCurve = m_pLabel->GetCurve();
UpdateData(FALSE);
return TRUE;
}
void CLabelDlg::OnOK()
{
OnApply();
CDialog::OnOK();
}
void CLabelDlg::OnApply()
{
UpdateData(TRUE);
m_pLabel->SetBorder(m_bBorder);
m_pLabel->SetColor(m_Color.GetColor());
m_pLabel->SetAlignment(m_nAlignment);
m_pLabel->SetCurve(m_nCurve);
m_pLabel->SetTransparent(m_bTransparent);
m_pLabel->GetGraph()->Invalidate ();
GetDlgItem(IDAPPLY)->EnableWindow(FALSE);
}
void CLabelDlg::OnFont()
{
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
LOGFONT logFont;
dlg.GetCurrentFont (&logFont);
m_pLabel->SetFont (&logFont);
m_pLabel->SetTextColor(dlg.GetColor ());
OnChanged();
}
}
#pragma warning (default : 4244)
#pragma warning (default : 4800)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?