1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include "StdAfx.h"
- #include ".\serialitem.h"
- CSerialItem::CSerialItem(void)
- {
- m_serial = "12348765";
- }
- CSerialItem::~CSerialItem(void)
- {
- }
- CPropertyGrid::EEditMode CSerialItem::GetEditMode()
- {
- return CPropertyGrid::EM_INPLACE;
- }
- void CSerialItem::DrawItem(CDC& dc, CRect rc, bool focused)
- {
- string serial = m_serial;
- while (serial.length()<8) serial += " ";
- serial = serial.substr(0,4) + "-" + serial.substr(4,4);
- rc.left += m_pGrid->GetTextMargin();
- dc.DrawText(serial.c_str(), rc, DT_SINGLELINE|DT_LEFT|DT_VCENTER|DT_END_ELLIPSIS|DT_NOPREFIX);
- }
- string CSerialItem::GetStringForInPlaceEdit()
- {
- return m_serial;
- }
- bool CSerialItem::OnItemEdited(string strNewValue)
- {
- if (strNewValue.length()!=8)
- {
- AfxMessageBox("Invalid serial number");
- return false;
- }
- else
- {
- m_serial = strNewValue;
- return true;
- }
- }
|