?? squaresdoc.cpp
字號(hào):
// SquaresDoc.cpp : implementation of the CSquaresDoc class
//
#include "stdafx.h"
#include "MdiSquares.h"
#include "SquaresDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSquaresDoc
IMPLEMENT_DYNCREATE(CSquaresDoc, CDocument)
BEGIN_MESSAGE_MAP(CSquaresDoc, CDocument)
//{{AFX_MSG_MAP(CSquaresDoc)
ON_COMMAND(ID_COLOR_RED, OnColorRed)
ON_COMMAND(ID_COLOR_YELLOW, OnColorYellow)
ON_COMMAND(ID_COLOR_GREEN, OnColorGreen)
ON_COMMAND(ID_COLOR_CYAN, OnColorCyan)
ON_COMMAND(ID_COLOR_BLUE, OnColorBlue)
ON_COMMAND(ID_COLOR_WHITE, OnColorWhite)
ON_UPDATE_COMMAND_UI(ID_COLOR_RED, OnUpdateColorRed)
ON_UPDATE_COMMAND_UI(ID_COLOR_YELLOW, OnUpdateColorYellow)
ON_UPDATE_COMMAND_UI(ID_COLOR_GREEN, OnUpdateColorGreen)
ON_UPDATE_COMMAND_UI(ID_COLOR_CYAN, OnUpdateColorCyan)
ON_UPDATE_COMMAND_UI(ID_COLOR_BLUE, OnUpdateColorBlue)
ON_UPDATE_COMMAND_UI(ID_COLOR_WHITE, OnUpdateColorWhite)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSquaresDoc construction/destruction
CSquaresDoc::CSquaresDoc()
{
}
CSquaresDoc::~CSquaresDoc()
{
}
BOOL CSquaresDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
m_clrGrid[i][j] = RGB (255, 255, 255);
m_clrCurrentColor = RGB (255, 0, 0);
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CSquaresDoc serialization
void CSquaresDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
ar << m_clrGrid[i][j];
ar << m_clrCurrentColor;
}
else
{
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
ar >> m_clrGrid[i][j];
ar >> m_clrCurrentColor;
}
}
/////////////////////////////////////////////////////////////////////////////
// CSquaresDoc diagnostics
#ifdef _DEBUG
void CSquaresDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CSquaresDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSquaresDoc commands
COLORREF CSquaresDoc::GetCurrentColor()
{
return m_clrCurrentColor;
}
COLORREF CSquaresDoc::GetSquare(int i, int j)
{
ASSERT (i >= 0 && i <= 3 && j >= 0 && j <= 3);
return m_clrGrid[i][j];
}
void CSquaresDoc::SetSquare(int i, int j, COLORREF color)
{
ASSERT (i >= 0 && i <= 3 && j >= 0 && j <= 3);
m_clrGrid[i][j] = color;
SetModifiedFlag (TRUE);
UpdateAllViews (NULL);
}
void CSquaresDoc::OnColorRed()
{
m_clrCurrentColor = RGB (255, 0, 0);
}
void CSquaresDoc::OnColorYellow()
{
m_clrCurrentColor = RGB (255, 255, 0);
}
void CSquaresDoc::OnColorGreen()
{
m_clrCurrentColor = RGB (0, 255, 0);
}
void CSquaresDoc::OnColorCyan()
{
m_clrCurrentColor = RGB (0, 255, 255);
}
void CSquaresDoc::OnColorBlue()
{
m_clrCurrentColor = RGB (0, 0, 255);
}
void CSquaresDoc::OnColorWhite()
{
m_clrCurrentColor = RGB (255, 255, 255);
}
void CSquaresDoc::OnUpdateColorRed(CCmdUI* pCmdUI)
{
pCmdUI->SetRadio (m_clrCurrentColor == RGB (255, 0, 0));
}
void CSquaresDoc::OnUpdateColorYellow(CCmdUI* pCmdUI)
{
pCmdUI->SetRadio (m_clrCurrentColor == RGB (255, 255, 0));
}
void CSquaresDoc::OnUpdateColorGreen(CCmdUI* pCmdUI)
{
pCmdUI->SetRadio (m_clrCurrentColor == RGB (0, 255, 0));
}
void CSquaresDoc::OnUpdateColorCyan(CCmdUI* pCmdUI)
{
pCmdUI->SetRadio (m_clrCurrentColor == RGB (0, 255, 255));
}
void CSquaresDoc::OnUpdateColorBlue(CCmdUI* pCmdUI)
{
pCmdUI->SetRadio (m_clrCurrentColor == RGB (0, 0, 255));
}
void CSquaresDoc::OnUpdateColorWhite(CCmdUI* pCmdUI)
{
pCmdUI->SetRadio (m_clrCurrentColor == RGB (255, 255, 255));
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -