📄 correctcursorsizedlg.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 + -