Chapter 15: Fundamental Controls Visual C++ and MFC Fundamentals
Practical Learning: Updating Controls Data
- 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);