⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 start.cpp

📁 一个LED楼宇亮化同步控制源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// 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 + -