📄 start.cpp
字号:
// start.cpp : implementation file
//
#include "stdafx.h"
#include "SetColorSty.h"
#include "start.h"
#include "page1.h"
#include "afxwin.h"
#include <math.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Cstart dialog
UINT ThreadProc(LPVOID pParam);
UINT ThreadProc1(LPVOID pParam);
UINT ThreadProc2(LPVOID pParam);
Cstart::Cstart(CWnd* pParent /*=NULL*/)
: CDialog(Cstart::IDD, pParent)
{
//{{AFX_DATA_INIT(Cstart)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void Cstart::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cstart)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cstart, CDialog)
//{{AFX_MSG_MAP(Cstart)
ON_WM_PAINT()
ON_WM_CTLCOLOR()
ON_WM_CANCELMODE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cstart message handlers
void Cstart::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
}
HBRUSH Cstart::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
return m_brush;//填充背景色为黑色
}
UINT ThreadProc1(LPVOID pParam)
//线程2
{
Cstart * p = (Cstart*)pParam;
CClientDC dc(p);
while(TRUE)
{
for (int index=0;index<p->m_count[1];index++)
{
switch(p->m_sstyList[index])
{
case 0:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleTopToBotttom(1, index);
break;
}
case 1:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleLeftToRight(1, index);
break;
}
case 2:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleBottomToLeft(1, index);
break;
}
case 3:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleRightToLeft(1, index);
break;
}
case 4://彩虹 从上到下
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowTopToBottom(1, index);
}
break ;
case 5://彩虹 从左到右
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowLeftToRight(1, index);
}
break ;
case 6:// 彩虹 从下到上
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowBottomToTop(1, index);
}
break ;
case 7:// 彩虹 从右到左
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowRightToLeft(1, index);
}
break ;
case 8://填充矩形为黑色,积木从上到下
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->AccTopToBottom(1, index);
}
break;
case 9://填充矩形为黑色, 积木从下到上
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->AccBottmToTop(1, index);
}
break;
case 10://填充矩形为黑色, 积木从左到右
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->AccLeftToRight(1, index);
}
break;
case 11://填充矩形为黑色,积木从右到左
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->AccRightToLeft(1, index);
}
break;
case 12:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RoundRunOutToIn(1, index);
}
break;
case 13:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RoundRunOutToInColor(1, index);
}
break;
case 14:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RoundRunInToOut(1, index);
}
break;
case 15:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RoundRunInToOutColor(1, index);
}
break;
case 16:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->SevenColorTopToBottom(1, index);
}
break;
case 17:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->SevenColorLeftToRight(1, index);
}
break;
case 18:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->SevenClolrBottomToTop(1, index);
}
break;
case 19:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->SevenColorRightToLeft(1, index);
}
break;
case 20://渐变1
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->ShadowCOlor(1, index);
}
break;
case 21://消隐从外到里
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->FadeAwayRectOutToIn(1, index);
}
break;
case 22://消隐从里到外
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->FadeAwayRectInToOut(1, index);
}
break;
case 23://消隐蓝色
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->FadeAwayRectBlue(1, index);
}
break;
case 24://消隐红色
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->FadeAwayRectRed(1, index);
}
break;
case 25://消隐绿色
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->FadeAwayRectGreen(1, index);
}
break;
case 26://菱形从里到外
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RhombusInToOut(1, index);
}
break;
case 27://菱形从外到里
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RhombusOutToIn(1, index);
}
break;
case 28://圆形变幻
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->CirculRun(1, index);
}
break;
case 29://圆形象素
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->CirculRunDot(1, index);
}
break;
case 30://圆形用线
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->CirculRunLine(1, index);
}
break;
case 31://圆形多彩象素
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->CirculRunDotColor(1, index);
}
break;
case 32://圆形多彩用线
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->CirculRunLineColor(1, index);
}
break;
case 33://交替变幻
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->AlternateRun(1, index);
}
break;
case 34:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RollRun(1, index);
}
break;
case 35:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RunDot(1, index);
}
break;
case 36:
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->RunLine(1, index);
}
break;
case 37://单色变幻
{
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
FillRect(dc,&rec,p->m_brush);
p->SingleColorRun(1, index);
}
break;
default:
break;
}
}
CRect rec(p->m_staPointx[1],p->m_staPointy[1],p->m_iWidth[1]+p->m_staPointx[1]+1,p->m_iHigh[1]+p->m_staPointy[1]+1);
p->InvalidateRect(&rec,TRUE);
index=0;
Sleep(100);
}
delete(p);
return 2;
}
UINT ThreadProc2(LPVOID pParam)
//线程三
{
Cstart * p = (Cstart*)pParam;
CClientDC dc(p);
while(true)
{
for (int index=0;index<p->m_count[2];index++)
{
switch(p->m_tstyList[index])
{
case 0:
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleTopToBotttom(2, index);
break;
}
case 1:
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleLeftToRight(2, index);
break;
}
case 2:
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleBottomToLeft(2, index);
break;
}
case 3:
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RectangleRightToLeft(2, index);
break;
}
case 4://彩虹从上到下
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowTopToBottom(2, index);
}
break ;
case 5://彩虹从左到右
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowLeftToRight(2, index);
}
break ;
case 6://彩虹从下到上
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowBottomToTop(2, index);
}
break ;
case 7://彩虹从右到左
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->RainbowRightToLeft(2, index);
}
break ;
case 8://填充矩形为黑色,积木从上到下
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->AccTopToBottom(2, index);
}
break;
case 9://填充矩形为黑色, 积木从下到上
{
CRect rec(p->m_staPointx[2],p->m_staPointy[2],p->m_iWidth[2]+p->m_staPointx[2]+1,p->m_iHigh[2]+p->m_staPointy[2]+1);
FillRect(dc,&rec,p->m_brush);
p->AccBottmToTop(2, index);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -