home *** CD-ROM | disk | FTP | other *** search
/ stazsoftware.com / www.stazsoftware.com.tar / www.stazsoftware.com / futurebasic / faq.php?v=9.orig < prev    next >
Text File  |  2010-08-22  |  9KB  |  331 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3. <head>
  4. <title>Staz Software</title>
  5. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  6. <style type="text/css">
  7.  
  8. body{
  9. background-color: #365488;
  10. border-top: 20px solid #365488;
  11. margin: 0px;
  12. }
  13.  
  14. a{
  15. color: #00f;
  16. text-decoration: none;
  17. }
  18.  
  19. a:hover{
  20. color: #00f;
  21. text-decoration: underline;
  22. }
  23.  
  24. p{
  25. margin: 0px;
  26. padding-left: 0px;
  27. padding-top: 0px;
  28. padding-right: 0px;
  29. padding-bottom: 10px;
  30. }
  31.  
  32. h1{
  33. font-size: 23px;
  34. padding-left: 2px;
  35. padding-top: 4px;
  36. padding-right: 5px;
  37. padding-bottom: 2px;
  38. margin-left: -2px;
  39. margin-top: 0px;
  40. margin-right: 0px;
  41. margin-bottom: 10px;
  42. background-color: #e7edf6;
  43. }
  44.  
  45. h2{
  46. font-size: 19px;
  47. padding: 0px;
  48. padding: 0px;
  49. margin-left: 0px;
  50. margin-top: 0px;
  51. margin-right: 0px;
  52. margin-bottom: 10px;
  53. }
  54.  
  55. h3{
  56. font-size: 15px;
  57. padding: 0px;
  58. margin-left: 0px;
  59. margin-top: 0px;
  60. margin-right: 0px;
  61. margin-bottom: 10px;
  62. }
  63.  
  64. hr{
  65. background-color: #b7bbc2;
  66. height: 1px;
  67. border: 0px;
  68. margin-top: 0px;
  69. margin-left: 0px;
  70. margin-bottom: 10px;
  71. margin-right: 0px;
  72. padding: 0px;
  73. }
  74.  
  75. span#pre,span.pre{
  76. color: #996633;
  77. font-size: 12px;
  78. font-family: monospace;
  79. }
  80.  
  81. pre{
  82. color: #996633;
  83. font-size: 12px;
  84. font-family: monospace;
  85. padding: 0;
  86. margin-left: 0px;
  87. margin-top: 0px;
  88. margin-right: 0px;
  89. margin-bottom: 10px;
  90. }
  91.  
  92. table.w{
  93. background-image: url('../graphics/site/window/middle.png');
  94. background-repeat: repeat-y;
  95. width: 880px;
  96. margin-left: auto;
  97. margin-right: auto;
  98. }
  99.  
  100. td.w-top{
  101. background-image: url('../graphics/site/window/top.png');
  102. background-repeat: no-repeat;
  103. padding-left: 15px;
  104. padding-right: 15px;
  105. text-align: center;
  106. height: 60px;
  107. min-height: 60px;
  108. font-size: 1px;
  109. line-height: 1px;
  110. }
  111.  
  112. td.w-middle{
  113. padding-top: 0px;
  114. padding-left: 15px;
  115. padding-right: 15px;
  116. vertical-align: top;
  117. }
  118.  
  119. td.w-bottom{
  120. background-image: url('../graphics/site/window/bottom.png');
  121. background-repeat: no-repeat;
  122. height: 25px;
  123. min-height: 25px;
  124. }
  125.  
  126. table.w-content{
  127. float: left;
  128. clear: none;
  129. border: 10px solid #e7edf6;
  130. width: 650px;}
  131.  
  132. td.w-content{
  133. border-left: 1px solid #cfd4dc;
  134. border-top: 1px solid #cfd4dc;
  135. border-right: 1px solid #b7bbc2;
  136. border-bottom: 1px solid #b7bbc2;
  137. padding-left: 20px;
  138. padding-top: 20px;
  139. padding-right: 20px;
  140. padding-bottom: 10px;
  141. background-color: #fff;
  142. vertical-align: top;
  143. min-height: 500px;
  144. }
  145.  
  146. table.w-sidebar{
  147. border-top: 10px solid #e7edf6;
  148. border-right: 10px solid #e7edf6;
  149. border-bottom: 10px solid #e7edf6;
  150. background-color: #e7edf6;
  151. width: 199px;
  152. float: right;
  153. clear: none;
  154. }
  155.  
  156. td.w-sidebar{
  157. border-left: 1px solid #cfd4dc;
  158. border-top: 1px solid #cfd4dc;
  159. border-right: 1px solid #b7bbc2;
  160. border-bottom: 1px solid #b7bbc2;
  161. background-color: #fff;
  162. text-align: center;
  163. padding-left: 10px;
  164. padding-top: 20px;
  165. padding-right: 10px;
  166. padding-bottom: 10px;
  167. }
  168.  
  169. td.w-sidebar img{
  170. border: 0px;
  171. }
  172.  
  173. table.w-tabs{
  174. background-image: url('../graphics/site/tabs/background.png');
  175. background-position: bottom center;
  176. height: 40px;
  177. margin-top: auto;
  178. }
  179.  
  180. td.w-tabs{
  181. text-align: center;
  182. vertical-align: bottom;
  183. }
  184.  
  185. td.w-tabs img{
  186. border: 0px;
  187. }
  188.  
  189. td.w-tabs a{
  190. border: 0px;
  191. }
  192.  
  193. input.text-box{
  194. border-left: 1px solid #b7bbc2;
  195. border-top: 1px solid #b7bbc2;
  196. border-right: 1px solid #cfd4dc;
  197. border-bottom: 1px solid #cfd4dc;
  198. background-color: #fff;
  199. }
  200.  
  201. input.push-button{
  202. border-left: 1px solid #cfd4dc;
  203. border-top: 1px solid #cfd4dc;
  204. border-right: 1px solid #b7bbc2;
  205. border-bottom: 1px solid #b7bbc2;
  206. background-color: #fff;
  207. }
  208. </style>
  209. </head>
  210. <body>
  211. <table class="w" border="0" cellpadding="0" cellspacing="0">
  212. <tr>
  213. <td class="w-top">
  214.  
  215. <img src="../graphics/site/window/title.png" alt="Staz Software">
  216. <table class="w-tabs" border="0" cellpadding="0" cellspacing="0" width="100%">
  217. <tr>
  218. <td class="w-tabs"><a href="../index.php"><img src="../graphics/site/tabs/home.png" alt="Home"></a><a href="../futurebasic/index.php"><img src="../graphics/site/tabs/active-futurebasic.png" alt="FutureBasic"></a><a href="../shareware/index.php"><img src="../graphics/site/tabs/shareware.png" alt="Shareware"></a><a href="../order/index.php"><img src="../graphics/site/tabs/order.png" alt="Order"></a><a href="../contact/index.php"><img src="../graphics/site/tabs/contact.png" alt="Contact"></a></td>
  219. </tr>
  220. </table>
  221. </td>
  222. </tr>
  223.  
  224. <tr>
  225. <td class="w-middle">
  226.  
  227. <table class="w-content" border="0" cellpadding="0" cellspacing="0">
  228. <tr>
  229. <td class="w-content">
  230. <h1>FAQs</h1><h2>Why is my window erased as soon as I draw into it? [OS 9]</h2><p>You should never draw into a window until you have received an update event. Here’s an explanation of how the Mac handles updates and why you should react at the proper time:</p>
  231.  
  232. <p>When a window is built or brought forward, most often all or part of its content must be refreshed. The window manager collects these clobbered areas in a structure called an update region (sometimes called the clobbered region). You can force pieces of a window to be added to this region by calling <span class="pre">FN INVALRECT</span>, and force pieces to be subtracted from the region by calling <span class="pre">CALL VALIDRECT</span>.</p>
  233.  
  234. <p>When nothing else is going on in MacDom, the Window Manager looks around to see what needs to be fixed and sees that it has an update region for your window. It builds a fake event (<span class="pre">_updatEvt</span>) and sends it through the event queue.</p>
  235.  
  236. <p>FutureBASIC sees the update event and calls <span class="pre">BEGINUPDATE</span>. This swaps the visible region with the clobbered region. FB then erases the clobbered area, redraws all controls and fields, then calls your program to do its drawing via the <span class="pre">_updatEvt</span>. When your program receives the <span class="pre">_updatEvt</span> event, you are expected to draw the windows contents. When everything is finished, FB calls <span class="pre">ENDUPDATE</span> to reset all regions back to normal.</p>
  237.  
  238. <p>Remember: anytime a window is built, the Window Manager automatically sends you an update event - without fail. You can count on it.</p>
  239.  
  240. <p>If you draw into a window when it is first built or when some button is clicked or a menu item is selected, rather than in response to an update event, the update sequence will erase your work; and after the update you'll be looking at a blank window.</p>
  241.  
  242. <p>Always do your drawing in response to update events.</p>
  243.  
  244. <pre>
  245. // build file menu
  246.  
  247. MENU 1,0,1,"File"
  248. MENU 1,1,1,"Quit/Q"
  249.  
  250. // set up constants for windows
  251.  
  252. _circleWnd = 1
  253. _squareWnd = 2
  254.  
  255. // dialog handler -- this is where update events are handled
  256.  
  257. LOCAL FN doDialog
  258.  DIM act,ref
  259.  DIM myRect AS RECT
  260.  act = DIALOG(0)
  261.  ref = DIALOG(act)
  262.  LONG IF act = _wndRefresh 
  263.   CALL SETRECT(myRect,0,0,WINDOW(_width),WINDOW(_height))
  264.   CALL INSETRECT(myRect,32,32)
  265.   SELECT ref 
  266.    CASE _circleWnd
  267.    CALL FRAMEOVAL(myRect)
  268.    CASE _squareWnd
  269.    CALL FRAMERECT(myRect)
  270.   END SELECT
  271.  END IF
  272. END FN
  273.  
  274. // build two windows
  275.  
  276. WINDOW _circleWnd
  277. WINDOW _squareWnd
  278.  
  279. // set up dialog vector
  280.  
  281. ON DIALOG FN doDialog
  282.  
  283. // loop until user quits
  284.  
  285. DO
  286.  HANDLEEVENTS
  287. UNTIL 0
  288. </pre>
  289. </td>
  290. </tr>
  291. </table>
  292.  
  293. <table class="w-sidebar" border="0" cellpadding="0" cellspacing="0">
  294. <tr>
  295. <td class="w-sidebar">
  296. <p><a href="index.php"><img src="../graphics/fb_icon.png" alt="FutureBASIC"></a></p>
  297.  
  298. <p><a href="demo.php">Demo</a></p>
  299.  
  300. <p><a href="../order/index.php">Order</a></p>
  301.  
  302. <p><a href="tour.php">Tour</a></p>
  303.  
  304. <p><a href="tech-notes.php">Tech Notes</a></p>
  305.  
  306. <p><a href="faq.php">FAQ</a></p>
  307.  
  308. <p><a href="sample-code.php">Sample Code</a></p>
  309.  
  310. <p><a href="web-sites.php">Web Sites</a></p>
  311.  
  312. <p><a href="mailing-list.php">Mailing List</a></p>
  313.  
  314. <p><a href="system-requirements.php">System<br>Requirements</a></p>
  315.  
  316. <form method="GET" action="http://www.google.com/search" style="margin: 0; padding: 0;">
  317. <p style="margin: 0; padding: 0 0 5px 0; text-align: right;"><input type="hidden" id="ie" name="ie" value=UTF-8><input type="hidden" id="oe" name="oe" value=UTF-8><input type="text" name="q" size="15" maxlength="255" value="" style="width: 155px;" class="text-box"></p>
  318. <p style="margin: 0; padding: 0; text-align: right;"><input type="submit" name="btnG" value="Search" class="push-button"><input type="hidden" name="domains" value="stazsoftware.com"><input type="hidden" name="sitesearch" value=""><input type="hidden" name="sitesearch" value="stazsoftware.com" checked></p>
  319. </form></td>
  320. </tr>
  321. </table>
  322. </td>
  323. </tr>
  324.  
  325. <tr>
  326. <td class="w-bottom"><img src="../graphics/site/blank.gif" width="2" height="2" alt="blank"></td>
  327. </tr>
  328. </table>
  329.  
  330. </body>
  331. </html>