Visual C++ and MFC Programming 2nd Edition

(Martin Jones) #1

Chapter 17: Track-Based Controls Visual C++ and MFC Fundamentals


m_Edit.SetWindowText("26");

return TRUE; // return TRUE unless you set the focus to a control
}

void CSpinEventDlg::OnDeltaposSpin(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
// TODO: Add your control notification handler code here

// Declare a pointer to a CSpinButtonCtrl;
CSpinButtonCtrl *Spinner;

// Get a pointer to our spin button
Spinner = reinterpret_cast<CSpinButtonCtrl *>(GetDlgItem(IDC_SPIN));

// Found out if it is our spin button that sent the message
// This conditional statement appears useless but so what?
if( pNMHDR->hwndFrom == Spinner->m_hWnd )
{
// Get the current value of the spin button
int CurPos = pNMUpDown->iPos;

// Convert the value to a string
char StrPos[20];

sprintf(StrPos, "%d", CurPos);

// Display the value into the accompanying edit box
m_Edit.SetWindowText(StrPos);
}

*pResult = 0;
}


  1. Test the application

  2. Close it and return to MSVC


17.2 The UpDown Control.................................................................................


17.2.1..Overview...............................................................................................


Besides the spin button, Visual C++ ships with an ActiveX control that provides the same
functionality. To use this object, you can add it from the Insert ActiveX Control dialog
Free download pdf