Visual C++ and MFC Programming 2nd Edition

(Martin Jones) #1

Chapter 15: Fundamental Controls Visual C++ and MFC Fundamentals


Practical Learning: Updating Controls Data



  1. To see examples of updating data, implement the events of the Circular.cpp source
    file as follows:


// Circular.cpp : implementation file
//

#include "stdafx.h"
#include "Geometry1.h"
#include "Circular.h"

const double PIValue = 3.14159;
// CCircular dialog

IMPLEMENT_DYNAMIC(CCircular, CPropertyPage)
CCircular::CCircular()
: CPropertyPage(CCircular::IDD)
, m_szCircleRadius(_T("0.00"))
, m_szCircleCircumference(_T("0.00"))
, m_szCircleArea(_T("0.00"))
, m_szEllipseradius(_T("0.00"))
, m_szEllipseRadius(_T("0.00"))
, m_szEllipseCircumference(_T("0.00"))
, m_szEllipseArea(_T("0.00"))
{
}

CCircular::~CCircular()
{
}

void CCircular::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDT_CRADIUS, m_szCircleRadius);
DDX_Text(pDX, IDC_EDT_CCIRC, m_szCircleCircumference);
DDX_Text(pDX, IDC_EDT_CAREA, m_szCircleArea);
DDX_Text(pDX, IDC_EDT_VRADIUS, m_szEllipseradius);
DDX_Text(pDX, IDC_EDT_HRADIUS, m_szEllipseRadius);
DDX_Text(pDX, IDC_EDT_CCIRC2, m_szEllipseCircumference);
DDX_Text(pDX, IDC_EDT_EAREA, m_szEllipseArea);
}

BEGIN_MESSAGE_MAP(CCircular, CPropertyPage)
ON_BN_CLICKED(IDC_BTN_CCALC, OnBnClickedBtnCcalc)
ON_BN_CLICKED(IDC_BTN_ECALC, OnBnClickedBtnEcalc)
END_MESSAGE_MAP()

// CCircular message handlers

void CCircular::OnBnClickedBtnCcalc()
{
// TODO: Add your control notification handler code here
UpdateData();

double Radius, Circumference, Area;

Radius = atof(m_szCircleRadius);
Free download pdf