www.pudn.com > pccode_2006910124551680.rar > SelectColorDlg.cpp
// SelectColorDlg.cpp : implementation file
//
#include "stdafx.h"
#include "OGL_MFC.h"
#include "SelectColorDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSelectColorDlg dialog
CSelectColorDlg::CSelectColorDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSelectColorDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSelectColorDlg)
m_bDiffuseColor = FALSE;
m_bEmbientColor = FALSE;
m_bEmissionColor = FALSE;
m_bSpecularColor = FALSE;
m_nShininess = 128;
//}}AFX_DATA_INIT
m_crDiffuseColor=RGB(0,0,148);
m_crEmbientColor=RGB(0,115,255);
m_crSpecularColor=RGB(255,255,255);
m_crEmissionColor=RGB(0,0,0);
}
void CSelectColorDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSelectColorDlg)
DDX_Check(pDX, IDC_DIFFUSE_COLOR, m_bDiffuseColor);
DDX_Check(pDX, IDC_EMBIENT_COLOR, m_bEmbientColor);
DDX_Check(pDX, IDC_EMISSION_COLOR, m_bEmissionColor);
DDX_Check(pDX, IDC_SPECULAR_COLOR, m_bSpecularColor);
DDX_Text(pDX, IDC_SHININESS, m_nShininess);
DDV_MinMaxInt(pDX, m_nShininess, 0, 256);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSelectColorDlg, CDialog)
//{{AFX_MSG_MAP(CSelectColorDlg)
ON_BN_CLICKED(IDC_DIFFUSE_COLOR, OnSelectDiffuseColor)
ON_BN_CLICKED(IDC_EMBIENT_COLOR, OnSelectEmbientColor)
ON_BN_CLICKED(IDC_EMISSION_COLOR, OnSelectEmissionColor)
ON_BN_CLICKED(IDC_SPECULAR_COLOR, OnSelectSpecularColor)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSelectColorDlg message handlers
void CSelectColorDlg::OnSelectDiffuseColor()
{
UpdateData();
if(m_bDiffuseColor){
CColorDialog dlg(m_crDiffuseColor);
if(dlg.DoModal()==IDOK)
m_crDiffuseColor=dlg.GetColor();
}
}
void CSelectColorDlg::OnSelectEmbientColor()
{
UpdateData();
if(m_bEmbientColor){
CColorDialog dlg(m_crEmbientColor);
if(dlg.DoModal()==IDOK)
m_crEmbientColor=dlg.GetColor();
}
}
void CSelectColorDlg::OnSelectEmissionColor()
{
UpdateData();
if(m_bEmissionColor){
CColorDialog dlg(m_crEmissionColor);
if(dlg.DoModal()==IDOK)
m_crEmissionColor=dlg.GetColor();
}
}
void CSelectColorDlg::OnSelectSpecularColor()
{
UpdateData();
if(m_bSpecularColor){
CColorDialog dlg(m_crSpecularColor);
if(dlg.DoModal()==IDOK)
m_crSpecularColor=dlg.GetColor();
}
}