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

📄 correctcursorsizedlg.cpp

📁 关于光标图标的制作,随意制作自己的光标!!!!!!!!!!!!!!!!!!!!!!!1
💻 CPP
字号:
// CorrectCursorSizeDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CursorEditor.h"
#include "CorrectCursorSizeDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCorrectCursorSizeDlg dialog


CCorrectCursorSizeDlg::CCorrectCursorSizeDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCorrectCursorSizeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCorrectCursorSizeDlg)
	m_nEditCurSize = 50;
	//}}AFX_DATA_INIT
}


void CCorrectCursorSizeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCorrectCursorSizeDlg)
	DDX_Text(pDX, IDC_EDIT1, m_nEditCurSize);
	DDV_MinMaxLong(pDX, m_nEditCurSize, 10, 50);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCorrectCursorSizeDlg, CDialog)
	//{{AFX_MSG_MAP(CCorrectCursorSizeDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCorrectCursorSizeDlg message handlers

void CCorrectCursorSizeDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	CCursorEditorDlg *pEditCurDlg= (CCursorEditorDlg *)AfxGetMainWnd();

	int maxcolbuf,maxrowbuf;
	maxcolbuf=pEditCurDlg->m_nMaxCol;
	maxrowbuf=pEditCurDlg->m_nMaxRow;
	int maxcurpointbuf=maxcolbuf*maxrowbuf;

	pEditCurDlg->m_nMaxCol=m_nEditCurSize;
	pEditCurDlg->m_nMaxRow=m_nEditCurSize;
	pEditCurDlg->IsSave=0;
	
	pEditCurDlg->m_nMaxSelCurPointCount=pEditCurDlg->m_nMaxCol*pEditCurDlg->m_nMaxRow;
//	pEditCurDlg->m_nComboSel=pEditCurDlg->m_combo1.GetCurSel();
	if(pEditCurDlg->m_nComboSel==-1)
	{
		pEditCurDlg->startCurBuf=0;
	}
	else
	{
		pEditCurDlg->startCurBuf=pEditCurDlg->m_nComboSel*pEditCurDlg->m_nMaxSelCurPointCount;
	}
