MiddleWares_YiHe 郑州颐和医院随访系统中间件

ViewExten.cpp 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. // ViewExten.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "ViewExten.h"
  5. // CViewExten
  6. IMPLEMENT_DYNAMIC(CViewExten, CViewResBase)
  7. CViewExten::CViewExten()
  8. {
  9. }
  10. CViewExten::~CViewExten()
  11. {
  12. }
  13. BEGIN_MESSAGE_MAP(CViewExten, CViewResBase)
  14. END_MESSAGE_MAP()
  15. /*****************************************************************
  16. **【函数名称】 _mapStateToString
  17. **【函数功能】 把资源状态装换为CString类型
  18. **【参数】
  19. **【返回值】
  20. ****************************************************************/
  21. void CViewExten::_mapStateToString( UINT State, CString& StrState )
  22. {
  23. switch(State & HELD_STATE_FILTER_MASK)
  24. {
  25. case INNER_STATE_DISABLED:
  26. StrState = _T("不可用");
  27. break;
  28. case INNER_STATE_FREE:
  29. StrState = _T("空闲");
  30. break;
  31. case INNER_STATE_ALERTING:
  32. StrState = _T("来电振铃");
  33. break;
  34. case INNER_STATE_RING_BACK:
  35. StrState = _T("呼出振铃");
  36. break;
  37. case INNER_STATE_INIT:
  38. StrState = _T("摘机");
  39. break;
  40. case INNER_STATE_DIALING:
  41. StrState = _T("拨号中");
  42. break;
  43. case INNER_STATE_TALKING:
  44. StrState = _T("通话中");
  45. break;
  46. default:
  47. StrState = _T("未知占用");
  48. }
  49. // 是否存在保持状态
  50. if((State & HELD_STATE_IND_MASK) == INNER_STATE_HELD)
  51. StrState = _T("保持/") + StrState;
  52. }
  53. /*****************************************************************
  54. **【函数名称】 onResDetail
  55. **【函数功能】 资源明细的处理函数
  56. **【参数】
  57. **【返回值】
  58. ****************************************************************/
  59. void CViewExten::onResDetail( EventResDetail *pResDetail )
  60. {
  61. ASSERT(pResDetail != NULL);
  62. UINT ResId = pResDetail->nResID;
  63. int Index = -1;
  64. // 判断增加删除
  65. if (ResId & DEL_EXT_DETAIL)
  66. {
  67. // 去掉首位
  68. ResId = ResId << 4;
  69. ResId = ResId >> 4;
  70. _delRes(ResId);
  71. }
  72. else
  73. {
  74. if (_indexItem(ResId) == -1)
  75. _addRes(ResId);
  76. }
  77. }
  78. /*****************************************************************
  79. **【函数名称】 onResState
  80. **【函数功能】 资源状态处理函数
  81. **【参数】
  82. **【返回值】
  83. ****************************************************************/
  84. void CViewExten::onResState( EventResStatus *pResStatus )
  85. {
  86. ASSERT(pResStatus != NULL);
  87. // 删除状态,则删除指定分机
  88. if(pResStatus->nState == INNER_STATE_REMOVE)
  89. _delRes(pResStatus->nResID);
  90. else
  91. __super::onResState(pResStatus);
  92. }