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

界面编程

开发平台:

DOS

  1. #ifndef __APPLICAT_H
  2. #define __APPLICAT_H
  3. #include "yyxsys.h"
  4. #include "yyxmenu.h"
  5. #include "yyxwin.h"
  6. #include "sysmenu.h"
  7. #include "dialog.h"
  8. #include "dos.h"
  9. #define  SYS_STATUS 1   //in show status 's augument as kind
  10. #define  STATUS 2
  11. #define  HELP_STATUS 3
  12. #define SYS_RESTOREID  1000
  13. #define SYS_MOVEID      1001
  14. #define SYS_SIZEID 1002
  15. #define SYS_MINIMIZEID  1003
  16. #define SYS_MAXIMIZEID  1004
  17. #define SYS_CLOSEID 1005
  18. #define WIN_SYS_RESTOREID  2000
  19. #define WIN_SYS_MOVEID      2001
  20. #define WIN_SYS_SIZEID 2002
  21. #define WIN_SYS_MINIMIZEID  2003
  22. #define WIN_SYS_MAXIMIZEID  2004
  23. #define WIN_SYS_CLOSEID 2005
  24. #define DOSSHELL 3000
  25. #define QUIT  10
  26. #define TIMER_VECTOR 0x08
  27. #define KEY_VECTOR   0x09
  28. ////#define MOUSE_VECTOR 0x0b  //COM2, setup by mouse driver after int33h,0
  29. ////#define MOUSE_VECTOR 0x0c  //COM1, setup by mouse driver after int33h,0
  30. #define DOS_ERROR_VECTOR 0x24
  31. class application_class {
  32. friend void error (char *error_message );
  33. public:
  34. int menu_num; //Added in 1993.10.6
  35. int status;
  36. Tmenu *start_menu;
  37. // int RE_START ;
  38. Tmenu **my_menu;
  39. char *title;
  40. Rect  sys_status_rect;
  41. Rect status_rect;
  42. long  sys_mem;
  43. char sys_status_string[40];
  44. public:
  45. application_class(int menu_num,char *title);
  46.   virtual ~application_class();
  47.   void run();
  48. void DosShell();
  49. int _screen2Disk ( const char * swpfile );
  50. int _disk2Screen ( const char * swpfile );
  51.   virtual void get_my_menu();
  52.   virtual BOOL echo_to_menu (long);
  53.   virtual int  first_class_msg_handler (MSG& message);
  54.   //MUST BE HANDLED FIRST
  55.   virtual int  second_class_msg_handler (MSG& message);
  56.   //MAY BE HANDLED AFTER OTHERS HAVE HANDLED
  57.   virtual   void  anything_in_the_loop();
  58.   int  exec_dialog (Tdialog *pdialog_handled );
  59.   void  show_status(int kind);
  60. public:
  61. void    init_screen();
  62. static void  interrupt (*old_timer)(...);
  63. static void interrupt  timer(...);
  64. protected:
  65. void  init();
  66. void  draw_application_win();
  67.   virtual  int   key_pressed_handler (int key_scan_num);
  68.   virtual  int   main_message_loop();
  69.   virtual  void  init_msg();
  70.   virtual void init_menu();
  71.   virtual void init_win();
  72.   virtual void init_ctrl();
  73. //////////////interrupt interrupt interrupt interrupt///////////////////
  74. static BOOL timer_active; //=FALSE;
  75. static int     time_counter;
  76. static int slow_time_counter;
  77. static void interrupt (*old_mouse)(...);
  78. static void interrupt  mouse(...);
  79. static BOOL mouse_active; //=FALSE;
  80. static void  interrupt (*old_key  )(...);
  81. static void interrupt  key  (...);
  82. static BOOL kb_active; //=FALSE;
  83. static void  interrupt (*old_dos_error  )(...);
  84. static void interrupt  dos_error  (...);
  85. static BOOL dos_error_active; //=FALSE;
  86. static int TIMER_COUNT;   //=10;
  87. static int SLOW_TIMER_COUNT; //=20;
  88. };
  89. #define SYS_RESTOREID  1000
  90. #define SYS_MOVEID      1001
  91. #define SYS_SIZEID 1002
  92. #define SYS_MINIMIZEID  1003
  93. #define SYS_MAXIMIZEID  1004
  94. #define SYS_CLOSEID 1005
  95. #define WIN_SYS_RESTOREID  2000
  96. #define WIN_SYS_MOVEID      2001
  97. #define WIN_SYS_SIZEID 2002
  98. #define WIN_SYS_MINIMIZEID  2003
  99. #define WIN_SYS_MAXIMIZEID  2004
  100. #define WIN_SYS_CLOSEID 2005
  101. #ifdef __YYXMAIN
  102. // BOOL timer_active=FALSE;
  103. // int     time_counter;
  104. // int slow_time_counter;
  105. // void  interrupt (*old_timer)(...);
  106. // void interrupt  timer(...);
  107. // void interrupt (*old_mouse)(...);
  108. // void interrupt  mouse(...);
  109. // void  interrupt (*old_key  )(...);
  110. // void interrupt  key  (...);
  111. // int     key_code;
  112. // BOOL kb_active =FALSE;
  113. // int TIMER_COUNT=10;
  114. // int SLOW_TIMER_COUNT=20;
  115. int     key_code;
  116. struct viewporttype current_viewport;
  117. char status_string[40];
  118. char    main_help_text[40]="WELCOME ANY USERS";
  119. int  diskerrorno=0;
  120. int   timer_click=0;  // used in timermsg of applicat
  121. int  slow_timer_click =0; // used in timermsg of applicat
  122. int MOUSE_VECTOR =0x0b;
  123. #else
  124. //extern  BOOL timer_active;
  125. //extern int     time_counter;
  126. //extern int slow_time_counter;
  127. //extern void  interrupt (*old_timer)(...);
  128. //extern void interrupt  timer(...);
  129. //extern void interrupt (*old_mouse)(...);
  130. //extern void interrupt  mouse(...);
  131. //extern  int     key_code;
  132. //extern  BOOL kb_active;
  133. //extern void interrupt (*old_key  )(...);
  134. //extern  void interrupt  key  (...);
  135. //extern int TIMER_COUNT;
  136. //extern int SLOW_TIMER_COUNT;
  137. extern  int     key_code;
  138. extern  struct viewporttype current_viewport;
  139. extern char status_string[40];
  140. extern  char    main_help_text[40];
  141. extern int  diskerrorno;
  142. extern int   timer_click;  // used in timermsg of applicat
  143. extern int  slow_timer_click ; // used in timermsg of applicat
  144. extern  int MOUSE_VECTOR ;
  145. #endif
  146. #endif