StoreWnd.h
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:2k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #ifndef _CSTOREWND_H
  2. #define _CSTOREWND_H
  3. using namespace std;
  4. typedef struct tagQUALITYINFO
  5. {
  6. string stlszQuality;
  7. string stlszPrice;
  8. }QUALITYINFO, *LPQUALITYINFO;
  9. typedef struct tagARTICLEINFO
  10. {
  11. string stlszArticle;
  12. CDLList<QUALITYINFO> m_xQualityList;
  13. }ARTICLEINFO, *LPARTICLEINFO;
  14. class CStoreWnd : public CGameWnd
  15. private:
  16. INT m_nIsReadyToDisplay;
  17. INT m_nCurrentItemTop;
  18. INT m_nCurrentKindTop;
  19. INT m_nMaxKindLine;
  20. INT m_nMaxItemLine;
  21. INT m_nNpcID;
  22. CTextButton m_xKindBtn;
  23. CTextButton m_xItemLstBtn;
  24. RECT m_xKindRect;
  25. RECT m_xItemRect;
  26. CPDLList<CLIENTITEMRCD> m_xItems;
  27. BOOL m_bSelectedKind;
  28. BOOL m_bSelectedItem;
  29. protected:
  30. BYTE m_bState; // 0 : Sell. 1 : Buy.  2 : Repair   3 : Special Repair
  31. CGameBtn m_xStoreBtn[5];
  32. CDLList<ARTICLEINFO> m_stArticleList;
  33. SHORT m_shArticleStart;
  34. SHORT m_shQualityStart;
  35. public:
  36. __inline VOID SetNPC(INT Id)
  37. {
  38. m_nNpcID = Id;
  39. }
  40. inline BOOL IsInRect(POINT tPos,RECT tRect)
  41. {
  42. INT nTemp;
  43. RECT twRect;
  44. twRect = GetGameWndRect();
  45. nTemp = tRect.left - (tPos.x - twRect.left);
  46. if(nTemp<=0)
  47. {
  48. nTemp = nTemp + (tRect.right-tRect.left);
  49. if(nTemp>=0)
  50. {
  51. nTemp = tRect.top - (tPos.y - twRect.top);
  52. if(nTemp<=0)
  53. {
  54. nTemp = nTemp + (tRect.bottom - tRect.top);
  55. if(nTemp>=0)
  56. {
  57. return TRUE;
  58. }
  59. }
  60. }
  61. }
  62. return FALSE;
  63. };
  64. CStoreWnd();
  65. ~CStoreWnd();
  66. VOID CreateStoreWnd(INT nID, CWHWilImageData* pxWndImage, INT nFrameImgIdx, INT nStartX, INT nStartY, INT nWidth, INT nHeight, BOOL bCanMove);
  67. VOID ShowStoreWnd();
  68. BOOL SetBuyKinds(CHAR* msg,INT Cound);
  69. BOOL SetBuyItemLst(CHAR* Msg,INT Cound);
  70. BOOL SetSellKinds(CInventoryWnd*,CHAR Kind,INT nStdMode);
  71. BOOL SetSellItemLst(CInventoryWnd*,CHAR Kind,BYTE nStdMode,CHAR bKind);
  72. public:
  73. //  皋矫瘤 窃荐.
  74. BOOL OnLButtonDown(POINT ptMouse);
  75. BOOL OnLButtonUp(POINT ptMouse);
  76. VOID OnMouseMove(POINT ptMouse);
  77. VOID OnScrollDown();
  78. VOID OnScrollUp();
  79. CWHQueue m_xPacketQueue; // NPC Chat俊辑 贸府秦具瞪 皋矫瘤甫 历厘窍绊 乐绰 钮.
  80. BOOL OnUpdateQueue(VOID);
  81. private:
  82. VOID SendDeTailGoodsList(INT nIndex,CHAR* szItemName);
  83. VOID SendButThisITme(CMTxtBtn* tBtn);
  84. };
  85. #endif // _CSTOREWND_H