home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 August / PCWorld_2000-08_cd.bin / Software / TemaCD / xbasic / xbpro.exe / xb / aeasy.x < prev    next >
Text File  |  1999-05-07  |  5KB  |  134 lines

  1. '
  2. '
  3. ' ####################
  4. ' #####  PROLOG  #####
  5. ' ####################
  6. '
  7. PROGRAM    "aeasy"
  8. VERSION    "0.0002"
  9. '
  10. IMPORT    "xgr"
  11. IMPORT    "xui"
  12. '
  13. DECLARE  FUNCTION  EasyGui ()
  14. '
  15. '
  16. ' ########################
  17. ' #####  EasyGui ()  #####
  18. ' ########################
  19. '
  20. FUNCTION  EasyGui ()
  21.     $SwitchWindow = 1
  22.     $EasyGuiWindow = 2
  23.     $NanoWayWindow = 3
  24. '
  25. ' create and configure the $SwitchWindow
  26. '
  27.     XuiCreateWindow      (@grid, @"XuiPushButton", 100, 300, 200, 100, 0, "")
  28.     XuiSendStringMessage ( grid, @"SetCallback", grid, &XuiQueueCallbacks(), -1, -1, $SwitchWindow, -1)
  29.     XuiSendStringMessage ( grid, @"SetColor", $$BrightGreen, $$Yellow, -1, -1, 0, 0)
  30.     XuiSendStringMessage ( grid, @"SetTextString", 0, 0, 0, 0, 0, @"Press Here\nTo Switch Windows")
  31.     XuiSendStringMessage ( grid, @"SetFont", 320, 600, 400, 0, 0, @"Serif")
  32.     XuiSendStringMessage ( grid, @"DisplayWindow", 0, 0, 0, 0, 0, 0)
  33.     switch = grid
  34. '
  35. ' create and configure the $EasyGuiWindow
  36. '
  37.     XuiCreateWindow      (@grid, @"XuiCheckBox", 308, 300, 200, 100, 0, "")
  38.     XuiSendStringMessage ( grid, @"SetCallback", grid, &XuiQueueCallbacks(), -1, -1, $EasyGuiWindow, -1)
  39.     XuiSendStringMessage ( grid, @"SetColor", $$BrightCyan, $$Yellow, -1, -1, 0, 0)
  40.     XuiSendStringMessage ( grid, @"SetTextString", 0, 0, 0, 0, 0, @"EasyGui Is\n!!!  So Damn Easy  !!!")
  41.     XuiSendStringMessage ( grid, @"SetFont", 320, 600, 400, 0, 0, @"Serif")
  42.     XuiSendStringMessage ( grid, @"SetValue", -1, 0, 0, 0, 0, 0)
  43.     XuiSendStringMessage ( grid, @"DisplayWindow", 0, 0, 0, 0, 0, 0)
  44.     easy = grid
  45. '
  46. ' create and configure the $NanoWayWindow
  47. '
  48.     XuiCreateWindow      (@grid, @"XuiDialog3B", 100, 427, 408, 200, 0, "")
  49.     XuiSendStringMessage ( grid, @"SetCallback", grid, &XuiQueueCallbacks(), -1, -1, $NanoWayWindow, -1)
  50.     XuiSendStringMessage ( grid, @"SetColor", $$LightBlue, $$Yellow, -1, -1, 1, 0)
  51.     XuiSendStringMessage ( grid, @"SetColorExtra", -1, -1, $$Black, $$Yellow, 1, 0)
  52.     XuiSendStringMessage ( grid, @"SetColor", $$BrightGreen, -1, -1, -1, 3, 0)
  53.     XuiSendStringMessage ( grid, @"SetColor", $$BrightCyan, -1, -1, -1, 4, 0)
  54.     XuiSendStringMessage ( grid, @"SetColor", $$BrightMagenta, -1, -1, -1, 5, 0)
  55.     XuiSendStringMessage ( grid, @"SetFocusColor", $$BrightGreen, -1, -1, -1, 3, 0)
  56.     XuiSendStringMessage ( grid, @"SetFocusColor", $$BrightCyan, -1, -1, -1, 4, 0)
  57.     XuiSendStringMessage ( grid, @"SetFocusColor", $$BrightMagenta, -1, -1, -1, 5, 0)
  58.     XuiSendStringMessage ( grid, @"SetFont", 480, 600, 400, 0, 1, @"Serif")
  59.     XuiSendStringMessage ( grid, @"SetTextString", 0, 0, 0, 0, 1, @"Easy Gui\nFrom NanoWay")
  60.     XuiSendStringMessage ( grid, @"SetTextString", 0, 0, 0, 0, 2, @"Demo By Steve Fraud")
  61.     XuiSendStringMessage ( grid, @"SetTextString", 0, 0, 0, 0, 5, @"Quit")
  62.     XuiSendStringMessage ( grid, @"SetTexture", $$TextureShadow, -1, -1, -1, 1, 0)
  63.     nanoway = grid
  64.     visible = easy
  65. '
  66. ' 1: Wait for one message in XgrProcessMessages(1) then process it.
  67. ' 2: Call XuiGetNextCallback() to check for a pending callback message.
  68. ' 3: If a callback message is ready and returned by XuiGetNextCallback(),
  69. '    then go to a subroutine designed to handle callbacks from the
  70. '    window that caused the callback.
  71. ' 4: When the callback is processed, loop to continue processing
  72. '
  73. ' To put this loop in a function that a running program can call
  74. ' periodically to process user actions, just change the argument
  75. ' to XgrProcessMessages() to -2 and change the last line to
  76. ' "LOOP WHILE ready".
  77. '
  78.     DO
  79.         XgrProcessMessages (1)
  80.         grid = 0 : message = 0 : v0 = 0 : v1 = 0 : v2 = 0 : v3 = 0 : rr0 = 0 : r1$ = ""
  81.         ready = XuiGetNextCallback (@grid, @message$, @v0, @v1, @v2, @v3, @rr0, @r1$)
  82.         r0 = rr0 AND 0xFFFF
  83.         wintag = rr0 >> 16
  84.         IF ready THEN
  85.             SELECT CASE wintag
  86.                 CASE $SwitchWindow        : GOSUB SwitchWindow
  87.                 CASE $EasyGuiWindow        : GOSUB EasyGuiWindow
  88.                 CASE $NanoWayWindow        : GOSUB NanoWayWindow
  89.                 CASE ELSE                            : PRINT "You're pulling my leg, right?"
  90.             END SELECT
  91.         END IF
  92.     LOOP
  93. '
  94. '
  95. ' *****  SwitchWindow  *****
  96. '
  97. SUB SwitchWindow
  98.     SELECT CASE visible
  99.         CASE easy            : XuiSendStringMessage (easy, @"HideWindow", 0, 0, 0, 0, 0, 0)
  100.                                         XuiSendStringMessage (nanoway, @"DisplayWindow", 0, 0, 0, 0, 0, 0)
  101.                                         visible = nanoway
  102.         CASE nanoway    : XuiSendStringMessage (nanoway, @"HideWindow", 0, 0, 0, 0, 0, 0)
  103.                                         XuiSendStringMessage (easy, @"DisplayWindow", 0, 0, 0, 0, 0, 0)
  104.                                         visible = easy
  105.         CASE ELSE            : PRINT "Programmer Is BrainDamaged"
  106.     END SELECT
  107. END SUB
  108. '
  109. '
  110. ' *****  EasyGuiWindow  *****
  111. '
  112. SUB EasyGuiWindow
  113.     XuiSendStringMessage (grid, @"GetValue", @value, 0, 0, 0, r0, 0)
  114.     IF value THEN
  115.         string$ = "EasyGui\xAE Is\n!!!  So Damn Easy  !!!"
  116.     ELSE
  117.         string$ = "EasyGui\x99 Is\n!!!  So Damn Easy  !!!\n\xAB\xAB\xAB  NOT  \xBB\xBB\xBB"
  118.     END IF
  119.     XuiSendStringMessage (grid, @"SetTextString", 0, 0, 0, 0, r0, @string$)
  120.     XuiSendStringMessage (grid, @"Redraw", 0, 0, 0, 0, 0, 0)
  121. END SUB
  122. '
  123. '
  124. ' *****  NanoWayWindow  *****
  125. '
  126. SUB NanoWayWindow
  127.     XuiSendStringMessage (grid, "GetTextString", 0, 0, 0, 0, r0, @string$)
  128.     XuiSendStringMessage (grid, "GetTextString", 0, 0, 0, 0, 2, @text$)
  129.     PRINT "$NanoWayWindow : "; LJUST$(r1$,8); " : "; RJUST$(message$,12); " : "; CJUST$(string$,21); " : "; text$
  130.     IF (r0 = 5) THEN QUIT (0)
  131. END SUB
  132. END FUNCTION
  133. END PROGRAM
  134.