setcolor.cpp

来自「生命游戏的C++演示」· C++ 代码 · 共 120 行

CPP
120
字号
// SetColor.cpp : implementation file
//

#include "stdafx.h"
#include "Life.h"
#include "SetColor.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSetColor dialog

CSetColor::CSetColor(CWnd* pParent /*=NULL*/)
	: CDialog(CSetColor::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSetColor)
	//}}AFX_DATA_INIT
}


void CSetColor::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetColor)
	DDX_Control(pDX, IDC_SETTIME, m_SetTime);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSetColor, CDialog)
	//{{AFX_MSG_MAP(CSetColor)
	ON_WM_HSCROLL()
	ON_BN_CLICKED(IDC_BKCOLOR, OnBkcolor)
	ON_BN_CLICKED(IDC_LIFECOLOR, OnLifecolor)
	ON_BN_CLICKED(IDC_DIECOLOR, OnDiecolor)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetColor message handlers

void CSetColor::CopyColor(COLORREF bk, COLORREF life, COLORREF die,int time)
{
	colBK=bk;
	colLife=life;
	colDie=die;
	iTime=time;
}

BOOL CSetColor::OnInitDialog() 
{
	CDialog::OnInitDialog();

	//设置时间间隔
	m_SetTime.SetRange(100,1000,true);
	m_SetTime.SetTicFreq(100);
	m_SetTime.SetPageSize(100);
	m_SetTime.SetPos(iTime);
	
	//设置按钮颜色
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSetColor::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{	
	iTime=m_SetTime.GetPos();

	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

int CSetColor::GetTime()
{
	return iTime;
}

void CSetColor::OnBkcolor() 
{
	// TODO: Add your control notification handler code here
	CColorDialog color;
	if (color.DoModal()==IDOK)
		colBK=color.GetColor();
}

COLORREF CSetColor::GetBKColor()
{
	return colBK;
}

void CSetColor::OnLifecolor() 
{
	// TODO: Add your control notification handler code here
	CColorDialog color;
	if (color.DoModal()==IDOK)
		colLife=color.GetColor();	
}

void CSetColor::OnDiecolor() 
{
	// TODO: Add your control notification handler code here
	CColorDialog color;
	if (color.DoModal()==IDOK)
		colDie=color.GetColor();	
}

COLORREF CSetColor::GetDieColor()
{
	return colDie;
}

COLORREF CSetColor::GetLifeColor()
{
	return colLife;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?