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

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 窗口消息
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-7-9
  6. ------------------------------------------------------------------------------------------
  7. *****************************************************************************************/
  8. #pragma once
  9. #define WND_GAMESPACE 0xFFFFFFFF
  10. #ifndef WM_MOUSEHOVER
  11. #define WM_MOUSEHOVER 0x02A1
  12. #endif
  13. #define WND_M_BASE 0x500 //WM_USER + 0x100
  14. //------------------------------------------------
  15. // 窗口一般消息
  16. #define WND_M_OTHER_WORK_RESULT WND_M_BASE + 1 //界面操作结果返回
  17. //uParam = 操作需求界面执行定义的操作参数,比如需求界面用此参数来区分自己可以发出的多个需求
  18. //nParam = 取值为WND_OPER_RESULT_0或者WND_OPER_RESULT(n), n指代任意一个整数值,其含义依据具体的界面应用自己确认
  19. #define WND_M_MENUITEM_SELECTED WND_M_BASE + 2
  20. #define WND_M_MENUITEMRIGHT_SELECTED WND_M_BASE + 3
  21. //(KWndWindow*)uParam = 调用菜单的的窗口
  22. // (short)(nParam & 0xffff) = 所选的菜单项的索引,如果选择取消则为-1
  23. // (short)((nParam >> 16) & 0xffff) = 操作需求界面执行定义的操作参数,比如需求界面用此参数来区分自己可以发出的多个需求
  24. /*
  25. #define WND_M_CREATE WND_M_BASE + 1
  26. #define WND_M_DESTROY WND_M_BASE + 2
  27. #define WND_M_CLOSE WND_M_BASE + 3*/
  28. #define WND_M_MOUSE_ENTER WND_M_BASE + 6 //鼠标指针进入窗口范围
  29. #define WND_M_MOUSE_LEAVE WND_M_BASE + 7 //鼠标指针离开窗口范围
  30. #define WND_N_MOUSE_ENTER_CHILD WND_M_BASE + 8 //鼠标指针进入某子窗口范围
  31. //(KWndWindow*)uParam = 鼠标指针进入的子窗口的指针
  32. #define WND_N_MOUSE_LEAVE_CHILD WND_M_BASE + 9 //鼠标指针离开某子窗口范围
  33. //(KWndWindow*)uParam = 鼠标指针离开的子窗口的指针
  34. #define WND_M_SET_FOCUS WND_M_BASE + 10 //设置输入焦点
  35. //(KWndWindow*)uParam = 原来拥有输入焦点的窗口的指针
  36. #define WND_M_KILL_FOCUS WND_M_BASE + 11 //失去输入焦点
  37. //(KWndWindow*)uParam = 将要拥有输入焦点的窗口的指针
  38. #define WND_M_CAPTURECHANGED WND_M_BASE + 12 //失去对鼠标指针消息跟踪
  39. #define WND_M_HOTKEY WND_M_BASE + 13 //热键
  40. //uParam = 热键ID
  41. #define WND_M_POPUPMENU WND_M_BASE + 14 //右键菜单弹出
  42. //(KWndWindow*)uParam = 被右键点击的子窗口的指针
  43. // (short)(nParam & 0xffff) = x屏幕坐标
  44. // (short)((nParam >> 16) & 0xffff) = y屏幕坐标
  45. #define WND_N_ITEM_PICKDROP WND_M_BASE + 17 //捡起/放下物品
  46. //(ITEM_PICKDROP_PLACE*)uParam = 欲捡起物品的所在位置,如无物品要被捡起,则uParam = 0
  47. //(ITEM_PICKDROP_PLACE*)nParam = 欲放下物品的放下位置,如无东西要被放下,则nParam = 0
  48. #define WND_N_LEFT_CLICK_ITEM WND_M_BASE + 18 //左键点按物品对象
  49. //(const KUiDraggedObject*)uParam = 被点按的物品的信息
  50. //(KWndWindow*)nParam = 物品所在的窗口的指针
  51. #define WND_N_RIGHT_CLICK_ITEM WND_M_BASE + 19 //右键点按物品对象
  52. //参数含义同WND_N_LEFT_CLICK_ITEM
  53. #define WND_N_CHILD_MOVE WND_M_BASE + 20 //子窗口被拖动了
  54. //(KWndWindow*)uParam = 被拖动了的子窗口的指针
  55. //当nParam != 0 时
  56. // (short)(nParam & 0xffff) = 横向移动的距离
  57. // (short)((nParam >> 16) & 0xffff) = 纵向移动的距离
  58. //当nParam == 0 时,表示窗口的拖动操作结束了
  59. //------------------------------------------------
  60. // 按键消息
  61. #define WND_M_BUTTON_BASE WND_M_BASE + 100
  62. #define WND_N_BUTTON_CLICK WND_M_BUTTON_BASE + 1 //点击按钮操作
  63. //(KWndWindow*)uParam = 被点击的按钮窗口的指针
  64. //nParam = 对于CheckBox类型的按钮,此参数表示按钮被后是否处于按下状态
  65. #define WND_N_BUTTON_DOWN WND_M_BUTTON_BASE + 2 //按钮被按下操作
  66. //(KWndWindow*)uParam = 被点击的按钮窗口的指针
  67. #define WND_N_BUTTON_MR_DOWN WND_M_BUTTON_BASE + 3 //鼠标右按键按下
  68. //(KWndWindow*)uParam = 被点击的按钮窗口的指针
  69. #define WND_N_BUTTON_HOLD WND_M_BUTTON_BASE + 4 //按钮被持续按住不放
  70. //(KWndWindow*)uParam = 被按住的按钮窗口的指针
  71. #define WND_N_BUTTON_OVER WND_M_BUTTON_BASE + 5 //鼠标移到按钮上
  72. //(KWndWindow*)uParam = 按钮窗口的指针
  73. #define WND_N_BUTTON_DB_CLICK WND_M_BUTTON_BASE + 6 //双击按钮操作
  74. //(KWndWindow*)uParam = 被点击的按钮窗口的指针
  75. //对于CheckBox类型的按钮不会生成此消息
  76. //------------------------------------------------
  77. // Scroll Bar消息
  78. #define WND_M_SCORLLBAR_BASE WND_M_BASE + 200
  79. #define WND_N_SCORLLBAR_POS_CHANGED WND_M_SCORLLBAR_BASE + 1//滚动条滑块位置发生变化
  80. //(KWndWindow*)uParam = 被点击的滚动条窗口的指针
  81. //nParam = 滚动条滑块位置关联的数值
  82. //------------------------------------------------
  83. // 文本编辑框消息
  84. #define WND_M_EDIT_BASE WND_M_BASE + 300
  85. #define WND_N_EDIT_CHANGE WND_M_EDIT_BASE + 1 //文本编辑窗口内的内容发生了变化
  86. //(KWndWindow*)uParam = 文本编辑框窗口的指针
  87. #define WND_N_EDIT_SPECIAL_KEY_DOWN WND_M_EDIT_BASE + 2 //文本编辑窗口获得特定的按键操作
  88. //(KWndWindow*)uParam = 文本编辑框窗口的指针
  89. //nParam = 按键的visual key code
  90. //特定按键包括 回车键、Esc键、制表符tab键、向上键头键、向下键头键、前翻页键,后翻页键
  91. //------------------------------------------------
  92. // 列表框窗口消息
  93. #define WND_M_LIST_BASE WND_M_BASE + 400
  94. #define WND_N_LIST_ITEM_SEL WND_M_LIST_BASE + 1 //列表框选中项发生变换
  95. //(KWndWindow*)uParam = 列表框窗口的指针
  96. //nParam = 新选择的项的索引
  97. #define WND_N_LIST_ITEM_ACTIVE WND_M_LIST_BASE + 2 //列表框选中项被激活(点左键或按enter)
  98. //参数含义同WND_N_LIST_ITEM_SEL
  99. #define WND_N_LIST_ITEM_D_CLICK WND_M_LIST_BASE + 3
  100. //(KWndWindow*)uParam = 列表框窗口的指针
  101. //nParam = 双击的项的索引
  102. #define WND_N_LIST_ITEM_R_CLICK WND_M_LIST_BASE + 4
  103. //(KWndWindow*)uParam = 列表框窗口的指针
  104. //nParam = 右键点击的项的索引
  105. #define WND_N_LIST_ITEM_HIGHLIGHT WND_M_LIST_BASE + 5 //列表框选鼠标指针指向的项发生变换
  106. //(KWndWindow*)uParam = 列表框窗口的指针
  107. //nParam = 列表框选鼠标指针指向的项的索引
  108. //====界面操作结果返回值定义====
  109. #define WND_OPER_RESULT_0 0 //界面操作返回的结果0
  110. #define WND_OPER_RESULT(n) (n) //界面操作返回的结果
  111. // flying add the macro so that my compile work can continue.
  112. // in m$ header file, there's this condition: 
  113. // #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
  114. #if !defined WM_MOUSEWHEEL
  115. #define WM_MOUSEWHEEL                   0x020A
  116. #endif
  117. #if !defined WHEEL_DELTA
  118. #define WHEEL_DELTA                     120
  119. #endif
  120. //=========================
  121. // 描述被拖动对象的结构
  122. //=========================
  123. struct KUiDraggedObject
  124. {
  125. unsigned int uGenre;
  126. unsigned int uId;
  127. int DataX;
  128. int DataY;
  129. int DataW;
  130. int DataH;
  131. };
  132. //=========================
  133. // 描述对象位置的结构
  134. //=========================
  135. struct ITEM_PICKDROP_PLACE
  136. {
  137. class KWndWindow* pWnd;
  138. int h;
  139. int v;
  140. };