📄 mainfrm.cpp
字号:
// mainfrm.cpp : implementation of the DMainFrame class
//
#include "stdafx.h"
#include "echofill.h"
#include "mainfrm.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DMainFrame
IMPLEMENT_DYNCREATE(DMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(DMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(DMainFrame)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DMainFrame construction/destruction
DMainFrame::DMainFrame()
{
ASSERT (MAX_COLORS == 8); // Table fill assumes this many colors.
crBackground[0] = g_crGray;
crBackground[1] = g_crYellow;
crBackground[2] = g_crRed;
crBackground[3] = g_crBlue;
crBackground[4] = g_crGreen;
crBackground[5] = g_crWhite;
crBackground[6] = g_crBlack;
crBackground[7] = g_crCyan;
iNextColor = 0;
lpszClassName = _T("Afx:No:Redraw:Bits");
}
DMainFrame::~DMainFrame()
{
}
//-----------------------------------------------------------------------------
// PreCreateWindow -- Called before Windows API window is created.
BOOL DMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// Register our own window class to avoid the default
// class style of CS_HREDRAW | CS_VREDRAW;
HICON hIcon = ::LoadIcon(AfxGetResourceHandle(),
MAKEINTRESOURCE(IDR_MAINFRAME));
HCURSOR hCursor = ::LoadCursor((HINSTANCE)0, IDC_ARROW);
LPCTSTR lpszClassName =
AfxRegisterWndClass(0, // Class style.
hCursor, // Mouse cursor.
(HBRUSH)COLOR_WINDOW+1, // Background color.
hIcon); // Icon.
// Pass class name on to creation code.
cs.lpszClass = lpszClassName;
return CFrameWnd::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// DMainFrame diagnostics
#ifdef _DEBUG
void DMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void DMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// DMainFrame message handlers
void DMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
// Query size of window's client area.
CRect rClient;
GetClientRect(&rClient);
// Select next color for background
ASSERT(iNextColor >= 0 && iNextColor < MAX_COLORS);
dc.SetBkColor(crBackground[iNextColor]);
// Fill client area with background color.
dc.ExtTextOut(0, 0, ETO_OPAQUE, &rClient, 0, 0, 0);
// Increment color index and wrap to start of range.
iNextColor++;
if (iNextColor >= MAX_COLORS) iNextColor = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -