YYXMSG.H
上传用户:wtrl82617
上传日期:2007-01-07
资源大小:187k
文件大小:2k
源码类别:

界面编程

开发平台:

DOS

  1. #ifndef __YYXMSG_H
  2. #define __YYXMSG_H
  3. #include <stdlib.h>
  4. #include "yyxsys.h"
  5. #define MAXMSGNUM 100
  6. #define MSGFULLNUM 20
  7. #define TimerMSG 0x0001
  8. #define SlowTimerMSG 0x0004
  9. #define SysQuitMSG 0x0002
  10. #define KeyPressedMSG 0x0003
  11. #define CtrlBreakMSG  0x0005
  12. #define MouseLButtonDownMSG 0x0006
  13. #define MenuActionMSG  0x0101
  14. #define WinOpenedMSG   0x0201
  15. #define WinSysCloseMSG  0x0202
  16. #define WinSysClosedMSG  0x0204
  17. #define WinMovedSizedMSG 0x0203
  18. #define WinSelectedMSG   0x0205
  19. #define WinMovingSizingMSG 0x0206
  20. #define WinRedrawboundsMSG  0x0207
  21. #define DlgOkedMSG 0x0301
  22. #define DlgCanceledMSG 0x0302
  23. #define ButtonPushedMSG  0x0401
  24. #define CheckBoxValueChangedMSG 0x0402
  25. #define ListBoxValueChangedMSG  0x0403
  26. #define ScrollValueChangedMSG 0x0404
  27. #define ListBoxItemSelectedMSG 0x0405
  28. #define EditInputedMSG  0x0406
  29. #define GroupValueChangedMSG 0x0407
  30. typedef struct tagMSG {
  31. long int ID;
  32. long int Action;
  33. void *fptr;
  34. } MSG;
  35. class MSGQueue {
  36. friend application_class;
  37. public:
  38. MSG  msg_array[MAXMSGNUM+1];
  39. private:
  40. int oldfirst; // Last Inserted MSG
  41. int first; //Not NULL    for in
  42. int last; //NULL        for out
  43. // functions
  44. public:
  45. MSGQueue();
  46. ~MSGQueue();
  47. void SendMessage(long int ID,long int Action,void *ptr);
  48. BOOL PeekMessage(MSG& message);
  49. BOOL GetMessage (MSG& message);
  50.     BOOL QueueFull ();
  51. void Reset(void);
  52. };
  53. #ifdef __YYXMAIN
  54. MSG  sysmsg;
  55. class MSGQueue thequeue;
  56. #else
  57. extern MSG sysmsg;
  58. extern class MSGQueue thequeue;
  59. #endif
  60. #endif