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

📄 movetrandlg.cpp

📁 VS2005图像处理程序的源代码
💻 CPP
字号:
// MoveTranDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "photoshow.h"
#include "MoveTranDlg.h"
#include "MainFrm.h"
#include "photoshowDoc.h"
#include "photoshowView.h"
#include "GeoOperator.h"


// CMoveTranDlg 对话框

IMPLEMENT_DYNAMIC(CMoveTranDlg, CDialog)

CMoveTranDlg::CMoveTranDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMoveTranDlg::IDD, pParent)
	, m_nType(0)
	, m_nX(0)
	, m_nY(0)
{
    m_bModify=false;
}

CMoveTranDlg::~CMoveTranDlg()
{
	SAFE_DELETE (dlg);
}

void CMoveTranDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Radio(pDX, IDC_RADIO_NORMAL, m_nType);
	DDX_Text(pDX, IDC_EDIT_X, m_nX);
	DDX_Text(pDX, IDC_EDIT_Y, m_nY);
}


BEGIN_MESSAGE_MAP(CMoveTranDlg, CDialog)
	ON_BN_CLICKED(IDC_RADIO_NORMAL, &CMoveTranDlg::OnBnClickedRadioNormal)
	ON_BN_CLICKED(IDC_RADIO_SIZE, &CMoveTranDlg::OnBnClickedRadioSize)
	ON_EN_CHANGE(IDC_EDIT_X, &CMoveTranDlg::OnEnChangeEditX)
	ON_EN_CHANGE(IDC_EDIT_Y, &CMoveTranDlg::OnEnChangeEditY)
	ON_BN_CLICKED(IDC_SAVE, &CMoveTranDlg::OnBnClickedSave)
	ON_BN_CLICKED(IDCANCEL, &CMoveTranDlg::OnBnClickedCancel)
END_MESSAGE_MAP()


// CMoveTranDlg 消息处理程序

void CMoveTranDlg::Refresh(void)
{
	UpdateData(TRUE);
	CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();
	CphotoshowView* pView = (CphotoshowView*)pMain->GetActiveView();
	SAFE_DELETE_ARRAY (pView->m_pImageTempBuffer);
	pView->m_nTempWidth = pView->m_nPicWidth;
	pView->m_nTempHeight = pView->m_nPicHeight;
	if (m_nType == 0)
		MoveTransNormal(pView->m_pImageBuffer, pView->m_pImageTempBuffer, 
						pView->m_nPicWidth, pView->m_nPicHeight, m_nX, m_nY);
	else
		MoveTransSize(pView->m_pImageBuffer, pView->m_pImageTempBuffer, 
					  pView->m_nPicWidth, pView->m_nPicHeight, m_nX, m_nY, 
					  pView->m_nTempWidth, pView->m_nTempHeight);
	dlg->Refresh();
}

BOOL CMoveTranDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	dlg = new CPreviewDlg(this);

	dlg->m_nType = 1;
	dlg->m_bEnableClose = false;
	dlg->Create(IDD_PREVIEW);
	dlg->ShowWindow(SW_SHOW);

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

void CMoveTranDlg::OnBnClickedRadioNormal()
{
	Refresh();
}

void CMoveTranDlg::OnBnClickedRadioSize()
{
	Refresh();
}

void CMoveTranDlg::OnEnChangeEditX()
{
	Refresh();
    m_bModify=true;
}

void CMoveTranDlg::OnEnChangeEditY()
{
	Refresh();
	m_bModify=true;
}

void CMoveTranDlg::OnBnClickedSave()
{
	CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();
	CphotoshowView* pView = (CphotoshowView*)pMain->GetActiveView();

	pView->OnFileSave();
	m_bModify = false;
}


void CMoveTranDlg::OnBnClickedCancel()
{
	if (m_bModify)
	{
		if (IDYES == MessageBox(L"图像已经更改,是否保存?", L"photoshow", MB_YESNO))
			OnBnClickedSave();
	}
	OnCancel();
}

⌨️ 快捷键说明

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