Скачиваний:
22
Добавлен:
01.05.2014
Размер:
1.92 Кб
Скачать
// Delete.cpp : implementation file
//

#include "stdafx.h"
#include "CH_KS.h"
#include "Delete.h"

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

/////////////////////////////////////////////////////////////////////////////
// Delete dialog


Delete::Delete(CWnd* pParent /*=NULL*/)
	: CDialog(Delete::IDD, pParent)
{
	//{{AFX_DATA_INIT(Delete)
    m_i = 1;
	m_x = 0;
	m_y = 0;
	m_string = _T("1");
	//}}AFX_DATA_INIT
}


void Delete::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Delete)
	DDX_Control(pDX, IDC_N_SPIN, m_n_spin);
	DDX_Text(pDX, IDC_X, m_x);
	DDX_Text(pDX, IDC_Y, m_y);
	DDX_Text(pDX, IDC_N, m_string);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Delete, CDialog)
	//{{AFX_MSG_MAP(Delete)
	ON_BN_CLICKED(IDDELETE, OnDelete)
	ON_EN_CHANGE(IDC_N, OnChangeN)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Delete message handlers

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

    UpdateData(TRUE);

	m_n_spin.SetBuddy(GetDlgItem(IDC_N));
	m_n_spin.SetRange(1, p->N());
    
	m_x = p->X(m_i-1);
    m_y = p->Y(m_i-1);

	UpdateData(FALSE);

	GotoDlgCtrl(GetDlgItem(IDC_N));
	
	return FALSE;
}

void Delete::OnDelete()
{
    p->Delete(m_i-1);

    if (m_i > p->N()) {
      m_i--;
      m_string.Format("%d", m_i);
    }

    m_n_spin.SetRange(1, p->N());
    
    EndDialog(IDDELETE);	
}

void Delete::OnChangeN()
{
	UpdateData(TRUE);

    m_string.Remove(0xA0);
    m_i = atoi(m_string);

    if (m_i > p->N()) {
      m_i = p->N();
      m_string.Format("%d", m_i);
    }
    else if (m_i < 1) 
    {
      m_i = 1;
      m_string.Format("%d", m_i);
    }
        
    m_x = p->X(m_i-1);
    m_y = p->Y(m_i-1);
	
	UpdateData(FALSE);
}
Соседние файлы в папке Source