home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a024 / 1.ddi / INCLUDE.H_ / WINBASE.INC < prev   
Encoding:
Text File  |  1994-02-17  |  11.9 KB  |  366 lines

  1. *
  2. * WinBase╚½╛╓▒Σ┴┐╦╡├≈
  3. *
  4.  
  5. memvar my__name,prt__path,GetList,mousekey,tmp__path,cw__hot,cw__trace
  6. memvar olderr,m_exist,pre_brow,err_proc,cw__dialog,cw__win0,cw__win1
  7. memvar cw__window,cw__menu,cw__place,cw__bar,cw__mbar,cw__err,cw__zero
  8. memvar cw__row1,cw__col1,cw__row2,cw__col2,cw__type,cw__title,cw__color
  9. memvar cw__curwin,cw__last,cw__attr,cw__currow,global_c,cw__mvbar,cw__dec
  10. memvar cw__mlen,cw__mcur,cw__pull,xglobal,ret_fld,esc_flag
  11. memvar menu_key,cw__do,menu_do,cur__on,cur__off,LINES
  12. memvar cm__bc,cm__fc,cm__bbc,cm__bfc,cm__gbc,cm__gfc
  13. memvar cp__bc,cp__fc,cp__bbc,cp__bfc,cp__gbc,cp__gfc
  14.  
  15. #ifndef NTRIM
  16.     #define NTRIM(n)        ( LTrim(Str(n)) )
  17. #endif
  18. *
  19. *╨╨ ┴╨╫°▒Ω╙δ╧≤╦╪╫°▒Ω╫¬╗╗╡─║Ω╢¿╥σ
  20. *
  21.  
  22. #define ROWTOY(row) (row*LINES)        //╨╨╫°▒Ω(row)╫¬╗╗╬¬╧≤╦╪╫°▒Ω(y)
  23. #define COLTOX(col) (col*8)            //┴╨╫°▒Ω(col)╫¬╗╗╬¬╧≤╦╪╫°▒Ω(x)
  24. #define YTOROW(y) int(y/LINES)        //╧≤╦╪╫°▒Ω(y)╫¬╗╗╬¬╨╨╫°▒Ω(row)
  25. #define XTOCOL(x) int(x/8)            //╧≤╦╪╫°▒Ω(x)╫¬╗╗╬¬┴╨╫°▒Ω(col)
  26.  
  27. *
  28. * ╙├╙┌╔Φ╓├▓╦╡Ñ╩⌠╨╘
  29. *
  30.  
  31. #define MU_NORMAL    1
  32. #define MU_REMAIN    2
  33. #define MU_GRAY        3
  34.  
  35. *
  36. * ╙├╙┌AComp()║»╩²╡─▒╚╜╧┤·┬δ┐Θ
  37. *
  38.  
  39. #define AC_MAX     {|x,y| x > y }              // ╟≤╫ε┤≤╓╡
  40. #define AC_MIN     {|x,y| x < y }              // ╟≤╫ε╨í╓╡
  41. #define AC_MAXLEN {|x,y| LEN( x ) > LEN( y ) } // ╟≤╫ε┤≤│ñ╢╚
  42. #define AC_MINLEN {|x,y| LEN( x ) < LEN( y ) } // ╟≤╫ε╨í│ñ╢╚
  43.  
  44. *
  45. * ╙├╙┌ Mousekey ║»╩²╡─░┤╝ⁿ
  46. *
  47.  
  48. #define K_UP            5       // Uparrow, Ctrl-E
  49. #define K_DOWN          24      // Dnarrow, Ctrl-X
  50. #define K_LEFT          19      // Leftarrow, Ctrl-S
  51. #define K_RIGHT         4       // Rightarrow, Ctrl-D
  52. #define K_HOME          1       // Home, Ctrl-A
  53. #define K_END           6       // End, Ctrl-F
  54. #define K_PGUP          18      // PgUp, Ctrl-R
  55. #define K_PGDN          3       // PgDn, Ctrl-C
  56. #define K_CTRL_LEFT     26      // Ctrl-Leftarrow, Ctrl-Z
  57. #define K_CTRL_RIGHT    2       // Ctrl-Rightarrow, Ctrl-B
  58. #define K_CTRL_HOME     29      // Ctrl-Home, Ctrl-]
  59. #define K_CTRL_END      23      // Ctrl-End, Ctrl-W
  60. #define K_CTRL_PGUP     31      // Ctrl-PgUp, Ctrl-Hyphen
  61. #define K_CTRL_PGDN     30      // Ctrl-PgDn, Ctrl-^
  62. #define K_CTRL_RET      10      // Ctrl-Return
  63. #define K_CTRL_UP       397     // Ctrl-Uparrow
  64. #define K_CTRL_DOWN     401     // Ctrl-Downarrow
  65.  
  66. #define K_ESC           27      // Esc, Ctrl-[
  67. #define K_RETURN        13      // Return, Ctrl-M
  68. #define K_ENTER         13      // Enter, Ctrl-M
  69.  
  70. #define K_INS           22      // Ins, Ctrl-V
  71. #define K_DEL           7       // Del, Ctrl-G
  72. #define K_BS            8       // Backspace, Ctrl-H
  73. #define K_CTRL_BS       127     // Ctrl-Backspace
  74. #define K_TAB           9       // Tab, Ctrl-I
  75. #define K_SH_TAB        271     // Shift-Tab
  76. #define K_CTRL_NUM5        399
  77. #define K_CTRL_DEL        403        // Ctrl-Del
  78. #define K_CTRL_INS        402        // Ctrl-Ins
  79. #define K_ALT_LEFT        411
  80. #define K_ALT_RIGHT        413
  81. #define K_ALT_UP        408
  82. #define K_ALT_DOWN        416
  83. #define K_ALT_INS        418
  84. #define K_ALT_DEL        419
  85.  
  86. #define K_CTRL_A        1       // Ctrl-A, Home
  87. #define K_CTRL_B        2       // Ctrl-B, Ctrl-Rightarrow
  88. #define K_CTRL_C        3       // Ctrl-C, PgDn, Ctrl-ScrollLock
  89. #define K_CTRL_D        4       // Ctrl-D, Rightarrow
  90. #define K_CTRL_E        5       // Ctrl-E, Uparrow
  91. #define K_CTRL_F        6       // Ctrl-F, End
  92. #define K_CTRL_G        7       // Ctrl-G, Del
  93. #define K_CTRL_H        8       // Ctrl-H, Backspace
  94. #define K_CTRL_I        9       // Ctrl-I, Tab
  95. #define K_CTRL_J        10      // Ctrl-J
  96. #define K_CTRL_K        11      // Ctrl-K
  97. #define K_CTRL_L        12      // Ctrl-L
  98. #define K_CTRL_M        13      // Ctrl-M, Return
  99. #define K_CTRL_N        14      // Ctrl-N
  100. #define K_CTRL_O        15      // Ctrl-O
  101. #define K_CTRL_P        16      // Ctrl-P
  102. #define K_CTRL_Q        17      // Ctrl-Q
  103. #define K_CTRL_R        18      // Ctrl-R, PgUp
  104. #define K_CTRL_S        19      // Ctrl-S, Leftarrow
  105. #define K_CTRL_T        20      // Ctrl-T
  106. #define K_CTRL_U        21      // Ctrl-U
  107. #define K_CTRL_V        22      // Ctrl-V, Ins
  108. #define K_CTRL_W        23      // Ctrl-W, Ctrl-End
  109. #define K_CTRL_X        24      // Ctrl-X, Dnarrow
  110. #define K_CTRL_Y        25      // Ctrl-Y
  111. #define K_CTRL_Z        26      // Ctrl-Z, Ctrl-Leftarrow
  112.  
  113. #define K_ALT_A         286     // Alt-A
  114. #define K_ALT_B         304     // Alt-B
  115. #define K_ALT_C         302     // Alt-C
  116. #define K_ALT_D         288     // Alt-D
  117. #define K_ALT_E         274     // Alt-E
  118. #define K_ALT_F         289     // Alt-F
  119. #define K_ALT_G         290     // Alt-G
  120. #define K_ALT_H         291     // Alt-H
  121. #define K_ALT_I         279     // Alt-I
  122. #define K_ALT_J         292     // Alt-J
  123. #define K_ALT_K         293     // Alt-K
  124. #define K_ALT_L         294     // Alt-L
  125. #define K_ALT_M         306     // Alt-M
  126. #define K_ALT_N         305     // Alt-N
  127. #define K_ALT_O         280     // Alt-O
  128. #define K_ALT_P         281     // Alt-P
  129. #define K_ALT_Q         272     // Alt-Q
  130. #define K_ALT_R         275     // Alt-R
  131. #define K_ALT_S         287     // Alt-S
  132. #define K_ALT_T         276     // Alt-T
  133. #define K_ALT_U         278     // Alt-U
  134. #define K_ALT_V         303     // Alt-V
  135. #define K_ALT_W         273     // Alt-W
  136. #define K_ALT_X         301     // Alt-X
  137. #define K_ALT_Y         277     // Alt-Y
  138. #define K_ALT_Z         300     // Alt-Z
  139. #define K_ALT_1         376     // Alt-1
  140. #define K_ALT_2         377     // Alt-2
  141. #define K_ALT_3         378     // Alt-3
  142. #define K_ALT_4         379     // Alt-4
  143. #define K_ALT_5         380     // Alt-5
  144. #define K_ALT_6         381     // Alt-6
  145. #define K_ALT_7         382     // Alt-7
  146. #define K_ALT_8         383     // Alt-8
  147. #define K_ALT_9         384     // Alt-9
  148. #define K_ALT_0         385     // Alt-0
  149. #define K_ALT_GT        308     // Alt- >
  150. #define K_ALT_LT        307     // Alt- <
  151. #define K_ALT_KU        309     // Alt- /
  152. #define K_ALT_KD        299     // Alt- \
  153. #define K_ALT_KE        387     // Alt- =
  154. #define K_ALT_KM        386     // Alt- -
  155.  
  156. #define K_F1            28      // F1, Ctrl-\
  157. #define K_F2            -1      // F2
  158. #define K_F3            -2      // F3
  159. #define K_F4            -3      // F4
  160. #define K_F5            -4      // F5
  161. #define K_F6            -5      // F6
  162. #define K_F7            -6      // F7
  163. #define K_F8            -7      // F8
  164. #define K_F9            -8      // F9
  165. #define K_F10           -9      // F10
  166. #define K_F11           -40     // F11
  167. #define K_F12           -41     // F12
  168.  
  169. #define K_CTRL_F1       -20     // Ctrl-F1
  170. #define K_CTRL_F2       -21     // Ctrl-F2
  171. #define K_CTRL_F3       -22     // Ctrl-F4
  172. #define K_CTRL_F4       -23     // Ctrl-F3
  173. #define K_CTRL_F5       -24     // Ctrl-F5
  174. #define K_CTRL_F6       -25     // Ctrl-F6
  175. #define K_CTRL_F7       -26     // Ctrl-F7
  176. #define K_CTRL_F8       -27     // Ctrl-F8
  177. #define K_CTRL_F9       -28     // Ctrl-F9
  178. #define K_CTRL_F10      -29     // Ctrl-F10
  179. #define K_CTRL_F11      -44     // Ctrl-F11
  180. #define K_CTRL_F12      -45     // Ctrl-F12
  181.  
  182. #define K_ALT_F1        -30     // Alt-F1
  183. #define K_ALT_F2        -31     // Alt-F2
  184. #define K_ALT_F3        -32     // Alt-F3
  185. #define K_ALT_F4        -33     // Alt-F4
  186. #define K_ALT_F5        -34     // Alt-F5
  187. #define K_ALT_F6        -35     // Alt-F6
  188. #define K_ALT_F7        -36     // Alt-F7
  189. #define K_ALT_F8        -37     // Alt-F8
  190. #define K_ALT_F9        -38     // Alt-F9
  191. #define K_ALT_F10       -39     // Alt-F10
  192. #define K_ALT_F11       -46     // Alt-F11
  193. #define K_ALT_F12       -47     // Alt-F12
  194.  
  195. #define K_SH_F1         -10     // Shift-F1
  196. #define K_SH_F2         -11     // Shift-F2
  197. #define K_SH_F3         -12     // Shift-F3
  198. #define K_SH_F4         -13     // Shift-F4
  199. #define K_SH_F5         -14     // Shift-F5
  200. #define K_SH_F6         -15     // Shift-F6
  201. #define K_SH_F7         -16     // Shift-F7
  202. #define K_SH_F8         -17     // Shift-F8
  203. #define K_SH_F9         -18     // Shift-F9
  204. #define K_SH_F10        -19     // Shift-F10
  205. #define K_SH_F11        -42     // Shift-F11
  206. #define K_SH_F12        -43     // Shift-F12
  207.  
  208. #define K_PACK            800     // Winbrows Function Pack Key
  209. #define K_QUIT            801     // Winbrows Function Quit Key
  210.  
  211. #define K_PR_LEFT        900        //Mouse LEFT botton pressing
  212. #define K_PR_RIGHT        901        //Mouse RIGHT botton pressing
  213. #define K_MS_LEFT        902        //Mouse LEFT botton clicked
  214. #define K_MS_RIGHT        903        //Mouse RIGHT botton clicked
  215. #define K_DB_LEFT        904        //Mouse LEFT botton double clicked
  216. #define K_DB_RIGHT        905        //Mouse RIGHT botton double clicked
  217.  
  218. *
  219. * ╬─▒╛╣Γ▒Ω└α╨═
  220. *
  221.  
  222. #define SC_NONE            0        // ╣╪▒╒
  223. #define SC_NORMAL        1        // ╒²│ú
  224. #define SC_INSERT        2        // ╧┬░δ┐Θ
  225. #define SC_SPECIAL1        3        // ┬·┐Θ
  226. #define SC_SPECIAL2        4        // ╔╧░δ┐Θ
  227.  
  228. *
  229. * ╙├╙┌ Achoice ║»╩²╡─┐╪╓╞╝░╖╡╗╪
  230. *
  231.  
  232. #define AC_IDLE            0        // ┐╒╧╨
  233. #define AC_HITTOP        1        // ╞≤═╝╜½╣Γ▒Ω╥╞╣²╢Ñ╨╨
  234. #define AC_HITBOTTOM    2        // ╞≤═╝╜½╣Γ▒Ω╥╞╣²╡╫╨╨
  235. #define AC_EXCEPT        3        // ╥∞│ú╗≈╝ⁿ
  236. #define AC_NOITEM        4        // ├╗╙╨╧ε▒╗╤í╘±
  237.  
  238. #define AC_ABORT        0        // ╖┼╞·╤í╘±
  239. #define AC_SELECT        1        // ╤í╘±╡▒╟░╧ε,▓ó╖╡╗╪╡▒╟░╧ε╦∙╘┌╬╗╓├
  240. #define AC_CONT            2        // ╝╠╨°╤í╘±
  241. #define AC_GOTO            3        // ╢¿╬╗╡╜╧┬╥╗╕÷═¼╤∙╞≡╩╝╫╓─╕╡─╤í╘±╧ε
  242.  
  243. *
  244. * ╙├╙┌ Dbedit ║»╩²╡─┐╪╓╞╝░╖╡╗╪
  245. *
  246.  
  247. #define DE_IDLE            0        // ┐╒╧╨
  248. #define DE_HITTOP        1        // ╞≤═╝╜½╣Γ▒Ω╥╞╣²╬─╝■╢Ñ
  249. #define DE_HITBOTTOM    2        // ╞≤═╝╜½╣Γ▒Ω╥╞╣²╬─╝■╬▓
  250. #define DE_EMPTY        3        // ╩²╛▌╬─╝■├╗╙╨─┌╚▌
  251. #define DE_EXCEPT        4        // ╥∞│ú╗≈╝ⁿ
  252.  
  253. #define DE_ABORT        0        // ╖┼╞·▒α╝¡
  254. #define DE_CONT            1        // ╝╠╨°▒α╝¡
  255. #define DE_REFRESH        2        // ╦ó╨┬╧╘╩╛
  256.  
  257. *
  258. * ╙├╙┌╫╓╢╬╩²╫Θ╡─├Φ╩÷
  259. *
  260.  
  261. #define DBS_NAME        1        //╫╓╢╬├√
  262. #define DBS_TYPE        2        //╫╓╢╬└α╨═
  263. #define DBS_LEN            3        //╫╓╢╬│ñ╢╚
  264. #define DBS_DEC            4        //╫╓╢╬╨í╩²╬╗
  265.  
  266. #define DBS_ALEN        4        //╫╓╢╬╩²╫Θ│ñ╢╚
  267.  
  268.  
  269. *
  270. * ╙├╙┌╬─╝■╩²╫Θ╡─├Φ╩÷
  271. *
  272.  
  273. #define F_NAME            1        //╬─╝■├√
  274. #define F_SIZE            2        //╬─╝■│ñ╢╚
  275. #define F_DATE            3        //╬─╝■╚╒╞┌
  276. #define F_TIME            4        //╬─╝■╩▒╝Σ
  277. #define F_ATTR            5        //╬─╝■╩⌠╨╘
  278.  
  279. #define F_LEN            5        //╬─╝■╩²╫Θ│ñ╢╚
  280.  
  281.  
  282. *
  283. * ╙├╙┌╬─╝■╢¿╥σ╝░┐╪╓╞
  284. *
  285.  
  286. #define F_ERROR            (-1)    //╬─╝■│÷┤φ╡─╖╡╗╪╓╡
  287.  
  288. // ╬─╝■▓Θ╒╥
  289. #define FS_SET            0        // ┤╙╬─╝■┐¬╩╝
  290. #define FS_RELATIVE        1        // ┤╙╡▒╟░╬─╝■╬╗╓├
  291. #define FS_END            2        // ┤╙╬─╝■╬▓▓┐
  292. // ╬─╝■┤≥┐¬
  293. #define FO_READ            0        // ┤≥┐¬╢┴(╚▒╩í)
  294. #define FO_WRITE        1        // ┤≥┐¬╨┤
  295. #define FO_READWRITE    2        // ┤≥┐¬╢┴╙δ╨┤
  296.  
  297. // ╬─╝■╣▓╧φ┤≥┐¬
  298.  
  299. #define FO_COMPAT        0        // ╧α╚▌╖╜╩╜(╚▒╩í)
  300. #define FO_EXCLUSIVE    16        // ╢└╧φ╖╜╩╜
  301. #define FO_DENYWRITE    32        // ╓╗╢┴╖╜╩╜
  302. #define FO_DENYREAD        48        // ╓╗╨┤╖╜╩╜
  303. #define FO_DENYNONE        64        // ═¼ FO_SHARED
  304. #define FO_SHARED        64        // ╣▓╧φ╖╜╩╜
  305.  
  306.  
  307. // ╬─╝■┤┤╜¿
  308.  
  309. #define FC_NORMAL        0        // ┤┤╜¿╒²│ú╢┴╨┤╬─╝■
  310. #define FC_READONLY        1        // ┤┤╜¿╓╗╢┴╬─╝■
  311. #define FC_HIDDEN        2        // ┤┤╜¿╥■║¼╬─╝■
  312. #define FC_SYSTEM        4        // ┤┤╜¿╧╡═│╬─╝■
  313.  
  314.  
  315. *
  316. * ╙├╙┌ Memoedit ║»╩²╡─┐╪╓╞╝░╖╡╗╪
  317. *
  318.  
  319. #define ME_IDLE            0        // ┐╒╧╨,╒δ╢╘╦∙╙╨░┤╝ⁿ
  320. #define ME_UNKEY        1        // ╬┤╓¬░┤╝ⁿ, ─┌╚▌╬┤╕─▒Σ
  321. #define ME_UNKEYX        2        // ╬┤╓¬░┤╝ⁿ, ─┌╚▌╬┤╕─▒Σ
  322. #define ME_INIT            3        // │⌡╩╝╗»╖╜╩╜
  323.  
  324. #define ME_DEFAULT        0        // ╓┤╨╨╚▒╩í▓┘╫÷
  325. #define ME_IGNORE        32        // ║÷┬╘╬┤╓¬░┤╝ⁿ
  326. #define ME_DATA            33        // ╜½╬┤╓¬░┤╝ⁿ╫≈╬¬╩²╛▌
  327. #define ME_TOGGLEWRAP    34        // ╟╨╗╗┤╩╛φ╣÷┐¬╣╪
  328. #define ME_TOGGLESCROLL    35        // ╟╨╗╗╥│╛φ╣÷┐¬╣╪
  329. #define ME_WORDRIGHT    100        // ╥╞╡╜╧┬╥╗╕÷┤╩
  330. #define ME_BOTTOMRIGHT    101        // ╥╞╡╜╙╥╧┬╜╟
  331.  
  332. //    ╤╒╔½╓╡╢¿╥σ
  333. #define C_BLACK        0        //║┌╔½
  334. #define C_BLUE        1        //└╝╔½
  335. #define C_GREEN        2        //┬╠╔½
  336. #define C_CYAN        3        //╟α╔½
  337. #define C_RED        4        //║∞╔½
  338. #define C_MAGENTA    5        //╫╧║∞╔½
  339. #define C_BROWN        6        //╫╪╔½
  340. #define C_WHITE        7        //░╫╔½
  341. #define C_GRAY        8        //╔ε╗╥╔½
  342. #define C_LBLUE        9        //╟│└╝╔½
  343. #define C_LGREEN    10        //╟│┬╠╔½
  344. #define C_LCYAN        11        //╟│╟α╔½
  345. #define C_LRED        12        //╟│║∞╔½
  346. #define C_LMAGENTA    13        //╟│╫╧║∞
  347. #define C_YELLOW    14        //╗╞╔½
  348. #define C_BWHITE    15        //┴┴░╫╔½
  349.  
  350. //═╝╧±╨┤─ú╩╜
  351. #define C_GPSET        3        //╥╘╓▒╜╙╨┤═╝╧±
  352. #define C_GPRESET    2        //╥╘░┤╬╗╖┤╡─╖╜╩╜╨┤═╝╧±
  353. #define C_GAND        1        //╥╘░┤╬╗╙δ╡─╖╜╩╜╨┤═╝╧±
  354. #define C_GOR        0        //╥╘░┤╬╗╗≥╡─╖╜╩╜╨┤═╝╧±
  355. #define C_GXOR        4        //╥╘░┤╬╗╥∞╗≥╡─╖╜╩╜╨┤═╝╧±
  356.  
  357. //╬─╝■╩⌠╨╘
  358. #define _A_NORMAL    0        //╒²│ú╩⌠╨╘
  359. #define _A_RDONLY    1        //╓╗╢┴
  360. #define _A_HIDDEN    2        //╥■║¼
  361. #define _A_SYSTEM    4        //╧╡═│
  362. #define _A_VOLID    8        //╛φ▒Ω
  363. #define _A_SUBDIR    16        //╫╙─┐┬╝
  364. #define _A_ARCH     32        //┤µ╡╡
  365.  
  366.