| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- // ExtenGrid.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "FirstStep.h"
- #include "GridExten.h"
- // CExtenGrid
- IMPLEMENT_DYNAMIC(CGridExten, CMFCPropertyGridCtrl)
- CGridExten::CGridExten()
- {
- }
- CGridExten::~CGridExten()
- {
- }
- /*****************************************************************
- **【函数名称】 __locate
- **【函数功能】 定位分机
- **【参数】
- **【返回值】
- ****************************************************************/
- CMFCPropertyGridProperty* CGridExten::__locate( UINT ExtenId )
- {
- for(int i = 0; i < GetPropertyCount(); ++i)
- {
- CMFCPropertyGridProperty* pExten = GetProperty(i);
- ASSERT(pExten != NULL);
- if(pExten->GetData() == ExtenId)
- return pExten;
- }
- return NULL;
- }
- /*****************************************************************
- **【函数名称】 init
- **【函数功能】 初始化
- **【参数】
- **【返回值】
- ****************************************************************/
- void CGridExten::init( void )
- {
- EnableHeaderCtrl(TRUE, _T("分机号"), _T("接入密码"));
- SetVSDotNetLook();
- CRect rect;
- GetClientRect(rect);
- HDITEM item;
- item.cxy = rect.Width() / 3;
- item.mask = HDI_WIDTH;
- GetHeaderCtrl().SetItem(0, &item);
- const ExtenMap& ExtMap = CConfig::GetInstance().extenMap();
- const ExtenMap::CPair* pPair = ExtMap.PGetFirstAssoc();
- while(pPair != NULL)
- {
- addExten(pPair->key, pPair->value);
- pPair = ExtMap.PGetNextAssoc(pPair);
- }
- }
- /*****************************************************************
- **【函数名称】 addExten
- **【函数功能】 添加分机
- **【参数】
- **【返回值】
- ****************************************************************/
- void CGridExten::addExten( UINT ExtenId, LPCTSTR Password )
- {
- CString StrExtenId;
- StrExtenId.Format(_T("%u"), ExtenId);
- CString StrPassword = _T("");
- if(Password != NULL)
- StrPassword = Password;
- CMFCPropertyGridProperty* pExten = __locate(ExtenId);
- if(pExten == NULL)
- {
- pExten = new CMFCPropertyGridProperty(StrExtenId, StrPassword, NULL, ExtenId);
- ASSERT(pExten != NULL);
- AddProperty(pExten);
- }
- else
- {
- if(Password != NULL)
- pExten->SetValue(Password);
- }
- }
- /*****************************************************************
- **【函数名称】 delExten
- **【函数功能】 删除分机
- **【参数】
- **【返回值】
- ****************************************************************/
- void CGridExten::delExten( UINT ExtenId )
- {
- CMFCPropertyGridProperty* pExten = __locate(ExtenId);
- if(pExten != NULL)
- DeleteProperty(pExten);
- }
- /*****************************************************************
- **【函数名称】 upload
- **【函数功能】 上传分机信息
- **【参数】
- **【返回值】
- ****************************************************************/
- void CGridExten::upload( void )
- {
- ExtenMap& ExtenMap = CConfig::GetInstance().extenMap();
- ExtenMap.RemoveAll();
- UINT ExtenId;
- CString Password;
- CMFCPropertyGridProperty* pExten = NULL;
- for (int i = 0; i < GetPropertyCount(); ++i)
- {
- pExten = GetProperty(i);
- ASSERT(pExten != NULL);
- sscanf_s(pExten->GetName(), "%u", &ExtenId);
- Password = pExten->GetValue();
- ExtenMap.SetAt(ExtenId, Password);
- }
- }
- BEGIN_MESSAGE_MAP(CGridExten, CMFCPropertyGridCtrl)
- END_MESSAGE_MAP()
- // CExtenGrid 消息处理程序
|