MouseHover.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 浮动提示窗口
  3. // Copyright : Kingsoft 2002-2003
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-12-23
  6. ------------------------------------------------------------------------------------------
  7. *****************************************************************************************/
  8. #pragma once
  9. #include "WndMessage.h"
  10. #include "../../../Represent/iRepresent/KRepresentUnit.h"
  11. #include "../../../core/src/GameDataDef.h"
  12. class KMouseOver
  13. {
  14. public:
  15. KMouseOver();
  16. int IsMoseHoverWndObj(void* pWnd, int nObj);
  17. void    SetMouseHoverInfo(void* pWnd, int nObj, int x, int y,
  18.                         bool bHeadTailImg, bool bFollowCursor);
  19.     void    SetMouseHoverTitle(const char *pcszTitleText, int nTitleTextLen, UINT uColor);
  20. void    SetMouseHoverProp(const char *pcszPropText, int nPropTextLen, UINT uColor);
  21. void    SetMouseHoverDesc(const char *pcszDescText, int nDescTextLen, UINT uColor);
  22. void CancelMouseHoverInfo();
  23. void PaintMouseHoverInfo();
  24. void LoadScheme(const char* pScheme); //载入界面方案
  25. void UpdateCursorPos(int nX, int nY); //鼠标的位置更新了
  26. void OnWndClosed(void* pWnd);
  27. private:
  28. void Update(int nX, int nY);
  29. private:
  30. int m_nImgWidth;         //图形水平长度
  31. int m_nImgHeight;         //图形垂直高度
  32. int m_nLeft;         //窗口左上角横坐标
  33. int m_nTop;         //窗口左上角纵坐标
  34. int m_nWndWidth;         //动态的窗口水平宽
  35. int m_nWndHeight;         //动态的窗口垂直宽
  36. int m_nIndent;         //文字缩进(与边框的水平相隔距离)
  37. int m_nFontSize;         //文字字体(大小)
  38. int     m_nApplyX;              //外部提交的浮动窗口的X坐标
  39. int     m_nApplyY;              //外部提交的浮动窗口的Y坐标
  40. int     m_nTitleLineNum;        //标题(名字)部分的行数
  41. int     m_nPropLineNum;         //属性部分的行数
  42. int     m_nDescLineNum;         //描述部分的行数
  43. int     m_nMaxLineLen;          //三部分一起算最长的行的长度
  44. unsigned int m_uTitleBgColor;   //标题(名字)背景颜色
  45. unsigned int m_uTitleColor;     //标题(名字)文字颜色
  46. unsigned int m_uPropBgColor;    //属性背景颜色
  47. unsigned int m_uPropColor;      //属性文字颜色
  48. unsigned int m_uDescBgColor;    //描述部分背景颜色
  49. unsigned int m_uDescColor;      //描述部分文字颜色
  50. KRUImagePart m_Image;         //边框图形
  51. void* m_pMouseHoverWnd; //鼠标停留的窗口
  52. int m_nObj;
  53. char    m_ObjTitle[GOD_MAX_OBJ_TITLE_LEN];
  54. char    m_ObjProp[GOD_MAX_OBJ_PROP_LEN];
  55. char m_ObjDesc[GOD_MAX_OBJ_DESC_LEN];
  56. int m_nTitleLen;
  57. int m_nPropLen;
  58. int m_nDescLen;
  59. bool m_bHeadTailImg; //是否显示提头与结尾边框图
  60. bool m_bFollowCursor; //是否跟踪鼠标指针的位置,一起移动,(同时没有横宽最短限制)
  61. BOOL m_bShow;
  62. };
  63. extern KMouseOver g_MouseOver;
  64. void SetHoverObjDescColor(unsigned int uColor);
  65. void SetMouseHoverObjectDesc(void* pWnd, int nObj, unsigned int uGenre,
  66. unsigned int uId, int nContainer, int x, int y);
  67. //绘制被拖动游戏对象的函数
  68. int DrawDraggingGameObjFunc(int x, int y, const KUiDraggedObject& Obj, int nDropQueryResult);