//	pEditCurDlg->m_Picture.MoveWindow(CRect(450,300,450+pEditCurDlg->m_nMaxCol,300+pEditCurDlg->m_nMaxRow));

	//将m_pSelCur拷贝到新的m_pSelCur中;
	m_pCopySelCur	=new CursorBuffer[pEditCurDlg->m_nMaxSelCurPointCount];

	for(int u=0; u<pEditCurDlg->m_nMaxRow; u++)
	{
		for(int v=0; v<pEditCurDlg->m_nMaxCol; v++)
		{
			m_pCopySelCur[u*pEditCurDlg->m_nMaxCol+v].m_nCol=v;
			m_pCopySelCur[u*pEditCurDlg->m_nMaxCol+v].m_nColor=RGB(0,0,0);
			m_pCopySelCur[u*pEditCurDlg->m_nMaxCol+v].m_nRow=u;
		}
	}
	
	if(maxcurpointbuf<=pEditCurDlg->m_nMaxSelCurPointCount)
	{
		for(int j=0; j<pEditCurDlg->m_nMaxRow; j++)
		{
			for(int i=0; i<pEditCurDlg->m_nMaxCol; i++)
			{
				if(i<maxcolbuf && j<maxrowbuf)
				{
					m_pCopySelCur[j*pEditCurDlg->m_nMaxCol+i].m_nCol  =pEditCurDlg->m_pSelCur[maxcolbuf*j+i].m_nCol;
					m_pCopySelCur[j*pEditCurDlg->m_nMaxCol+i].m_nColor=pEditCurDlg->m_pSelCur[maxcolbuf*j+i].m_nColor;
					m_pCopySelCur[j*pEditCurDlg->m_nMaxCol+i].m_nRow  =pEditCurDlg->m_pSelCur[maxcolbuf*j+i].m_nRow;
				}	
			}
		}
				
	}

	if(maxcurpointbuf>pEditCurDlg->m_nMaxSelCurPointCount)
	{
		for(int l=0; l<pEditCurDlg->m_nMaxRow; l++)
		{
			for(int h=0; h<pEditCurDlg->m_nMaxCol; h++)
			{
				m_pCopySelCur[pEditCurDlg->m_nMaxCol*l+h].m_nColor=pEditCurDlg->m_pSelCur[maxcolbuf*l+h].m_nColor;
				m_pCopySelCur[pEditCurDlg->m_nMaxCol*l+h].m_nCol  =pEditCurDlg->m_pSelCur[maxcolbuf*l+h].m_nCol;
				m_pCopySelCur[pEditCurDlg->m_nMaxCol*l+h].m_nRow  =pEditCurDlg->m_pSelCur[maxcolbuf*l+h].m_nRow;
			}
		}					
	}
	
	delete pEditCurDlg->m_pSelCur;
	pEditCurDlg->m_pSelCur=new CursorBuffer[pEditCurDlg->m_nMaxSelCurPointCount];

	

	for(int n=0; n<pEditCurDlg->m_nMaxSelCurPointCount; n++)
	{
		pEditCurDlg->m_pSelCur[n].m_nCol  =m_pCopySelCur[n].m_nCol;
		pEditCurDlg->m_pSelCur[n].m_nColor=m_pCopySelCur[n].m_nColor;
		pEditCurDlg->m_pSelCur[n].m_nRow  =m_pCopySelCur[n].m_nRow;
	}
	
	delete m_pCopySelCur;

	//将m_pMaxCurBuffer内容拷贝到新的m_pMaxCurBuffer中
	CursorBuffer pCopyBuffer;
	for(int r=0; r<pEditCurDlg->m_ncurcount; r++)
	{
		for(int s=0; s<pEditCurDlg->m_nMaxRow; s++)
		{
			for(int t=0; t<pEditCurDlg->m_nMaxCol; t++)
			{
				pCopyBuffer.m_nCol=t;
				pCopyBuffer.m_nColor=RGB(0,0,0);
				pCopyBuffer.m_nRow=s;
				m_pCopyMaxCurBuffer.Add(pCopyBuffer);
			}
		}
	}



	if(maxcurpointbuf<=pEditCurDlg->m_nMaxSelCurPointCount)
	{
		for(int a=0; a<pEditCurDlg->m_ncurcount; a++)
		{
			for(int b=0; b<pEditCurDlg->m_nMaxRow; b++)
			{
				for(int c=0; c<pEditCurDlg->m_nMaxRow; c++)
				{
				//	if(pEditCurDlg->m_pMaxCurBuffer[a*b*c+b*c+c].m_nColor==RGB(255,0,0))
					if(b<maxcolbuf && c<maxrowbuf)
					{
						m_pCopyMaxCurBuffer[a*pEditCurDlg->m_nMaxSelCurPointCount+b*pEditCurDlg->m_nMaxRow+c].m_nCol  =pEditCurDlg->m_pMaxCurBuffer[a*maxrowbuf*maxcolbuf+b*maxcolbuf+c].m_nCol;
						m_pCopyMaxCurBuffer[a*pEditCurDlg->m_nMaxSelCurPointCount+b*pEditCurDlg->m_nMaxRow+c].m_nColor=pEditCurDlg->m_pMaxCurBuffer[a*maxrowbuf*maxcolbuf+b*maxcolbuf+c].m_nColor;
						m_pCopyMaxCurBuffer[a*pEditCurDlg->m_nMaxSelCurPointCount+b*pEditCurDlg->m_nMaxRow+c].m_nRow  =pEditCurDlg->m_pMaxCurBuffer[a*maxrowbuf*maxcolbuf+b*maxcolbuf+c].m_nRow;
					}
				
				}
			}
			
		}
	}

	if(maxcurpointbuf>pEditCurDlg->m_nMaxSelCurPointCount)
	{
		for(int x=0; x<pEditCurDlg->m_ncurcount; x++)
		{
			for(int y=0; y<pEditCurDlg->m_nMaxRow; y++)
			{
				for(int z=0; z<pEditCurDlg->m_nMaxCol; z++)
				{
					m_pCopyMaxCurBuffer[x*pEditCurDlg->m_nMaxRow*pEditCurDlg->m_nMaxCol+y*pEditCurDlg->m_nMaxCol+z].m_nColor=pEditCurDlg->m_pMaxCurBuffer[x*maxrowbuf*maxcolbuf+y*maxcolbuf+z].m_nColor;
					m_pCopyMaxCurBuffer[x*pEditCurDlg->m_nMaxRow*pEditCurDlg->m_nMaxCol+y*pEditCurDlg->m_nMaxCol+z].m_nCol  =pEditCurDlg->m_pMaxCurBuffer[x*maxrowbuf*maxcolbuf+y*maxcolbuf+z].m_nCol;
					m_pCopyMaxCurBuffer[x*pEditCurDlg->m_nMaxRow*pEditCurDlg->m_nMaxCol+y*pEditCurDlg->m_nMaxCol+z].m_nRow  =pEditCurDlg->m_pMaxCurBuffer[x*maxrowbuf*maxcolbuf+y*maxcolbuf+z].m_nRow;
				}
			}
			
		}
	}

	pEditCurDlg->m_pMaxCurBuffer.RemoveAll();
	CursorBuffer pBuffer;

	for(int k=0; k<(pEditCurDlg->m_ncurcount*pEditCurDlg->m_nMaxSelCurPointCount); k++)
	{
		pBuffer.m_nCol=m_pCopyMaxCurBuffer[k].m_nCol;
		pBuffer.m_nColor=m_pCopyMaxCurBuffer[k].m_nColor;
		pBuffer.m_nRow=m_pCopyMaxCurBuffer[k].m_nRow;
		pEditCurDlg->m_pMaxCurBuffer.Add(pBuffer);
	}
	
	m_pCopyMaxCurBuffer.RemoveAll();
	
//	pEditCurDlg/*GetParent()*/->Invalidate(TRUE);
//	SendMessage(WM_PAINT,(WPARAM)pEditCurDlg->GetSafeHwnd(),0);
	CDialog::OnOK();
}

⌨️ 快捷键说明

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