aview-app 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aview-app might be problematic. Click here for more details.

Files changed (1127) hide show
  1. package/README.md +18 -0
  2. package/aardio/aardio.exe +0 -0
  3. package/aardio/config/CFG.BIN +0 -0
  4. package/aardio/config/RECENT.PROJECT.TABLE +8 -0
  5. package/aardio/config/SYS.CFG +1 -0
  6. package/aardio/config/SYS.THEME +124 -0
  7. package/aardio/config/USR.CFG +16 -0
  8. package/aardio/config/USR.THEME +124 -0
  9. package/aardio/config/intellisense/kernel.txt +634 -0
  10. package/aardio/config/intellisense/unimportant.txt +108 -0
  11. package/aardio/config/intellisense/web.layout.behavior.txt +81 -0
  12. package/aardio/config/intellisense/web.sciter.behavior.txt +94 -0
  13. package/aardio/config/intellisense/winform.txt +215 -0
  14. package/aardio/config/lang/lib.txt +210 -0
  15. package/aardio/config/themes/dark.xml +124 -0
  16. package/aardio/config/themes/light.xml +124 -0
  17. package/aardio/extensions/extlibver.table +13 -0
  18. package/aardio/extensions/ide.aardio +386 -0
  19. package/aardio/extensions/plugin/view/bbx.aardio +52 -0
  20. package/aardio/extensions/plugin/view/config.aardio +52 -0
  21. package/aardio/extensions/plugin/view/dsktip.aardio +84 -0
  22. package/aardio/extensions/plugin/view/res/content/getting-started.htm +15 -0
  23. package/aardio/extensions/plugin/view/res/images/body-back.png +0 -0
  24. package/aardio/extensions/plugin/view/res/images/loading.png +0 -0
  25. package/aardio/extensions/plugin/view/res/images/panel-back.png +0 -0
  26. package/aardio/extensions/plugin/view/res/images/panel-caption-back.png +0 -0
  27. package/aardio/extensions/plugin/view/res/start-page.htm +216 -0
  28. package/aardio/extensions/plugin/view/startPage.aardio +329 -0
  29. package/aardio/extensions/plugin/view/startPage.aardio.plugin +329 -0
  30. package/aardio/extensions/res/app.ico +0 -0
  31. package/aardio/extensions/trigger/before-publish.aardio +57 -0
  32. package/aardio/extensions/trigger/copyCodeAsHtml.aardio +26 -0
  33. package/aardio/extensions/trigger/default.aproj +10 -0
  34. package/aardio/extensions/trigger/edit-default.aardio +71 -0
  35. package/aardio/extensions/trigger/edit.aardio +83 -0
  36. package/aardio/extensions/trigger/gotoFile.aardio +1 -0
  37. package/aardio/extensions/trigger/init.aardio +17 -0
  38. package/aardio/extensions/trigger/lib/config.aardio +8 -0
  39. package/aardio/extensions/trigger/openProject.aardio +39 -0
  40. package/aardio/extensions/trigger/publish-website.aardio +168 -0
  41. package/aardio/extensions/trigger/publish.aardio +386 -0
  42. package/aardio/extensions/trigger/res/config/publish.table +5 -0
  43. package/aardio/extensions/wizard/files/console.aardio +5 -0
  44. package/aardio/extensions/wizard/files/default.main.aardio +8 -0
  45. package/aardio/extensions/wizard/files/layout-blank.aardio +231 -0
  46. package/aardio/extensions/wizard/files/layout.aardio +15 -0
  47. package/aardio/extensions/wizard/files/webform-blank.aardio +84 -0
  48. package/aardio/extensions/wizard/files/webform.aardio +17 -0
  49. package/aardio/extensions/wizard/files/website.main.aardio +14 -0
  50. package/aardio/extensions/wizard/files/winform.aardio +9 -0
  51. package/aardio/extensions/wizard/project/win/default.aproj +4 -0
  52. package/aardio/extensions/wizard/project2/.build//351/253/230/347/272/247/351/200/211/351/241/271/345/215/241.Manifest.xml +60 -0
  53. package/aardio/extensions/wizard/project2/.build//351/253/230/347/272/247/351/200/211/351/241/271/345/215/241.init.aardio +2 -0
  54. package/aardio/extensions/wizard/project2/.build//351/253/230/347/272/247/351/200/211/351/241/271/345/215/241.main.aardio +6 -0
  55. package/aardio/extensions/wizard/project2/forms/console/console.aardio +16 -0
  56. package/aardio/extensions/wizard/project2/forms/console/service.aardio +41 -0
  57. package/aardio/extensions/wizard/project2/forms/console.aardio +90 -0
  58. package/aardio/extensions/wizard/project2/forms/fastcgi.aardio +168 -0
  59. package/aardio/extensions/wizard/project2/forms/images/console.jpg +0 -0
  60. package/aardio/extensions/wizard/project2/forms/images/electron.jpg +0 -0
  61. package/aardio/extensions/wizard/project2/forms/images/htmlayout.jpg +0 -0
  62. package/aardio/extensions/wizard/project2/forms/images/winform.jpg +0 -0
  63. package/aardio/extensions/wizard/project2/forms/plus/first.aardio +17 -0
  64. package/aardio/extensions/wizard/project2/forms/plus/icon.aardio +122 -0
  65. package/aardio/extensions/wizard/project2/forms/plus/images/1.jpg +0 -0
  66. package/aardio/extensions/wizard/project2/forms/plus/tabs.aardio +119 -0
  67. package/aardio/extensions/wizard/project2/forms/plus.aardio +94 -0
  68. package/aardio/extensions/wizard/project2/forms/web/chromeApp.aardio +62 -0
  69. package/aardio/extensions/wizard/project2/forms/web/electron.aardio +19 -0
  70. package/aardio/extensions/wizard/project2/forms/web/htmlayout.aardio +16 -0
  71. package/aardio/extensions/wizard/project2/forms/web/sciter.aardio +16 -0
  72. package/aardio/extensions/wizard/project2/forms/web/view.aardio +67 -0
  73. package/aardio/extensions/wizard/project2/forms/web/webform.aardio +60 -0
  74. package/aardio/extensions/wizard/project2/forms/web/webkit.aardio +49 -0
  75. package/aardio/extensions/wizard/project2/forms/web.aardio +105 -0
  76. package/aardio/extensions/wizard/project2/forms/website.aardio +175 -0
  77. package/aardio/extensions/wizard/project2/forms/winform/bat.aardio +46 -0
  78. package/aardio/extensions/wizard/project2/forms/winform/blank.aardio +20 -0
  79. package/aardio/extensions/wizard/project2/forms/winform/demo.aardio +20 -0
  80. package/aardio/extensions/wizard/project2/forms/winform/images/paint.png +0 -0
  81. package/aardio/extensions/wizard/project2/forms/winform/java.aardio +67 -0
  82. package/aardio/extensions/wizard/project2/forms/winform/paint.aardio +21 -0
  83. package/aardio/extensions/wizard/project2/forms/winform/python.aardio +101 -0
  84. package/aardio/extensions/wizard/project2/forms/winform.aardio +82 -0
  85. package/aardio/extensions/wizard/project2/lib/style/_.aardio +4 -0
  86. package/aardio/extensions/wizard/project2/lib/style/main.aardio +47 -0
  87. package/aardio/extensions/wizard/project2/main.aardio +248 -0
  88. package/aardio/extensions/wizard/project2/res/icons/console.png +0 -0
  89. package/aardio/extensions/wizard/project2/res/icons/fastcgi.png +0 -0
  90. package/aardio/extensions/wizard/project2/res/icons/plus.png +0 -0
  91. package/aardio/extensions/wizard/project2/res/icons/web.png +0 -0
  92. package/aardio/extensions/wizard/project2/res/icons/website.png +0 -0
  93. package/aardio/extensions/wizard/project2/res/icons/winform.png +0 -0
  94. package/aardio/extensions/wizard/project2/res/images/bg.gif +0 -0
  95. package/aardio/extensions/wizard/project2/res/images/check-active1.png +0 -0
  96. package/aardio/extensions/wizard/project2/res/images/check-disabled1.png +0 -0
  97. package/aardio/extensions/wizard/project2/res/images/check-hover1.png +0 -0
  98. package/aardio/extensions/wizard/project2/res/images/check1.png +0 -0
  99. package/aardio/extensions/wizard/project2/res/images/main-nav-bg-active.png +0 -0
  100. package/aardio/extensions/wizard/project2/res/images/main-nav-bg-hover.png +0 -0
  101. package/aardio/extensions/wizard/project2/res/images/main-nav-bg.png +0 -0
  102. package/aardio/extensions/wizard/project2/res/images/uncheck-active1.png +0 -0
  103. package/aardio/extensions/wizard/project2/res/images/uncheck-disabled1.png +0 -0
  104. package/aardio/extensions/wizard/project2/res/images/uncheck-hover1.png +0 -0
  105. package/aardio/extensions/wizard/project2/res/images/uncheck1.png +0 -0
  106. package/aardio/extensions/wizard/project2/template/bat/bat/bat.aardio +33 -0
  107. package/aardio/extensions/wizard/project2/template/bat/bat/bat2.aardio +17 -0
  108. package/aardio/extensions/wizard/project2/template/bat/default.aproj +9 -0
  109. package/aardio/extensions/wizard/project2/template/bat/lib/config.aardio +17 -0
  110. package/aardio/extensions/wizard/project2/template/bat/lib/style.aardio +72 -0
  111. package/aardio/extensions/wizard/project2/template/bat/main.aardio +52 -0
  112. package/aardio/extensions/wizard/project2/template/console/default.aproj +5 -0
  113. package/aardio/extensions/wizard/project2/template/console/lib/config.aardio +17 -0
  114. package/aardio/extensions/wizard/project2/template/console/main.aardio +23 -0
  115. package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.Manifest.xml +60 -0
  116. package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.init.aardio +4 -0
  117. package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.main.aardio +6 -0
  118. package/aardio/extensions/wizard/project2/template/fastcgi/default.aproj +5 -0
  119. package/aardio/extensions/wizard/project2/template/fastcgi/lib/config.aardio +17 -0
  120. package/aardio/extensions/wizard/project2/template/fastcgi/main.aardio +77 -0
  121. package/aardio/extensions/wizard/project2/template/java/default/default.aproj +14 -0
  122. package/aardio/extensions/wizard/project2/template/java/default/java/aardio/sample/HelloworldApp.class +0 -0
  123. package/aardio/extensions/wizard/project2/template/java/default/java/aardio/sample/HelloworldApp.java +33 -0
  124. package/aardio/extensions/wizard/project2/template/java/default/lib/config.aardio +17 -0
  125. package/aardio/extensions/wizard/project2/template/java/default/main.aardio +33 -0
  126. package/aardio/extensions/wizard/project2/template/java/default/res/py.aardio +12 -0
  127. package/aardio/extensions/wizard/project2/template/paint/default.aproj +6 -0
  128. package/aardio/extensions/wizard/project2/template/paint/lib/config.aardio +17 -0
  129. package/aardio/extensions/wizard/project2/template/paint/lib/fonts/.res/painttest.ttf +0 -0
  130. package/aardio/extensions/wizard/project2/template/paint/lib/fonts/painttest.aardio +10 -0
  131. package/aardio/extensions/wizard/project2/template/paint/lib/style.aardio +46 -0
  132. package/aardio/extensions/wizard/project2/template/paint/main.aardio +125 -0
  133. package/aardio/extensions/wizard/project2/template/plus/1/default.aproj +20 -0
  134. package/aardio/extensions/wizard/project2/template/plus/1/forms/page1.aardio +89 -0
  135. package/aardio/extensions/wizard/project2/template/plus/1/forms/page2.aardio +70 -0
  136. package/aardio/extensions/wizard/project2/template/plus/1/forms/page3.aardio +21 -0
  137. package/aardio/extensions/wizard/project2/template/plus/1/include/images/bg.gif +0 -0
  138. package/aardio/extensions/wizard/project2/template/plus/1/include//350/257/264/346/230/216.txt +1 -0
  139. package/aardio/extensions/wizard/project2/template/plus/1/main.aardio +69 -0
  140. package/aardio/extensions/wizard/project2/template/plus/1/res/images/bg.png +0 -0
  141. package/aardio/extensions/wizard/project2/template/plus/1/res/images/excel.png +0 -0
  142. package/aardio/extensions/wizard/project2/template/plus/1/res/images/feed.png +0 -0
  143. package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg-active.png +0 -0
  144. package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg-hover.png +0 -0
  145. package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg.png +0 -0
  146. package/aardio/extensions/wizard/project2/template/plus/1/res/images/ppt.png +0 -0
  147. package/aardio/extensions/wizard/project2/template/plus/1/res/images/rss.png +0 -0
  148. package/aardio/extensions/wizard/project2/template/plus/icon/default.aproj +12 -0
  149. package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage1.aardio +11 -0
  150. package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage2.aardio +9 -0
  151. package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage3.aardio +9 -0
  152. package/aardio/extensions/wizard/project2/template/plus/icon/lib/config.aardio +17 -0
  153. package/aardio/extensions/wizard/project2/template/plus/icon/main.aardio +52 -0
  154. package/aardio/extensions/wizard/project2/template/plus/tabs/default.aproj +11 -0
  155. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/first.aardio +20 -0
  156. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/help.aardio +25 -0
  157. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/hotkey.aardio +20 -0
  158. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/setting.aardio +20 -0
  159. package/aardio/extensions/wizard/project2/template/plus/tabs/lib/config.aardio +17 -0
  160. package/aardio/extensions/wizard/project2/template/plus/tabs/lib/style.aardio +72 -0
  161. package/aardio/extensions/wizard/project2/template/plus/tabs/main.aardio +50 -0
  162. package/aardio/extensions/wizard/project2/template/python/process/default.aproj +14 -0
  163. package/aardio/extensions/wizard/project2/template/python/process/lib/config.aardio +17 -0
  164. package/aardio/extensions/wizard/project2/template/python/process/lib/py3/export/aardio.aardio +17 -0
  165. package/aardio/extensions/wizard/project2/template/python/process/main.aardio +36 -0
  166. package/aardio/extensions/wizard/project2/template/python/process/py/pyMain.py +17 -0
  167. package/aardio/extensions/wizard/project2/template/python/process/res/py.aardio +12 -0
  168. package/aardio/extensions/wizard/project2/template/python/process/tools/pip.aardio +15 -0
  169. package/aardio/extensions/wizard/project2/template/python/py2/default.aproj +9 -0
  170. package/aardio/extensions/wizard/project2/template/python/py2/lib/config.aardio +17 -0
  171. package/aardio/extensions/wizard/project2/template/python/py2/lib/py2/export/aardio.aardio +16 -0
  172. package/aardio/extensions/wizard/project2/template/python/py2/main.aardio +19 -0
  173. package/aardio/extensions/wizard/project2/template/python/py2/py/pyMain.py +14 -0
  174. package/aardio/extensions/wizard/project2/template/python/py3/default.aproj +12 -0
  175. package/aardio/extensions/wizard/project2/template/python/py3/lib/config.aardio +17 -0
  176. package/aardio/extensions/wizard/project2/template/python/py3/lib/py3/export/aardio.aardio +17 -0
  177. package/aardio/extensions/wizard/project2/template/python/py3/main.aardio +20 -0
  178. package/aardio/extensions/wizard/project2/template/python/py3/py/pyMain.py +15 -0
  179. package/aardio/extensions/wizard/project2/template/python/py3/tools/pip.aardio +28 -0
  180. package/aardio/extensions/wizard/project2/template/service/.build/default.init.aardio +4 -0
  181. package/aardio/extensions/wizard/project2/template/service/default.aproj +5 -0
  182. package/aardio/extensions/wizard/project2/template/service/lib/config.aardio +17 -0
  183. package/aardio/extensions/wizard/project2/template/service/lib/service/threads/_.aardio +35 -0
  184. package/aardio/extensions/wizard/project2/template/service/main.aardio +68 -0
  185. package/aardio/extensions/wizard/project2/template/web/chrome-app/default.aproj +10 -0
  186. package/aardio/extensions/wizard/project2/template/web/chrome-app/lib/config.aardio +17 -0
  187. package/aardio/extensions/wizard/project2/template/web/chrome-app/main.aardio +22 -0
  188. package/aardio/extensions/wizard/project2/template/web/chrome-app/web/index.html +15 -0
  189. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/.yarnrc +1 -0
  190. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/package.json +45 -0
  191. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/public/favicon.ico +0 -0
  192. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/public/index.html +33 -0
  193. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.css +20 -0
  194. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.test.tsx +9 -0
  195. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.tsx +37 -0
  196. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/Counter.tsx +40 -0
  197. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/index.css +11 -0
  198. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/index.tsx +26 -0
  199. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/react-app-env.d.ts +1 -0
  200. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/reportWebVitals.ts +15 -0
  201. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/setupTests.ts +5 -0
  202. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/index.ts +11 -0
  203. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/useCounterController.ts +39 -0
  204. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/useUserController.ts +24 -0
  205. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/tsconfig.json +26 -0
  206. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/default.aproj +16 -0
  207. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/lib/config.aardio +17 -0
  208. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/main.aardio +12 -0
  209. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/api/index.aardio +20 -0
  210. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/htmx.js +1 -0
  211. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/images/loading.gif +0 -0
  212. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/index.css +34 -0
  213. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/index.html +65 -0
  214. package/aardio/extensions/wizard/project2/template/web/chrome-vue/default.aproj +10 -0
  215. package/aardio/extensions/wizard/project2/template/web/chrome-vue/lib/config.aardio +17 -0
  216. package/aardio/extensions/wizard/project2/template/web/chrome-vue/main.aardio +21 -0
  217. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web/index.html +15 -0
  218. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/.vscode/extensions.json +3 -0
  219. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/README.md +40 -0
  220. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/env.d.ts +1 -0
  221. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/index.html +13 -0
  222. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/package.json +25 -0
  223. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/public/favicon.ico +0 -0
  224. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/App.vue +58 -0
  225. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/base.css +74 -0
  226. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/logo.svg +1 -0
  227. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/main.css +35 -0
  228. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/HelloWorld.vue +40 -0
  229. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/TheWelcome.vue +86 -0
  230. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/WelcomeItem.vue +86 -0
  231. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconCommunity.vue +7 -0
  232. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconDocumentation.vue +7 -0
  233. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconEcosystem.vue +7 -0
  234. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconSupport.vue +7 -0
  235. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconTooling.vue +19 -0
  236. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/main.ts +6 -0
  237. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/tsconfig.config.json +8 -0
  238. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/tsconfig.json +16 -0
  239. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/vite.config.ts +20 -0
  240. package/aardio/extensions/wizard/project2/template/web/electron/default.aproj +8 -0
  241. package/aardio/extensions/wizard/project2/template/web/electron/electron.app/.aardio-ignore +6 -0
  242. package/aardio/extensions/wizard/project2/template/web/electron/electron.app/.yarnrc +1 -0
  243. package/aardio/extensions/wizard/project2/template/web/electron/electron.app/app.ico +0 -0
  244. package/aardio/extensions/wizard/project2/template/web/electron/forms/remoteDebugging.aardio +122 -0
  245. package/aardio/extensions/wizard/project2/template/web/electron/lib/config.aardio +22 -0
  246. package/aardio/extensions/wizard/project2/template/web/electron/main.aardio +80 -0
  247. package/aardio/extensions/wizard/project2/template/web/electron/res/.vscode/settings.json +3 -0
  248. package/aardio/extensions/wizard/project2/template/web/electron/res/index.aardio +78 -0
  249. package/aardio/extensions/wizard/project2/template/web/layoutUi/default.aproj +20 -0
  250. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/begin.png +0 -0
  251. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/document.png +0 -0
  252. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/download.png +0 -0
  253. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/home.png +0 -0
  254. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/logo.png +0 -0
  255. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/tabs.css +123 -0
  256. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/ui.css +67 -0
  257. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/ui.html +49 -0
  258. package/aardio/extensions/wizard/project2/template/web/layoutUi/main.aardio +26 -0
  259. package/aardio/extensions/wizard/project2/template/web/sciter/default.aproj +21 -0
  260. package/aardio/extensions/wizard/project2/template/web/sciter/layout/hooks.js +2 -0
  261. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/begin.png +0 -0
  262. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/document.png +0 -0
  263. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/download.png +0 -0
  264. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/home.png +0 -0
  265. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/logo.png +0 -0
  266. package/aardio/extensions/wizard/project2/template/web/sciter/layout/preact.js +2 -0
  267. package/aardio/extensions/wizard/project2/template/web/sciter/layout/tabs.css +123 -0
  268. package/aardio/extensions/wizard/project2/template/web/sciter/layout/ui.css +67 -0
  269. package/aardio/extensions/wizard/project2/template/web/sciter/layout/ui.html +100 -0
  270. package/aardio/extensions/wizard/project2/template/web/sciter/main.aardio +31 -0
  271. package/aardio/extensions/wizard/project2/template/web/view/default.aproj +10 -0
  272. package/aardio/extensions/wizard/project2/template/web/view/lib/config.aardio +17 -0
  273. package/aardio/extensions/wizard/project2/template/web/view/main.aardio +30 -0
  274. package/aardio/extensions/wizard/project2/template/web/view/web/index.html +15 -0
  275. package/aardio/extensions/wizard/project2/template/web/view/web.src/.yarnrc +1 -0
  276. package/aardio/extensions/wizard/project2/template/web/view/web.src/package.json +44 -0
  277. package/aardio/extensions/wizard/project2/template/web/view/web.src/public/favicon.ico +0 -0
  278. package/aardio/extensions/wizard/project2/template/web/view/web.src/public/index.html +33 -0
  279. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.css +20 -0
  280. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.test.tsx +9 -0
  281. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.tsx +37 -0
  282. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/Counter.tsx +39 -0
  283. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/aardio/index.d.ts +7 -0
  284. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/index.css +9 -0
  285. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/index.tsx +26 -0
  286. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/react-app-env.d.ts +1 -0
  287. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/reportWebVitals.ts +15 -0
  288. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/setupTests.ts +5 -0
  289. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/index.ts +11 -0
  290. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/useCounterController.ts +39 -0
  291. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/useUserController.ts +24 -0
  292. package/aardio/extensions/wizard/project2/template/web/view/web.src/tsconfig.json +26 -0
  293. package/aardio/extensions/wizard/project2/template/web/view-htmx/default.aproj +16 -0
  294. package/aardio/extensions/wizard/project2/template/web/view-htmx/lib/config.aardio +17 -0
  295. package/aardio/extensions/wizard/project2/template/web/view-htmx/main.aardio +21 -0
  296. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/api/index.aardio +20 -0
  297. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/htmx.js +1 -0
  298. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/images/loading.gif +0 -0
  299. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/index.css +34 -0
  300. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/index.html +64 -0
  301. package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.Manifest.xml +60 -0
  302. package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.init.aardio +2 -0
  303. package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.main.aardio +6 -0
  304. package/aardio/extensions/wizard/project2/template/web/view-vue/default.aproj +10 -0
  305. package/aardio/extensions/wizard/project2/template/web/view-vue/lib/config.aardio +17 -0
  306. package/aardio/extensions/wizard/project2/template/web/view-vue/main.aardio +29 -0
  307. package/aardio/extensions/wizard/project2/template/web/view-vue/web/index.html +15 -0
  308. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/.vscode/extensions.json +3 -0
  309. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/README.md +40 -0
  310. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/aardio/index.d.ts +7 -0
  311. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/env.d.ts +1 -0
  312. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/index.html +13 -0
  313. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/package.json +24 -0
  314. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/public/favicon.ico +0 -0
  315. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/App.vue +57 -0
  316. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/base.css +74 -0
  317. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/logo.svg +1 -0
  318. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/main.css +35 -0
  319. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/HelloWorld.vue +40 -0
  320. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/TheWelcome.vue +86 -0
  321. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/WelcomeItem.vue +86 -0
  322. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconCommunity.vue +7 -0
  323. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconDocumentation.vue +7 -0
  324. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconEcosystem.vue +7 -0
  325. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconSupport.vue +7 -0
  326. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconTooling.vue +19 -0
  327. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/main.ts +6 -0
  328. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/tsconfig.config.json +8 -0
  329. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/tsconfig.json +16 -0
  330. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/vite.config.ts +20 -0
  331. package/aardio/extensions/wizard/project2/template/web/webform/default.aproj +19 -0
  332. package/aardio/extensions/wizard/project2/template/web/webform/forms/main/frmPage2.aardio +9 -0
  333. package/aardio/extensions/wizard/project2/template/web/webform/forms/main/frmPage3.aardio +9 -0
  334. package/aardio/extensions/wizard/project2/template/web/webform/forms/main/webPage.aardio +32 -0
  335. package/aardio/extensions/wizard/project2/template/web/webform/lib/config.aardio +17 -0
  336. package/aardio/extensions/wizard/project2/template/web/webform/main.aardio +52 -0
  337. package/aardio/extensions/wizard/project2/template/web/webform/web/api/index.aardio +21 -0
  338. package/aardio/extensions/wizard/project2/template/web/webform/web/htmx.js +1 -0
  339. package/aardio/extensions/wizard/project2/template/web/webform/web/images/loading.gif +0 -0
  340. package/aardio/extensions/wizard/project2/template/web/webform/web/index.css +34 -0
  341. package/aardio/extensions/wizard/project2/template/web/webform/web/index.html +65 -0
  342. package/aardio/extensions/wizard/project2/template/web/webkit/default.aproj +16 -0
  343. package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/frmPage2.aardio +9 -0
  344. package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/frmPage3.aardio +9 -0
  345. package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/webPage.aardio +28 -0
  346. package/aardio/extensions/wizard/project2/template/web/webkit/lib/config.aardio +17 -0
  347. package/aardio/extensions/wizard/project2/template/web/webkit/main.aardio +52 -0
  348. package/aardio/extensions/wizard/project2/template/web/webkit/web/index.html +11 -0
  349. package/aardio/extensions/wizard/project2/template/web/webkit/web/index.js +173 -0
  350. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/.babelrc +20 -0
  351. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/package.json +25 -0
  352. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/App.css +27 -0
  353. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/App.jsx +49 -0
  354. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/index.js +7 -0
  355. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/webpack.config.js +43 -0
  356. package/aardio/extensions/wizard/project2/template/web-server/default.aproj +18 -0
  357. package/aardio/extensions/wizard/project2/template/web-server/lib/config.aardio +17 -0
  358. package/aardio/extensions/wizard/project2/template/web-server/main.aardio +343 -0
  359. package/aardio/extensions/wizard/project2/template/website/.build/default.main.aardio +9 -0
  360. package/aardio/extensions/wizard/project2/template/website/default.aproj +8 -0
  361. package/aardio/extensions/wizard/project2/template/website/help/main.aardio +58 -0
  362. package/aardio/extensions/wizard/project2/template/website/lib/config.aardio +17 -0
  363. package/aardio/extensions/wizard/project2/template/website/main.aardio +59 -0
  364. package/aardio/extensions/wizard/project2/template/winform/default.aproj +18 -0
  365. package/aardio/extensions/wizard/project2/template/winform/dlg/login/loading.aardio +17 -0
  366. package/aardio/extensions/wizard/project2/template/winform/dlg/login/login.aardio +51 -0
  367. package/aardio/extensions/wizard/project2/template/winform/dlg/login/reg.aardio +20 -0
  368. package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs1.aardio +52 -0
  369. package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs2.aardio +51 -0
  370. package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs3.aardio +55 -0
  371. package/aardio/extensions/wizard/project2/template/winform/dlg/main/userInfo.aardio +40 -0
  372. package/aardio/extensions/wizard/project2/template/winform/lib/config.aardio +17 -0
  373. package/aardio/extensions/wizard/project2/template/winform/main.aardio +18 -0
  374. package/aardio/extensions/wizard/project2/template/winform-blank/default.aproj +6 -0
  375. package/aardio/extensions/wizard/project2/template/winform-blank/lib/config.aardio +17 -0
  376. package/aardio/extensions/wizard/project2/template/winform-blank/main.aardio +8 -0
  377. package/aardio/extensions/wizard/project2//345/267/245/347/250/213/345/220/221/345/257/274.aproj +71 -0
  378. package/aardio/lib/System/Array.aardio +7 -0
  379. package/aardio/lib/System/Collections/_.aardio +6 -0
  380. package/aardio/lib/System/Console.aardio +7 -0
  381. package/aardio/lib/System/Data/_.aardio +7 -0
  382. package/aardio/lib/System/Delegate.aardio +7 -0
  383. package/aardio/lib/System/Drawing/_.aardio +6 -0
  384. package/aardio/lib/System/IO/Compression/ZipFile.aardio +11 -0
  385. package/aardio/lib/System/IO/_.aardio +6 -0
  386. package/aardio/lib/System/Text/_.aardio +6 -0
  387. package/aardio/lib/System/Type.aardio +9 -0
  388. package/aardio/lib/System/ValueTuple.aardio +33 -0
  389. package/aardio/lib/System/Windows/Automation/_.aardio +74 -0
  390. package/aardio/lib/System/Windows/Forms/_.aardio +26 -0
  391. package/aardio/lib/System/Windows/_.aardio +6 -0
  392. package/aardio/lib/System/_.aardio +6 -0
  393. package/aardio/lib/access/_.aardio +713 -0
  394. package/aardio/lib/access/oleDb12.aardio +26 -0
  395. package/aardio/lib/access/query.aardio +19 -0
  396. package/aardio/lib/bencoding/_.aardio +2 -0
  397. package/aardio/lib/bencoding/decoder.aardio +131 -0
  398. package/aardio/lib/bencoding/encoder.aardio +61 -0
  399. package/aardio/lib/bencoding/magnet.aardio +24 -0
  400. package/aardio/lib/chrome/app.aardio +581 -0
  401. package/aardio/lib/chrome/dev.aardio +152 -0
  402. package/aardio/lib/chrome/driver.aardio +743 -0
  403. package/aardio/lib/chrome/edge.aardio +35 -0
  404. package/aardio/lib/chrome/edge.history.aardio +57 -0
  405. package/aardio/lib/chrome/extensions.aardio +33 -0
  406. package/aardio/lib/chrome/history.aardio +70 -0
  407. package/aardio/lib/chrome/path.aardio +140 -0
  408. package/aardio/lib/chrome/remote.aardio +75 -0
  409. package/aardio/lib/chrome/time.aardio +17 -0
  410. package/aardio/lib/color/_.aardio +210 -0
  411. package/aardio/lib/color/table.aardio +374 -0
  412. package/aardio/lib/color/view.aardio +244 -0
  413. package/aardio/lib/color/viewForm.aardio +342 -0
  414. package/aardio/lib/com/activeX.aardio +275 -0
  415. package/aardio/lib/com/cad/_.aardio +403 -0
  416. package/aardio/lib/com/excel.aardio +180 -0
  417. package/aardio/lib/com/interface/IApplicationActivationManager.aardio +31 -0
  418. package/aardio/lib/com/interface/IApplicationAssociationRegistration.aardio +359 -0
  419. package/aardio/lib/com/interface/IAudioMeterInformation.aardio +17 -0
  420. package/aardio/lib/com/interface/IClassFactory.aardio +26 -0
  421. package/aardio/lib/com/interface/IClassFactory2.aardio +47 -0
  422. package/aardio/lib/com/interface/IComThreadingInfo.aardio +37 -0
  423. package/aardio/lib/com/interface/IDirect3D9.aardio +188 -0
  424. package/aardio/lib/com/interface/IEnumCodePage.aardio +14 -0
  425. package/aardio/lib/com/interface/IEnumGUID.aardio +26 -0
  426. package/aardio/lib/com/interface/IEnumShellItems.aardio +29 -0
  427. package/aardio/lib/com/interface/IFileDialog.aardio +101 -0
  428. package/aardio/lib/com/interface/IFileOpenDialog.aardio +97 -0
  429. package/aardio/lib/com/interface/IFileSaveDialog.aardio +22 -0
  430. package/aardio/lib/com/interface/IKsPropertySet.aardio +17 -0
  431. package/aardio/lib/com/interface/IModalWindow.aardio +13 -0
  432. package/aardio/lib/com/interface/IMultiLanguage2.aardio +285 -0
  433. package/aardio/lib/com/interface/IOleControl.aardio +41 -0
  434. package/aardio/lib/com/interface/IOleWindow.aardio +29 -0
  435. package/aardio/lib/com/interface/IPersist.aardio +12 -0
  436. package/aardio/lib/com/interface/IPersistFile.aardio +18 -0
  437. package/aardio/lib/com/interface/IPersistStreamInit.aardio +56 -0
  438. package/aardio/lib/com/interface/IPicture.aardio +187 -0
  439. package/aardio/lib/com/interface/IServiceProvider.aardio +16 -0
  440. package/aardio/lib/com/interface/IShellItem.aardio +48 -0
  441. package/aardio/lib/com/interface/IShellItemArray.aardio +20 -0
  442. package/aardio/lib/com/interface/IShellLink.aardio +35 -0
  443. package/aardio/lib/com/interface/IStream.aardio +26 -0
  444. package/aardio/lib/com/interface/ITaskbarList3.aardio +62 -0
  445. package/aardio/lib/com/interface/ITfInputProcessorProfileMgr.aardio +75 -0
  446. package/aardio/lib/com/interface/ITfInputProcessorProfiles.aardio +125 -0
  447. package/aardio/lib/com/interface/IUniformResourceLocator.aardio +18 -0
  448. package/aardio/lib/com/interface/IViewObject2.aardio +38 -0
  449. package/aardio/lib/com/interface/_.aardio +231 -0
  450. package/aardio/lib/com/lite.aardio +183 -0
  451. package/aardio/lib/com/oleDb.aardio +57 -0
  452. package/aardio/lib/com/picture.aardio +235 -0
  453. package/aardio/lib/com/sapi/voice.aardio +178 -0
  454. package/aardio/lib/com/shell.aardio +69 -0
  455. package/aardio/lib/com/smtp.aardio +286 -0
  456. package/aardio/lib/com/tlbDoc.aardio +145 -0
  457. package/aardio/lib/com/typeAttrs.aardio +35 -0
  458. package/aardio/lib/com/wmi.aardio +208 -0
  459. package/aardio/lib/console/_.aardio +917 -0
  460. package/aardio/lib/console/int.aardio +55 -0
  461. package/aardio/lib/console/progress.aardio +141 -0
  462. package/aardio/lib/console/wine.aardio +393 -0
  463. package/aardio/lib/coroutine/_.aardio +46 -0
  464. package/aardio/lib/crypt/_.aardio +919 -0
  465. package/aardio/lib/crypt/aes.aardio +58 -0
  466. package/aardio/lib/crypt/bin.aardio +68 -0
  467. package/aardio/lib/crypt/des.aardio +55 -0
  468. package/aardio/lib/crypt/hash.aardio +110 -0
  469. package/aardio/lib/crypt/hmac.aardio +64 -0
  470. package/aardio/lib/crypt/jwt.aardio +78 -0
  471. package/aardio/lib/crypt/protectData.aardio +51 -0
  472. package/aardio/lib/crypt/provParam.aardio +32 -0
  473. package/aardio/lib/crypt/rc4.aardio +32 -0
  474. package/aardio/lib/crypt/rsa.aardio +244 -0
  475. package/aardio/lib/debug/_.aardio +172 -0
  476. package/aardio/lib/debug/log.aardio +144 -0
  477. package/aardio/lib/dotNet/.res/Aardio.InteropServices/CCodeCompiler.cs +202 -0
  478. package/aardio/lib/dotNet/.res/Aardio.InteropServices/DispatchableDelegate.cs +362 -0
  479. package/aardio/lib/dotNet/.res/Aardio.InteropServices/Utility.cs +1469 -0
  480. package/aardio/lib/dotNet/.res/Aardio.InteropServices.csproj +51 -0
  481. package/aardio/lib/dotNet/.res/Aardio.PS/Aardio.PS.DynObject.cs +194 -0
  482. package/aardio/lib/dotNet/.res/Aardio.PS/Aardio.PS.cs +446 -0
  483. package/aardio/lib/dotNet/.res/Properties/AssemblyInfo.cs +20 -0
  484. package/aardio/lib/dotNet/.res/bin/Release/Aardio.InteropServices.dll +0 -0
  485. package/aardio/lib/dotNet/_.aardio +258 -0
  486. package/aardio/lib/dotNet/appDomain.aardio +967 -0
  487. package/aardio/lib/dotNet/audio/.res/Audio.dll +0 -0
  488. package/aardio/lib/dotNet/audio/.res/NAudio.dll +0 -0
  489. package/aardio/lib/dotNet/audio/.res/build.aardio +206 -0
  490. package/aardio/lib/dotNet/audio/_.aardio +94 -0
  491. package/aardio/lib/dotNet/clr.aardio +210 -0
  492. package/aardio/lib/dotNet/interface/IAppDomainSetup.aardio +31 -0
  493. package/aardio/lib/dotNet/interface/ICLRMetaHost.aardio +17 -0
  494. package/aardio/lib/dotNet/interface/ICLRRuntimeHost.aardio +35 -0
  495. package/aardio/lib/dotNet/interface/ICLRRuntimeInfo.aardio +23 -0
  496. package/aardio/lib/dotNet/interface/ICorRuntimeHost.aardio +30 -0
  497. package/aardio/lib/dotNet/nuget.aardio +67 -0
  498. package/aardio/lib/dotNet/ocr/.res/ocr.dll +0 -0
  499. package/aardio/lib/dotNet/ocr/_.aardio +275 -0
  500. package/aardio/lib/dotNet/ps.aardio +177 -0
  501. package/aardio/lib/dotNet/uwpCompiler.aardio +61 -0
  502. package/aardio/lib/dotNet/v2.aardio +19 -0
  503. package/aardio/lib/dotNet/v4.aardio +57 -0
  504. package/aardio/lib/dotNet/version.aardio +74 -0
  505. package/aardio/lib/electron/app/.build/aardio/index.d.ts +173 -0
  506. package/aardio/lib/electron/app/.build/aardio/index.js +636 -0
  507. package/aardio/lib/electron/app/.build/main.aardio +298 -0
  508. package/aardio/lib/electron/app/.build/ws.asar +0 -0
  509. package/aardio/lib/electron/app/_.aardio +731 -0
  510. package/aardio/lib/electron/runtime/_.aardio +50 -0
  511. package/aardio/lib/fastcgi/_.aardio +2 -0
  512. package/aardio/lib/fastcgi/client/_.aardio +807 -0
  513. package/aardio/lib/fastcgi/iisInstall.aardio +124 -0
  514. package/aardio/lib/fastcgi/nameValuePairs.aardio +93 -0
  515. package/aardio/lib/fastcgi/stream.aardio +100 -0
  516. package/aardio/lib/fonts/.res/FontAwesome.ttf +0 -0
  517. package/aardio/lib/fonts/.res/FontAwesomeDlg.ttf +0 -0
  518. package/aardio/lib/fonts/_.aardio +71 -0
  519. package/aardio/lib/fonts/fontAwesome.aardio +14 -0
  520. package/aardio/lib/fonts/fontAwesomeDlg.aardio +10 -0
  521. package/aardio/lib/fonts/httpFamily.aardio +21 -0
  522. package/aardio/lib/fsys/_.aardio +538 -0
  523. package/aardio/lib/fsys/acl.aardio +116 -0
  524. package/aardio/lib/fsys/asar/reader.aardio +346 -0
  525. package/aardio/lib/fsys/asar/writer.aardio +241 -0
  526. package/aardio/lib/fsys/batch.aardio +99 -0
  527. package/aardio/lib/fsys/cab/_.aardio +123 -0
  528. package/aardio/lib/fsys/cab/maker.aardio +105 -0
  529. package/aardio/lib/fsys/codepage.aardio +141 -0
  530. package/aardio/lib/fsys/config.aardio +69 -0
  531. package/aardio/lib/fsys/cookies.aardio +214 -0
  532. package/aardio/lib/fsys/dirWatcher.aardio +135 -0
  533. package/aardio/lib/fsys/dlg.aardio +214 -0
  534. package/aardio/lib/fsys/dlg.dir.aardio +24 -0
  535. package/aardio/lib/fsys/drives.aardio +58 -0
  536. package/aardio/lib/fsys/environment.aardio +58 -0
  537. package/aardio/lib/fsys/file.aardio +490 -0
  538. package/aardio/lib/fsys/fileInfo.aardio +68 -0
  539. package/aardio/lib/fsys/hardlink.aardio +26 -0
  540. package/aardio/lib/fsys/hosts.aardio +80 -0
  541. package/aardio/lib/fsys/info.aardio +40 -0
  542. package/aardio/lib/fsys/ini.aardio +176 -0
  543. package/aardio/lib/fsys/knownFolder.aardio +30 -0
  544. package/aardio/lib/fsys/lnk.aardio +404 -0
  545. package/aardio/lib/fsys/localfile.aardio +77 -0
  546. package/aardio/lib/fsys/log.aardio +150 -0
  547. package/aardio/lib/fsys/media.aardio +199 -0
  548. package/aardio/lib/fsys/mime.aardio +115 -0
  549. package/aardio/lib/fsys/mmap/_.aardio +233 -0
  550. package/aardio/lib/fsys/multipartFormData.aardio +188 -0
  551. package/aardio/lib/fsys/namedPipe.aardio +95 -0
  552. package/aardio/lib/fsys/partFile.aardio +186 -0
  553. package/aardio/lib/fsys/path.aardio +179 -0
  554. package/aardio/lib/fsys/remove.aardio +31 -0
  555. package/aardio/lib/fsys/res.aardio +149 -0
  556. package/aardio/lib/fsys/safepath.aardio +36 -0
  557. package/aardio/lib/fsys/shortcut.aardio +55 -0
  558. package/aardio/lib/fsys/size.aardio +39 -0
  559. package/aardio/lib/fsys/stream.aardio +276 -0
  560. package/aardio/lib/fsys/streamInfo.aardio +47 -0
  561. package/aardio/lib/fsys/table.aardio +102 -0
  562. package/aardio/lib/fsys/tar.aardio +181 -0
  563. package/aardio/lib/fsys/time.aardio +149 -0
  564. package/aardio/lib/fsys/untar.aardio +190 -0
  565. package/aardio/lib/fsys/update/app.aardio +171 -0
  566. package/aardio/lib/fsys/update/dlMgr.aardio +402 -0
  567. package/aardio/lib/fsys/update/maker.aardio +168 -0
  568. package/aardio/lib/fsys/update/simpleMain.aardio +292 -0
  569. package/aardio/lib/fsys/url.aardio +71 -0
  570. package/aardio/lib/fsys/version.aardio +157 -0
  571. package/aardio/lib/fsys/watch.aardio +76 -0
  572. package/aardio/lib/fsys/wow64.aardio +43 -0
  573. package/aardio/lib/gdi/_.aardio +846 -0
  574. package/aardio/lib/gdip/.res/feather.dll +0 -0
  575. package/aardio/lib/gdip/.res//347/274/226/350/257/221.aardio +14 -0
  576. package/aardio/lib/gdip/_.aardio +1004 -0
  577. package/aardio/lib/gdip/bitmap.aardio +497 -0
  578. package/aardio/lib/gdip/core.aardio +137 -0
  579. package/aardio/lib/gdip/exifTags.aardio +192 -0
  580. package/aardio/lib/gdip/family.aardio +91 -0
  581. package/aardio/lib/gdip/feather.aardio +74 -0
  582. package/aardio/lib/gdip/font.aardio +130 -0
  583. package/aardio/lib/gdip/graphics.aardio +739 -0
  584. package/aardio/lib/gdip/image.aardio +610 -0
  585. package/aardio/lib/gdip/imageAttributes.aardio +143 -0
  586. package/aardio/lib/gdip/installedFontCollection.aardio +19 -0
  587. package/aardio/lib/gdip/lineBrush.aardio +114 -0
  588. package/aardio/lib/gdip/path.aardio +171 -0
  589. package/aardio/lib/gdip/pathGradientBrush.aardio +93 -0
  590. package/aardio/lib/gdip/pen.aardio +206 -0
  591. package/aardio/lib/gdip/privateFontCollection.aardio +178 -0
  592. package/aardio/lib/gdip/snap.aardio +99 -0
  593. package/aardio/lib/gdip/solidBrush.aardio +63 -0
  594. package/aardio/lib/gdip/stringformat.aardio +112 -0
  595. package/aardio/lib/gdip/textureBrush.aardio +93 -0
  596. package/aardio/lib/godking/elistbar/_.aardio +552 -0
  597. package/aardio/lib/godking/elistbar/elistbar.dll +0 -0
  598. package/aardio/lib/golang/.res/aardio/aardio.go +44 -0
  599. package/aardio/lib/golang/.res/aardio/jsonrpc/jsonrpc.go +27 -0
  600. package/aardio/lib/golang/.res/aardio/jsonrpc/tcp/tcp.go +28 -0
  601. package/aardio/lib/golang/_.aardio +234 -0
  602. package/aardio/lib/golang/string.aardio +22 -0
  603. package/aardio/lib/ide/command.aardio +226 -0
  604. package/aardio/lib/ide/customCtrl.aardio +9 -0
  605. package/aardio/lib/ide/debug.aardio +61 -0
  606. package/aardio/lib/ide/doc/_.aardio +361 -0
  607. package/aardio/lib/ide/doc/markdown.aardio +164 -0
  608. package/aardio/lib/inet/_.aardio +446 -0
  609. package/aardio/lib/inet/adapter.aardio +175 -0
  610. package/aardio/lib/inet/adapterInfo.aardio +180 -0
  611. package/aardio/lib/inet/conn.aardio +80 -0
  612. package/aardio/lib/inet/connView.aardio +22 -0
  613. package/aardio/lib/inet/downBox.aardio +247 -0
  614. package/aardio/lib/inet/errorMessage.aardio +106 -0
  615. package/aardio/lib/inet/file.aardio +62 -0
  616. package/aardio/lib/inet/ftp.aardio +315 -0
  617. package/aardio/lib/inet/http.aardio +885 -0
  618. package/aardio/lib/inet/httpFile.aardio +312 -0
  619. package/aardio/lib/inet/httpStatusCode.aardio +143 -0
  620. package/aardio/lib/inet/installer.aardio +76 -0
  621. package/aardio/lib/inet/mac.aardio +49 -0
  622. package/aardio/lib/inet/ras.aardio +433 -0
  623. package/aardio/lib/inet/stat.aardio +78 -0
  624. package/aardio/lib/inet/tls.aardio +28 -0
  625. package/aardio/lib/inet/url.aardio +334 -0
  626. package/aardio/lib/inet/urlpart.aardio +41 -0
  627. package/aardio/lib/inet/util.aardio +54 -0
  628. package/aardio/lib/inet/whttp.aardio +988 -0
  629. package/aardio/lib/java/.build/main.aardio +10 -0
  630. package/aardio/lib/java/.interopServices/build.aardio +372 -0
  631. package/aardio/lib/java/.interopServices/utility.class +0 -0
  632. package/aardio/lib/java/.interopServices/utility.java +354 -0
  633. package/aardio/lib/java/_.aardio +1006 -0
  634. package/aardio/lib/java/class.aardio +295 -0
  635. package/aardio/lib/java/jdk/v6ora.aardio +23 -0
  636. package/aardio/lib/java/jdk/v8.aardio +53 -0
  637. package/aardio/lib/java/jdk/v8ora.aardio +23 -0
  638. package/aardio/lib/java/jre/v8.aardio +53 -0
  639. package/aardio/lib/java/jre/v8ora.aardio +37 -0
  640. package/aardio/lib/java/object.aardio +218 -0
  641. package/aardio/lib/java/path.aardio +451 -0
  642. package/aardio/lib/key/VK.aardio +641 -0
  643. package/aardio/lib/key/_.aardio +303 -0
  644. package/aardio/lib/key/hook.aardio +76 -0
  645. package/aardio/lib/key/hotkey/_.aardio +540 -0
  646. package/aardio/lib/key/ime.aardio +221 -0
  647. package/aardio/lib/key/ime.stateBar.aardio +346 -0
  648. package/aardio/lib/mouse/_.aardio +359 -0
  649. package/aardio/lib/mouse/cursor.aardio +43 -0
  650. package/aardio/lib/mouse/draw.aardio +314 -0
  651. package/aardio/lib/mouse/highlighter.aardio +193 -0
  652. package/aardio/lib/mouse/hook.aardio +79 -0
  653. package/aardio/lib/mouse/screenArea.aardio +102 -0
  654. package/aardio/lib/nodeJs/_.aardio +593 -0
  655. package/aardio/lib/preload/_.aardio +253 -0
  656. package/aardio/lib/preload/com.aardio +319 -0
  657. package/aardio/lib/preload/io.aardio +107 -0
  658. package/aardio/lib/preload/math.aardio +91 -0
  659. package/aardio/lib/preload/raw.aardio +105 -0
  660. package/aardio/lib/preload/string.aardio +224 -0
  661. package/aardio/lib/preload/struct.aardio +194 -0
  662. package/aardio/lib/preload/table.aardio +388 -0
  663. package/aardio/lib/preload/thread.aardio +341 -0
  664. package/aardio/lib/process/_.aardio +1510 -0
  665. package/aardio/lib/process/admin.aardio +110 -0
  666. package/aardio/lib/process/apiHook/_.aardio +141 -0
  667. package/aardio/lib/process/atom.aardio +32 -0
  668. package/aardio/lib/process/batch.aardio +89 -0
  669. package/aardio/lib/process/cache.aardio +95 -0
  670. package/aardio/lib/process/chm.aardio +14 -0
  671. package/aardio/lib/process/cmdline.aardio +42 -0
  672. package/aardio/lib/process/code.aardio +128 -0
  673. package/aardio/lib/process/command.aardio +226 -0
  674. package/aardio/lib/process/control.aardio +29 -0
  675. package/aardio/lib/process/curl/_.aardio +91 -0
  676. package/aardio/lib/process/ffmpeg.aardio +63 -0
  677. package/aardio/lib/process/file.aardio +118 -0
  678. package/aardio/lib/process/gcc/_.aardio +236 -0
  679. package/aardio/lib/process/gfortran/_.aardio +71 -0
  680. package/aardio/lib/process/heap.aardio +59 -0
  681. package/aardio/lib/process/imageView.aardio +13 -0
  682. package/aardio/lib/process/job/limitKill.aardio +107 -0
  683. package/aardio/lib/process/mutex.aardio +105 -0
  684. package/aardio/lib/process/php/5.2.aardio +7 -0
  685. package/aardio/lib/process/php/5.6.aardio +10 -0
  686. package/aardio/lib/process/php/_.aardio +119 -0
  687. package/aardio/lib/process/php/cgi.aardio +82 -0
  688. package/aardio/lib/process/popen.aardio +562 -0
  689. package/aardio/lib/process/python/.py/jsonrpyc.py +405 -0
  690. package/aardio/lib/process/python/_.aardio +380 -0
  691. package/aardio/lib/process/python/pip.aardio +143 -0
  692. package/aardio/lib/process/rpc/jsonClient.aardio +285 -0
  693. package/aardio/lib/process/rpc/jsonServer.aardio +293 -0
  694. package/aardio/lib/process/rpc/tcpJsonClient.aardio +36 -0
  695. package/aardio/lib/process/ruby/_.aardio +196 -0
  696. package/aardio/lib/process/ruby/cgi.aardio +76 -0
  697. package/aardio/lib/process/ruby/simpleHttpServer.aardio +44 -0
  698. package/aardio/lib/process/rundll.aardio +44 -0
  699. package/aardio/lib/process/rust/_.aardio +176 -0
  700. package/aardio/lib/process/temp.aardio +116 -0
  701. package/aardio/lib/process/token.aardio +122 -0
  702. package/aardio/lib/process/usage.aardio +74 -0
  703. package/aardio/lib/process/vswhere.aardio +63 -0
  704. package/aardio/lib/process/wmi.aardio +65 -0
  705. package/aardio/lib/process/wow64.aardio +34 -0
  706. package/aardio/lib/protobuf/message.aardio +348 -0
  707. package/aardio/lib/protobuf/parser/_.aardio +362 -0
  708. package/aardio/lib/protobuf/parser/lex.aardio +221 -0
  709. package/aardio/lib/protobuf/parser/message.aardio +315 -0
  710. package/aardio/lib/protobuf/parser/template.aardio +159 -0
  711. package/aardio/lib/protobuf/reader/inputString.aardio +58 -0
  712. package/aardio/lib/protobuf/type/bool.aardio +29 -0
  713. package/aardio/lib/protobuf/type/bytes.aardio +28 -0
  714. package/aardio/lib/protobuf/type/double.aardio +24 -0
  715. package/aardio/lib/protobuf/type/enum.aardio +29 -0
  716. package/aardio/lib/protobuf/type/fixed32.aardio +23 -0
  717. package/aardio/lib/protobuf/type/fixed64.aardio +24 -0
  718. package/aardio/lib/protobuf/type/float.aardio +25 -0
  719. package/aardio/lib/protobuf/type/int32.aardio +29 -0
  720. package/aardio/lib/protobuf/type/int64.aardio +30 -0
  721. package/aardio/lib/protobuf/type/map.aardio +84 -0
  722. package/aardio/lib/protobuf/type/scalar.aardio +12 -0
  723. package/aardio/lib/protobuf/type/sfixed32.aardio +22 -0
  724. package/aardio/lib/protobuf/type/sfixed64.aardio +22 -0
  725. package/aardio/lib/protobuf/type/sint32.aardio +41 -0
  726. package/aardio/lib/protobuf/type/sint64.aardio +41 -0
  727. package/aardio/lib/protobuf/type/string.aardio +28 -0
  728. package/aardio/lib/protobuf/type/uint32.aardio +28 -0
  729. package/aardio/lib/protobuf/type/uint64.aardio +28 -0
  730. package/aardio/lib/raw/apiHook.aardio +122 -0
  731. package/aardio/lib/raw/argsPointer/.res/argsPointer.def +4 -0
  732. package/aardio/lib/raw/argsPointer/.res/argsPointer.dll +0 -0
  733. package/aardio/lib/raw/argsPointer/.res/build.aardio +15 -0
  734. package/aardio/lib/raw/argsPointer/_.aardio +144 -0
  735. package/aardio/lib/raw/asm/opCode.aardio +101 -0
  736. package/aardio/lib/raw/cdeclParameter.aardio +121 -0
  737. package/aardio/lib/raw/fasm/.res/FASM.DLL +0 -0
  738. package/aardio/lib/raw/fasm/.res/LICENSE.TXT +37 -0
  739. package/aardio/lib/raw/fasm/_.aardio +138 -0
  740. package/aardio/lib/raw/functions.aardio +78 -0
  741. package/aardio/lib/raw/interface.aardio +83 -0
  742. package/aardio/lib/raw/jsonCall.aardio +18 -0
  743. package/aardio/lib/raw/memory.aardio +86 -0
  744. package/aardio/lib/raw/pefile.aardio +479 -0
  745. package/aardio/lib/raw/struct.aardio +116 -0
  746. package/aardio/lib/service/_.aardio +742 -0
  747. package/aardio/lib/service/simpleTool.aardio +73 -0
  748. package/aardio/lib/sessionHandler/default.aardio +106 -0
  749. package/aardio/lib/sevenZip/lzma/.res/LzmaUtil.dll +0 -0
  750. package/aardio/lib/sevenZip/lzma/_.aardio +139 -0
  751. package/aardio/lib/sevenZip/lzma/httpFile.aardio +157 -0
  752. package/aardio/lib/sevenZip/lzma/tar.aardio +25 -0
  753. package/aardio/lib/sqlServer/_.aardio +632 -0
  754. package/aardio/lib/sqlite/.res/sqlite3.dll +0 -0
  755. package/aardio/lib/sqlite/_.aardio +6 -0
  756. package/aardio/lib/sqlite/backup.aardio +88 -0
  757. package/aardio/lib/sqlite/base.aardio +967 -0
  758. package/aardio/lib/string/aasdl.aardio +35 -0
  759. package/aardio/lib/string/builder.aardio +212 -0
  760. package/aardio/lib/string/chineseNumber.aardio +216 -0
  761. package/aardio/lib/string/cmdline.aardio +154 -0
  762. package/aardio/lib/string/conv/.res/data.txt +405 -0
  763. package/aardio/lib/string/conv/_.aardio +89 -0
  764. package/aardio/lib/string/conv/pinyin.aardio +65 -0
  765. package/aardio/lib/string/database.aardio +182 -0
  766. package/aardio/lib/string/encoding.aardio +54 -0
  767. package/aardio/lib/string/fontRanges.aardio +117 -0
  768. package/aardio/lib/string/fuzzyMatching.aardio +98 -0
  769. package/aardio/lib/string/glob.aardio +79 -0
  770. package/aardio/lib/string/html.aardio +145 -0
  771. package/aardio/lib/string/intSegments.aardio +52 -0
  772. package/aardio/lib/string/keywords/.res/keywords.dll +0 -0
  773. package/aardio/lib/string/keywords/_.aardio +74 -0
  774. package/aardio/lib/string/list.aardio +266 -0
  775. package/aardio/lib/string/lrc.aardio +209 -0
  776. package/aardio/lib/string/markdown/.res/autolink.c +297 -0
  777. package/aardio/lib/string/markdown/.res/autolink.h +51 -0
  778. package/aardio/lib/string/markdown/.res/buffer.c +234 -0
  779. package/aardio/lib/string/markdown/.res/buffer.h +96 -0
  780. package/aardio/lib/string/markdown/.res/houdini.h +37 -0
  781. package/aardio/lib/string/markdown/.res/houdini_href_e.c +108 -0
  782. package/aardio/lib/string/markdown/.res/houdini_html_e.c +84 -0
  783. package/aardio/lib/string/markdown/.res/html.c +635 -0
  784. package/aardio/lib/string/markdown/.res/html.h +77 -0
  785. package/aardio/lib/string/markdown/.res/html_blocks.h +206 -0
  786. package/aardio/lib/string/markdown/.res/html_smartypants.c +389 -0
  787. package/aardio/lib/string/markdown/.res/markdown.c +2556 -0
  788. package/aardio/lib/string/markdown/.res/markdown.h +138 -0
  789. package/aardio/lib/string/markdown/.res/stack.c +81 -0
  790. package/aardio/lib/string/markdown/.res/stack.h +29 -0
  791. package/aardio/lib/string/markdown/.res/sundown.dll +0 -0
  792. package/aardio/lib/string/markdown/.res//347/224/237/346/210/220DLL.aardio +19 -0
  793. package/aardio/lib/string/markdown/_.aardio +231 -0
  794. package/aardio/lib/string/padding.aardio +54 -0
  795. package/aardio/lib/string/regex.aardio +43 -0
  796. package/aardio/lib/string/res.aardio +20 -0
  797. package/aardio/lib/string/stream.aardio +89 -0
  798. package/aardio/lib/string/template.aardio +21 -0
  799. package/aardio/lib/string/xml.aardio +573 -0
  800. package/aardio/lib/string/xxtea.aardio +103 -0
  801. package/aardio/lib/sys/_.aardio +71 -0
  802. package/aardio/lib/sys/acl.aardio +232 -0
  803. package/aardio/lib/sys/audioVolume/.res/Release/volumeCtrl2.dll +0 -0
  804. package/aardio/lib/sys/audioVolume/.res/stdafx.cpp +8 -0
  805. package/aardio/lib/sys/audioVolume/.res/stdafx.h +16 -0
  806. package/aardio/lib/sys/audioVolume/.res/targetver.h +8 -0
  807. package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.cpp +446 -0
  808. package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.h +52 -0
  809. package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.vcxproj +93 -0
  810. package/aardio/lib/sys/audioVolume/_.aardio +102 -0
  811. package/aardio/lib/sys/baseBoard.aardio +78 -0
  812. package/aardio/lib/sys/comPort.aardio +56 -0
  813. package/aardio/lib/sys/cp210x.aardio +54 -0
  814. package/aardio/lib/sys/cpu.aardio +151 -0
  815. package/aardio/lib/sys/ddcci.aardio +198 -0
  816. package/aardio/lib/sys/device.aardio +217 -0
  817. package/aardio/lib/sys/display.aardio +49 -0
  818. package/aardio/lib/sys/displaySwitch.aardio +27 -0
  819. package/aardio/lib/sys/hd.aardio +152 -0
  820. package/aardio/lib/sys/info.aardio +40 -0
  821. package/aardio/lib/sys/input.aardio +92 -0
  822. package/aardio/lib/sys/installed.aardio +107 -0
  823. package/aardio/lib/sys/locale/_.aardio +103 -0
  824. package/aardio/lib/sys/locale/abbrevNames.aardio +148 -0
  825. package/aardio/lib/sys/mem.aardio +64 -0
  826. package/aardio/lib/sys/midiOut.aardio +415 -0
  827. package/aardio/lib/sys/monitor.aardio +216 -0
  828. package/aardio/lib/sys/mpPreference.aardio +159 -0
  829. package/aardio/lib/sys/networkCards.aardio +84 -0
  830. package/aardio/lib/sys/networkIsolation.aardio +160 -0
  831. package/aardio/lib/sys/power/_.aardio +180 -0
  832. package/aardio/lib/sys/power/notification.aardio +91 -0
  833. package/aardio/lib/sys/printer.aardio +271 -0
  834. package/aardio/lib/sys/qfe.aardio +14 -0
  835. package/aardio/lib/sys/reg.aardio +40 -0
  836. package/aardio/lib/sys/run.aardio +32 -0
  837. package/aardio/lib/sys/runAsTask.aardio +87 -0
  838. package/aardio/lib/sys/soundDevice.aardio +46 -0
  839. package/aardio/lib/sys/storage.aardio +173 -0
  840. package/aardio/lib/sys/upnp/nat.aardio +126 -0
  841. package/aardio/lib/sys/vc11.aardio +14 -0
  842. package/aardio/lib/sys/vc14.aardio +98 -0
  843. package/aardio/lib/sys/volume.aardio +134 -0
  844. package/aardio/lib/sys/wallpaper.aardio +45 -0
  845. package/aardio/lib/sys/wsa.aardio +98 -0
  846. package/aardio/lib/table/product.aardio +79 -0
  847. package/aardio/lib/table/zip.aardio +40 -0
  848. package/aardio/lib/tcc/.dll/RELICENSING +60 -0
  849. package/aardio/lib/tcc/.dll/libtcc.dll +0 -0
  850. package/aardio/lib/tcc/.dll/libtcc.h +100 -0
  851. package/aardio/lib/tcc/.res.tar.lzma +0 -0
  852. package/aardio/lib/tcc/_.aardio +311 -0
  853. package/aardio/lib/thread/apiHook.aardio +109 -0
  854. package/aardio/lib/thread/atom.aardio +27 -0
  855. package/aardio/lib/thread/cmdline.aardio +18 -0
  856. package/aardio/lib/thread/command.aardio +315 -0
  857. package/aardio/lib/thread/dlManager.aardio +211 -0
  858. package/aardio/lib/thread/event.aardio +97 -0
  859. package/aardio/lib/thread/manage.aardio +166 -0
  860. package/aardio/lib/thread/semaphore.aardio +86 -0
  861. package/aardio/lib/thread/shareHandle.aardio +49 -0
  862. package/aardio/lib/thread/table.aardio +193 -0
  863. package/aardio/lib/thread/token.aardio +58 -0
  864. package/aardio/lib/thread/works.aardio +198 -0
  865. package/aardio/lib/time/ntp.aardio +160 -0
  866. package/aardio/lib/time/ole.aardio +179 -0
  867. package/aardio/lib/time/performance.aardio +28 -0
  868. package/aardio/lib/time/timer.aardio +32 -0
  869. package/aardio/lib/time/zone.aardio +97 -0
  870. package/aardio/lib/ustring/_.aardio +305 -0
  871. package/aardio/lib/util/_.aardio +157 -0
  872. package/aardio/lib/util/metaProperty.aardio +100 -0
  873. package/aardio/lib/util/registry.aardio +46 -0
  874. package/aardio/lib/util/table.aardio +118 -0
  875. package/aardio/lib/web/_.aardio +50 -0
  876. package/aardio/lib/web/asynServer.aardio +12 -0
  877. package/aardio/lib/web/form/_.aardio +1572 -0
  878. package/aardio/lib/web/form/menu.aardio +63 -0
  879. package/aardio/lib/web/form/query.aardio +77 -0
  880. package/aardio/lib/web/form/snap.aardio +63 -0
  881. package/aardio/lib/web/form/sockpuppet.aardio +75 -0
  882. package/aardio/lib/web/form/util.aardio +194 -0
  883. package/aardio/lib/web/json.aardio +489 -0
  884. package/aardio/lib/web/layout/.res/HTMLayout.dll +0 -0
  885. package/aardio/lib/web/layout/.res/master.css +9 -0
  886. package/aardio/lib/web/layout/_.aardio +704 -0
  887. package/aardio/lib/web/layout/behavior/_.aardio +34 -0
  888. package/aardio/lib/web/layout/behavior/collapsibleByIcon.aardio +22 -0
  889. package/aardio/lib/web/layout/behavior/collapsibleList.aardio +37 -0
  890. package/aardio/lib/web/layout/behavior/dragable.aardio +71 -0
  891. package/aardio/lib/web/layout/behavior/dropdown.aardio +15 -0
  892. package/aardio/lib/web/layout/behavior/expandableList.aardio +97 -0
  893. package/aardio/lib/web/layout/behavior/grid.aardio +288 -0
  894. package/aardio/lib/web/layout/behavior/gripper.aardio +12 -0
  895. package/aardio/lib/web/layout/behavior/lightBoxDialog.aardio +76 -0
  896. package/aardio/lib/web/layout/behavior/path.aardio +14 -0
  897. package/aardio/lib/web/layout/behavior/popup.aardio +44 -0
  898. package/aardio/lib/web/layout/behavior/scroller.aardio +32 -0
  899. package/aardio/lib/web/layout/behavior/selectionBox.aardio +60 -0
  900. package/aardio/lib/web/layout/behavior/shellIcon.aardio +37 -0
  901. package/aardio/lib/web/layout/behavior/sizer.aardio +52 -0
  902. package/aardio/lib/web/layout/behavior/sortableGrid.aardio +63 -0
  903. package/aardio/lib/web/layout/behavior/splitter.aardio +134 -0
  904. package/aardio/lib/web/layout/behavior/tabs.aardio +438 -0
  905. package/aardio/lib/web/layout/behavior/windowCommand.aardio +163 -0
  906. package/aardio/lib/web/layout/behavior/windowSizer.aardio +117 -0
  907. package/aardio/lib/web/layout/debug.aardio +54 -0
  908. package/aardio/lib/web/layout/element/_.aardio +1388 -0
  909. package/aardio/lib/web/layout/element/state.aardio +133 -0
  910. package/aardio/lib/web/layout/element/style.aardio +46 -0
  911. package/aardio/lib/web/layout/event/_.aardio +1047 -0
  912. package/aardio/lib/web/layout/valueObject.aardio +402 -0
  913. package/aardio/lib/web/mshtml.aardio +233 -0
  914. package/aardio/lib/web/msxml.aardio +198 -0
  915. package/aardio/lib/web/multipartFormData.aardio +134 -0
  916. package/aardio/lib/web/nativeMessaging/_.aardio +101 -0
  917. package/aardio/lib/web/nativeMessaging/install.aardio +33 -0
  918. package/aardio/lib/web/npm/_.aardio +45 -0
  919. package/aardio/lib/web/parser.aardio +122 -0
  920. package/aardio/lib/web/rest/client.aardio +606 -0
  921. package/aardio/lib/web/rest/github.aardio +90 -0
  922. package/aardio/lib/web/rest/htmlClient.aardio +52 -0
  923. package/aardio/lib/web/rest/jsonClient.aardio +67 -0
  924. package/aardio/lib/web/rest/jsonLiteClient.aardio +67 -0
  925. package/aardio/lib/web/rest/qywx.aardio +85 -0
  926. package/aardio/lib/web/rest/smsActivate/_.aardio +266 -0
  927. package/aardio/lib/web/rest/smsActivate/countryList.aardio +206 -0
  928. package/aardio/lib/web/rest/smsActivate/serviceList.aardio +548 -0
  929. package/aardio/lib/web/rest/xmlClient.aardio +28 -0
  930. package/aardio/lib/web/rpc/externalServer.aardio +257 -0
  931. package/aardio/lib/web/rpc/jsonClient.aardio +234 -0
  932. package/aardio/lib/web/rpc/jsonServer.aardio +244 -0
  933. package/aardio/lib/web/script/_.aardio +201 -0
  934. package/aardio/lib/web/script/es5.aardio +2259 -0
  935. package/aardio/lib/web/script/json.aardio +56 -0
  936. package/aardio/lib/web/simpleServer.aardio +20 -0
  937. package/aardio/lib/web/soapClient/_.aardio +241 -0
  938. package/aardio/lib/web/soapClient/parameters.aardio +87 -0
  939. package/aardio/lib/web/socket/chrome.aardio +122 -0
  940. package/aardio/lib/web/socket/client.aardio +515 -0
  941. package/aardio/lib/web/socket/jsonClient.aardio +274 -0
  942. package/aardio/lib/web/socket/jsonServer.aardio +322 -0
  943. package/aardio/lib/web/socket/server.aardio +533 -0
  944. package/aardio/lib/web/ui/_.aardio +291 -0
  945. package/aardio/lib/web/uploadData.aardio +34 -0
  946. package/aardio/lib/web/view/.res/webview.dll +0 -0
  947. package/aardio/lib/web/view/_.aardio +635 -0
  948. package/aardio/lib/web/view/dev.aardio +146 -0
  949. package/aardio/lib/win/#DEFINE.aardio +7002 -0
  950. package/aardio/lib/win/_.aardio +1027 -0
  951. package/aardio/lib/win/animate.aardio +81 -0
  952. package/aardio/lib/win/api.aardio +57 -0
  953. package/aardio/lib/win/appBar.aardio +136 -0
  954. package/aardio/lib/win/clip/_.aardio +83 -0
  955. package/aardio/lib/win/clip/file.aardio +94 -0
  956. package/aardio/lib/win/clip/gif.aardio +30 -0
  957. package/aardio/lib/win/clip/html.aardio +128 -0
  958. package/aardio/lib/win/clip/png.aardio +47 -0
  959. package/aardio/lib/win/clip/viewer.aardio +44 -0
  960. package/aardio/lib/win/cur.aardio +58 -0
  961. package/aardio/lib/win/debounce.aardio +20 -0
  962. package/aardio/lib/win/dlg/_.aardio +7 -0
  963. package/aardio/lib/win/dlg/chineseNumber.aardio +220 -0
  964. package/aardio/lib/win/dlg/color.aardio +35 -0
  965. package/aardio/lib/win/dlg/ctrlColor.aardio +49 -0
  966. package/aardio/lib/win/dlg/findReplace.aardio +117 -0
  967. package/aardio/lib/win/dlg/font.aardio +53 -0
  968. package/aardio/lib/win/dlg/message.aardio +305 -0
  969. package/aardio/lib/win/dlg/print.aardio +99 -0
  970. package/aardio/lib/win/font.aardio +174 -0
  971. package/aardio/lib/win/guid.aardio +137 -0
  972. package/aardio/lib/win/image.aardio +204 -0
  973. package/aardio/lib/win/imageList.aardio +145 -0
  974. package/aardio/lib/win/inputBox.aardio +66 -0
  975. package/aardio/lib/win/messageFilter.aardio +44 -0
  976. package/aardio/lib/win/ole/_.aardio +25 -0
  977. package/aardio/lib/win/path.aardio +85 -0
  978. package/aardio/lib/win/property.aardio +21 -0
  979. package/aardio/lib/win/reg.aardio +530 -0
  980. package/aardio/lib/win/region/_.aardio +33 -0
  981. package/aardio/lib/win/region/bitmap/.res/build.aardio +257 -0
  982. package/aardio/lib/win/region/bitmap/.res/c.dll +0 -0
  983. package/aardio/lib/win/region/bitmap/_.aardio +108 -0
  984. package/aardio/lib/win/region/hole.aardio +56 -0
  985. package/aardio/lib/win/region/png/.res/build.aardio +41 -0
  986. package/aardio/lib/win/region/png/.res/c.dll +0 -0
  987. package/aardio/lib/win/region/png/_.aardio +108 -0
  988. package/aardio/lib/win/region/round.aardio +69 -0
  989. package/aardio/lib/win/region/transparent.aardio +38 -0
  990. package/aardio/lib/win/rt/bcp47.aardio +102 -0
  991. package/aardio/lib/win/rt/hString.aardio +105 -0
  992. package/aardio/lib/win/subclass.aardio +38 -0
  993. package/aardio/lib/win/taskScheduler.aardio +194 -0
  994. package/aardio/lib/win/timer.aardio +86 -0
  995. package/aardio/lib/win/ts/_.aardio +155 -0
  996. package/aardio/lib/win/ts/changeNotification.aardio +56 -0
  997. package/aardio/lib/win/ui/_.aardio +1897 -0
  998. package/aardio/lib/win/ui/accelerator.aardio +87 -0
  999. package/aardio/lib/win/ui/atom.aardio +57 -0
  1000. package/aardio/lib/win/ui/background.aardio +204 -0
  1001. package/aardio/lib/win/ui/ctrl/_.aardio +193 -0
  1002. package/aardio/lib/win/ui/ctrl/atlax.aardio +125 -0
  1003. package/aardio/lib/win/ui/ctrl/bk.aardio +191 -0
  1004. package/aardio/lib/win/ui/ctrl/bkplus.aardio +306 -0
  1005. package/aardio/lib/win/ui/ctrl/button.aardio +348 -0
  1006. package/aardio/lib/win/ui/ctrl/calendar.aardio +135 -0
  1007. package/aardio/lib/win/ui/ctrl/checklist.aardio +33 -0
  1008. package/aardio/lib/win/ui/ctrl/close.aardio +62 -0
  1009. package/aardio/lib/win/ui/ctrl/combobox.aardio +343 -0
  1010. package/aardio/lib/win/ui/ctrl/custom.aardio +159 -0
  1011. package/aardio/lib/win/ui/ctrl/datetimepick.aardio +185 -0
  1012. package/aardio/lib/win/ui/ctrl/edit.aardio +671 -0
  1013. package/aardio/lib/win/ui/ctrl/hotkey.aardio +126 -0
  1014. package/aardio/lib/win/ui/ctrl/ipaddress.aardio +134 -0
  1015. package/aardio/lib/win/ui/ctrl/listbox.aardio +323 -0
  1016. package/aardio/lib/win/ui/ctrl/listview.aardio +1642 -0
  1017. package/aardio/lib/win/ui/ctrl/metaProperty/_.aardio +1220 -0
  1018. package/aardio/lib/win/ui/ctrl/pick/.res/color.cur +0 -0
  1019. package/aardio/lib/win/ui/ctrl/pick/.res/color.png +0 -0
  1020. package/aardio/lib/win/ui/ctrl/pick/_.aardio +1010 -0
  1021. package/aardio/lib/win/ui/ctrl/picturebox.aardio +183 -0
  1022. package/aardio/lib/win/ui/ctrl/plus.aardio +2086 -0
  1023. package/aardio/lib/win/ui/ctrl/progress.aardio +149 -0
  1024. package/aardio/lib/win/ui/ctrl/richedit.aardio +916 -0
  1025. package/aardio/lib/win/ui/ctrl/scrollbar.aardio +153 -0
  1026. package/aardio/lib/win/ui/ctrl/spin.aardio +216 -0
  1027. package/aardio/lib/win/ui/ctrl/splitter.aardio +261 -0
  1028. package/aardio/lib/win/ui/ctrl/static.aardio +167 -0
  1029. package/aardio/lib/win/ui/ctrl/syslink.aardio +132 -0
  1030. package/aardio/lib/win/ui/ctrl/tab.aardio +312 -0
  1031. package/aardio/lib/win/ui/ctrl/thread.aardio +86 -0
  1032. package/aardio/lib/win/ui/ctrl/trackbar.aardio +274 -0
  1033. package/aardio/lib/win/ui/ctrl/treeview.aardio +1051 -0
  1034. package/aardio/lib/win/ui/ctrl/vlistview.aardio +17 -0
  1035. package/aardio/lib/win/ui/explorer.aardio +243 -0
  1036. package/aardio/lib/win/ui/fade.aardio +65 -0
  1037. package/aardio/lib/win/ui/grid.aardio +224 -0
  1038. package/aardio/lib/win/ui/layered.aardio +189 -0
  1039. package/aardio/lib/win/ui/layeredRound.aardio +18 -0
  1040. package/aardio/lib/win/ui/listEdit.aardio +93 -0
  1041. package/aardio/lib/win/ui/listPopup.aardio +130 -0
  1042. package/aardio/lib/win/ui/localization.aardio +18 -0
  1043. package/aardio/lib/win/ui/mask.aardio +51 -0
  1044. package/aardio/lib/win/ui/menu.aardio +646 -0
  1045. package/aardio/lib/win/ui/minmax.aardio +133 -0
  1046. package/aardio/lib/win/ui/orphanPlus.aardio +62 -0
  1047. package/aardio/lib/win/ui/resizeBorder.aardio +75 -0
  1048. package/aardio/lib/win/ui/scrollbar.aardio +121 -0
  1049. package/aardio/lib/win/ui/shadow.aardio +274 -0
  1050. package/aardio/lib/win/ui/simpleWindow.aardio +124 -0
  1051. package/aardio/lib/win/ui/simpleWindow2.aardio +84 -0
  1052. package/aardio/lib/win/ui/simpleWindow3.aardio +45 -0
  1053. package/aardio/lib/win/ui/statusbar.aardio +185 -0
  1054. package/aardio/lib/win/ui/tabs.aardio +1312 -0
  1055. package/aardio/lib/win/ui/toolbar.aardio +415 -0
  1056. package/aardio/lib/win/ui/tooltip.aardio +490 -0
  1057. package/aardio/lib/win/ui/tracker.aardio +289 -0
  1058. package/aardio/lib/win/util/autoComplete.aardio +34 -0
  1059. package/aardio/lib/win/util/changeNotification.aardio +196 -0
  1060. package/aardio/lib/win/util/desktop.aardio +123 -0
  1061. package/aardio/lib/win/util/deviceNotification.aardio +217 -0
  1062. package/aardio/lib/win/util/lyric.aardio +111 -0
  1063. package/aardio/lib/win/util/popup.aardio +98 -0
  1064. package/aardio/lib/win/util/round.aardio +8 -0
  1065. package/aardio/lib/win/util/savePosition.aardio +51 -0
  1066. package/aardio/lib/win/util/shellhook.aardio +43 -0
  1067. package/aardio/lib/win/util/tray.aardio +197 -0
  1068. package/aardio/lib/win/version.aardio +177 -0
  1069. package/aardio/lib/win/versionEx.aardio +70 -0
  1070. package/aardio/lib/winex/_.aardio +740 -0
  1071. package/aardio/lib/winex/accObject/_.aardio +287 -0
  1072. package/aardio/lib/winex/accObject/element.aardio +235 -0
  1073. package/aardio/lib/winex/caret.aardio +73 -0
  1074. package/aardio/lib/winex/ctrl/_.aardio +4 -0
  1075. package/aardio/lib/winex/ctrl/edit.aardio +44 -0
  1076. package/aardio/lib/winex/ctrl/listview.aardio +383 -0
  1077. package/aardio/lib/winex/desktop.aardio +22 -0
  1078. package/aardio/lib/winex/key.aardio +102 -0
  1079. package/aardio/lib/winex/mouse.aardio +137 -0
  1080. package/aardio/lib/winex/selection.aardio +113 -0
  1081. package/aardio/lib/winex/tooltip.aardio +88 -0
  1082. package/aardio/lib/wsock/_.aardio +794 -0
  1083. package/aardio/lib/wsock/addrInfo.aardio +74 -0
  1084. package/aardio/lib/wsock/err.aardio +115 -0
  1085. package/aardio/lib/wsock/networkChange.aardio +69 -0
  1086. package/aardio/lib/wsock/tcp/asynClient.aardio +320 -0
  1087. package/aardio/lib/wsock/tcp/asynHttpServer.aardio +898 -0
  1088. package/aardio/lib/wsock/tcp/asynServer.aardio +323 -0
  1089. package/aardio/lib/wsock/tcp/client.aardio +722 -0
  1090. package/aardio/lib/wsock/tcp/jsonClient.aardio +243 -0
  1091. package/aardio/lib/wsock/tcp/server.aardio +153 -0
  1092. package/aardio/lib/wsock/tcp/simpleHttpServer.aardio +903 -0
  1093. package/aardio/lib/wsock/tcp/socks5Client.aardio +129 -0
  1094. package/aardio/lib/wsock/udp/asynClient.aardio +62 -0
  1095. package/aardio/lib/wsock/udp/client.aardio +210 -0
  1096. package/aardio/lib/wsock/udp/ssdpClient.aardio +71 -0
  1097. package/aardio/lib/zlib/.res/zlibwapi.dll +0 -0
  1098. package/aardio/lib/zlib/_.aardio +404 -0
  1099. package/aardio/lib/zlib/httpFile.aardio +160 -0
  1100. package/aardio/lib/zlib/installer.aardio +66 -0
  1101. package/aardio/lib/zlib/unzip.aardio +261 -0
  1102. package/aardio/lib/zlib/zip.aardio +185 -0
  1103. package/aardio/project/aview/.build/default.Manifest.xml +61 -0
  1104. package/aardio/project/aview/.build/default.init.aardio +2 -0
  1105. package/aardio/project/aview/.build/default.main.aardio +6 -0
  1106. package/aardio/project/aview/.build/mp.lock +1 -0
  1107. package/aardio/project/aview/.build/update-maker.table +6 -0
  1108. package/aardio/project/aview/default.aproj +8 -0
  1109. package/aardio/project/aview/lib/aview/_.aardio +339 -0
  1110. package/aardio/project/aview/lib/aview/patch.aardio +411 -0
  1111. package/aardio/project/aview/lib/com/lite2.aardio +27 -0
  1112. package/aardio/project/aview/lib/fsys/file2.aardio +80 -0
  1113. package/aardio/project/aview/lib/fsys/update/simpleMain2.aardio +291 -0
  1114. package/aardio/project/aview/lib/key/hotkey2/_.aardio +552 -0
  1115. package/aardio/project/aview/lib/process/default.aardio +17 -0
  1116. package/aardio/project/aview/lib/process/popen2.aardio +75 -0
  1117. package/aardio/project/aview/lib/web/view2/_.aardio +706 -0
  1118. package/aardio/project/aview/lib/win/ui/menu2.aardio +154 -0
  1119. package/aardio/project/aview/main.aardio +124 -0
  1120. package/aardio/project/aview/res/env.d.ts +23 -0
  1121. package/aardio/project/aview/res/index.js +641 -0
  1122. package/aardio/project/aview/res/index.ts +1116 -0
  1123. package/aardio/project/aview/res/tsconfig.json +103 -0
  1124. package/bin/aview.js +2 -0
  1125. package/dist/node/cli.js +1 -0
  1126. package/index.js +1 -0
  1127. package/package.json +19 -0
@@ -0,0 +1,1897 @@
1
+ import win.ui.ctrl;
2
+ import win.ui.background;
3
+ import gdi;
4
+
5
+ namespace win.ui{
6
+
7
+ waitCursor = function(wait,hCur){
8
+ if( wait ){
9
+ if(hCur===null) hCur = ::User32.LoadCursor(null,0x7F02/*_IDC_WAIT*/);
10
+ ::User32.SetCursor( hCur );
11
+ ..win._form._defaultProc[0x20/*_WM_SETCURSOR*/] = function(this,hwnd, message, wParam, lParam){
12
+ ::User32.SetCursor( hCur );
13
+ return true;
14
+ }
15
+ if( type(wait) = type.function ){
16
+ wait();
17
+ ..win._form._defaultProc[0x20/*_WM_SETCURSOR*/] = null;
18
+ }
19
+ }
20
+ else {
21
+ ..win._form._defaultProc[0x20/*_WM_SETCURSOR*/] = null;
22
+ }
23
+ }
24
+
25
+ self.NMHDR = ::NMHDR; //@Deprecated
26
+ }
27
+
28
+ class win.form {
29
+
30
+ ctor( tParam ) begin
31
+
32
+ //这句必须放最前面,以保证自定义控件设计时大小不会被修改
33
+ tParam = ..table.mix(tParam,{
34
+ left = -1;top = -1;right = 759;bottom = 469;
35
+ });
36
+
37
+ this.hInstance = _HINSTANSE;
38
+ this._mapCommandProc = { lastFreeId = tParam.lastFreeId : 5000;freeIds={} };
39
+ this._ctrlId = { lastFreeId = 3;freeIds={} };//控件ID映射关系
40
+ this._ctrlHwnd = {};
41
+ this._ctrlAutoResize = {};
42
+ this._uncontrolledHwnd = {};
43
+ this._onlyDirectDrawBackground = {};
44
+ this._directDrawBackground = {};
45
+ this._tTimeProc = {};
46
+ this._tTimeProcEntered = {};
47
+ this._tTimeTicks = { lastFreeId = 1;freeIds={} };
48
+ this.isDialogMessage = ..win.isDialogMessage;
49
+
50
+ //不允许自定义控件重写的属性,请写在这段代码前面
51
+ if( tParam.tParam ){
52
+ for(k,v in tParam.tParam){
53
+ if(tParam[k]===null){
54
+ tParam[k] = v;
55
+ }
56
+ }
57
+
58
+ if( tParam.id === null )tParam.id = 0;
59
+ }
60
+ else {
61
+ tParam.id = 0;
62
+ }
63
+ tParam.exstyle := 0;
64
+ tParam.style := 0;
65
+
66
+ var x = tParam.left;
67
+ var y = tParam.top;
68
+ var cx = tParam.right - x;
69
+ var cy = tParam.bottom - y;
70
+ this._defClientRect = ::RECT( 0, 0, cx, cy);
71
+
72
+ select( tParam.exmode ) {
73
+ case "toolwindow" {
74
+ tParam.exstyle |= 0x80/*_WS_EX_TOOLWINDOW*/;
75
+ }
76
+ case "none" {
77
+ tParam.exstyle |= 0;
78
+ }
79
+ else {
80
+ tParam.exstyle |= 0x40000/*_WS_EX_APPWINDOW*/;
81
+ };
82
+ }
83
+
84
+ if(tParam.composited)
85
+ tParam.exstyle |= 0x2000000/*_WS_EX_COMPOSITED*/
86
+
87
+ if(tParam.acceptfiles)
88
+ tParam.exstyle |= 0x10/*_WS_EX_ACCEPTFILES*/
89
+
90
+ if(tParam.frame)
91
+ tParam.exstyle |= 0x1/*_WS_EX_DLGMODALFRAME*/
92
+
93
+ if(tParam.cp)
94
+ tParam.exstyle |= 0x10000/*_WS_EX_CONTROLPARENT*/
95
+
96
+ if(tParam.topmost)
97
+ tParam.exstyle |= 0x8/*_WS_EX_TOPMOST*/
98
+
99
+ select( tParam.mode ) {
100
+ case "child" {
101
+ tParam.style |= 0x40000000/*_WS_CHILD*/
102
+ }
103
+ case "popup" {
104
+ if(!(tParam.style&0x40000000/*_WS_CHILD*/)) tParam.style |= 0x80000000/*_WS_POPUP*/ ;
105
+ else {
106
+ tParam.border = "none";
107
+ }
108
+ }
109
+ else {
110
+ tParam.style |= 0x0/*_WS_OVERLAPPED*/;
111
+ }
112
+
113
+ }
114
+
115
+ if(! (#(tParam.text)) ){
116
+ tParam.title = false;
117
+ }
118
+
119
+ if(tParam.title === false )
120
+ tParam.style := 0x80000000/*_WS_POPUP*/
121
+
122
+ var delTitle = ~0xC00000/*_WS_CAPTION*/;
123
+ select( tParam.border ) {
124
+ case "dialog frame"{
125
+ tParam.style |= 0x400000/*_WS_DLGFRAME*/;
126
+ delTitle = ~0x800000/*_WS_BORDER*/;
127
+ }
128
+ case "thin" {
129
+ tParam.style |= 0x800000/*_WS_BORDER*/;
130
+ delTitle = ~0x400000/*_WS_DLGFRAME*/;
131
+ }
132
+ case "none" {
133
+ //无边框窗口
134
+ //取消默认的 0x0/*_WS_OVERLAPPED* 样式
135
+ tParam.style := 0x80000000/*_WS_POPUP*/
136
+ tParam.style &= ~ 0x800000/*_WS_BORDER*/;
137
+
138
+ tParam.title = false;
139
+ }
140
+ else {
141
+ tParam.style |= 0x40000/*_WS_SIZEBOX*/;
142
+ }
143
+ }
144
+
145
+ if(tParam.title===false) {
146
+ tParam.style &= delTitle //避免去掉标题栏时覆盖了边框设置
147
+ }
148
+ else{
149
+ tParam.style |= 0xC00000/*_WS_CAPTION*/
150
+ }
151
+
152
+ if(tParam.max!==false)
153
+ tParam.style |= 0x10000/*_WS_MAXIMIZEBOX*/
154
+ else
155
+ tParam.style &= ~0x10000/*_WS_MAXIMIZEBOX*/
156
+
157
+ if(tParam.min!==false)
158
+ tParam.style |= 0x20000/*_WS_MINIMIZEBOX*/
159
+ else
160
+ tParam.style &= ~0x20000/*_WS_MINIMIZEBOX*/
161
+
162
+
163
+ if(tParam.sysmenu!==false) {
164
+ tParam.style |= 0x80000/*_WS_SYSMENU*/
165
+ }
166
+ else {
167
+ tParam.style &= ~0x80000/*_WS_SYSMENU*/
168
+ }
169
+
170
+ if( tParam.maximize ){
171
+ tParam.style |= 0x1000000/*_WS_MAXIMIZE*/;
172
+ }
173
+ if( tParam.minimize ){
174
+ tParam.style |= 0x20000000/*_WS_MINIMIZE*/
175
+ }
176
+
177
+ if( tParam.clipch ){
178
+ tParam.style |= 0x2000000/*_WS_CLIPCHILDREN*/;
179
+ }
180
+
181
+ this@ = _metaProperty;
182
+ if( ( type( tParam.parent) == "table" ) ){
183
+ this.parent = tParam.parent;
184
+ tParam.parent = tParam.parent.hwnd;
185
+ }
186
+
187
+ if( type( tParam.parent ) != "number" )
188
+ tParam.parent = 0;
189
+
190
+ if( tParam[["hwnd"]] || tParam[["createWindowEx"]] ){
191
+ this.hwnd = tParam[["hwnd"]]
192
+ if( !this.hwnd ){
193
+ this.hwnd = tParam[["createWindowEx"]](tParam.exstyle,tParam.className,tParam.text,tParam.style ,
194
+ x,y,cx,cy,tParam.parent,tParam.id/*menu*/, _HINSTANSE );
195
+ }
196
+
197
+ if( !this.hwnd ) return;
198
+ if(!this._defClientRect){
199
+ this._defClientRect = ..win.getClientRect(tParam.hwnd) ;
200
+ };
201
+
202
+ this._defWindowProc = function(hwnd, message, wParam , lParam){
203
+ return ::CallWindowProc(this._wndproc_c_prev, hwnd, message, wParam , lParam);
204
+ }
205
+ }
206
+ else{
207
+ if( ! tParam.className ){
208
+ tParam.cls := "AARDIO_FORM"
209
+ tParam.className = ..win.registerFormClass( tParam.cls );
210
+ if( ! tParam.className ){
211
+ error("注册窗口类失败1",2);
212
+ };
213
+
214
+ this._defWindowProc = ::DefWindowProc;
215
+ }
216
+ else {
217
+ tParam.className = ..win.registerFormClass( tParam.cls,,tParam.className );
218
+ if( !tParam.className ) error("注册窗口类失败2",2);
219
+
220
+ this._defWindowProc = function(hwnd, message, wParam , lParam){
221
+ return ::CallWindowProc(this._wndproc_c_prev, hwnd, message, wParam , lParam);
222
+ }
223
+ }
224
+
225
+ if( tParam.bkLeft != null ){
226
+ this.bkLeft = tParam.bkLeft;
227
+ this.bkRight = tParam.bkRight;
228
+ this.bkTop = tParam.bkTop;
229
+ this.bkBottom= tParam.bkBottom;
230
+ }
231
+
232
+ var rcWnd = ::RECT(x, y, x+cx , y+cy );
233
+ ::User32.AdjustWindowRectEx(rcWnd, tParam.style, 0, tParam.exstyle); //client to window
234
+ cx = rcWnd.right - rcWnd.left;
235
+ cy = rcWnd.bottom - rcWnd.top;
236
+
237
+ var rcWk = ..win.getWorkArea(tParam.parent);
238
+ if(x<0){
239
+ var sx = rcWk.width();
240
+ if(sx>cx){
241
+ if(x==-1)
242
+ x = rcWk.left + (sx-cx)/2;
243
+ else
244
+ x = rcWk.left + (sx-cx)+x+2
245
+ }
246
+ else
247
+ x = rcWk.left;
248
+ }
249
+ else {
250
+ x = rcWk.left + x;
251
+ }
252
+
253
+ if(y<0){
254
+ var sy = rcWk.height();
255
+ if(sy>cy){
256
+ if(y==-1)
257
+ y = rcWk.top + (sy-cy)/2;
258
+ else
259
+ y = rcWk.top + (sy-cy) + y+2
260
+ }
261
+ else
262
+ y = rcWk.top;
263
+ }
264
+ else {
265
+ y = rcWk.top + y;
266
+ }
267
+
268
+ this.hwnd = createWindowEx(tParam.exstyle,tParam.className,tParam.text,tParam.style ,
269
+ x,y,cx,cy,tParam.parent,tParam.id/*menu*/, _HINSTANSE );
270
+
271
+ if(!this.hwnd)
272
+ return null,"CreateWindowEx failed!";
273
+
274
+ if(!..win.title ) ..win.title = tParam.text;
275
+ }
276
+ this[["scroll"]] = tParam.scroll;
277
+
278
+ var wndproc = function( hwnd, message, wParam , lParam) {
279
+ if( this[["wndproc__"]] ) {
280
+ var result = this.wndproc__( hwnd, message, wParam , lParam );
281
+ if( (result !== null) && ( message!=0x2/*_WM_DESTROY*/) )//用非恒等式来排除0,false等逻辑假的值
282
+ return result;
283
+ }
284
+ var proc = _defaultProc[message]
285
+ if( proc ){
286
+ var result = proc(this,hwnd,message,wParam,lParam)
287
+ if( result !== null )
288
+ return result;
289
+ }
290
+
291
+ return this._defWindowProc(hwnd,message,wParam,lParam);
292
+ };
293
+ this._wndproc_c = ..raw.tostdcall( wndproc,"addr(addr,INT,ADDR,addr)",this/*设为owner对象*/)
294
+ this._wndproc_c_prev = ::SetWindowPointer(this.hwnd,0xFFFFFFFC/*_GWL_WNDPROC*/, this._wndproc_c);
295
+ _forms[this.hwnd] = this;
296
+
297
+ this.background = ..win.ui.background(this);
298
+ if( tParam.bgcolor !== null ) this.background.setColor( tParam.bgcolor );
299
+ if( tParam.image ) this.background.loadImage( tParam.image );
300
+
301
+ ..win.resetMessage();//移除_WM_QUIT消息,重置消息循环
302
+ end;
303
+ }
304
+
305
+ namespace win.form{
306
+
307
+ createWindowEx = ::CreateWindowEx;
308
+ var ctrl_factory = ..win.ui.ctrl.factory
309
+
310
+ _forms = {} //记录所有win.form对象,创建则添加此表,销毁则从表中移除
311
+
312
+ getForm = function(hwnd){
313
+ var winform = _forms[hwnd];
314
+ while(!winform){
315
+ hwnd = ..win.getParentOwner(hwnd);
316
+ if(!hwnd)
317
+ return null;
318
+ winform = _forms[hwnd];
319
+ }
320
+
321
+ return winform;
322
+ };
323
+
324
+ getParentForm = function(hwnd){
325
+ var winform = _forms[hwnd];
326
+ while(!winform){
327
+ hwnd = ..win.getParent(hwnd);
328
+ if(!hwnd)
329
+ return null;
330
+ winform = _forms[hwnd];
331
+ }
332
+
333
+ return winform;
334
+ };
335
+
336
+ /*默认消息处理函数defaultProc{{*/
337
+ _defaultProc = {
338
+ [ 0x113/*_WM_TIMER*/ ] = function(this,hwnd, message, wParam, lParam){
339
+ var proc = this._tTimeProc[wParam];
340
+ if( proc ){
341
+ if( this._tTimeProcEntered[wParam] ) return;
342
+
343
+ this._tTimeProcEntered[wParam] = true;
344
+ var ret = proc(hwnd,message,wParam,this._tTimeTicks[wParam] )
345
+ this._tTimeProcEntered[wParam] = null;
346
+
347
+ if( (ret !== null) && ( ret!== true ) ){
348
+ var tick = tonumber(ret)
349
+ if( !tick ){
350
+ this.killtimer(wParam)//移除此定时器
351
+ }
352
+ else {
353
+ this.settimer(wParam,tick)//重新设定时间间隔
354
+ }
355
+ }
356
+ }
357
+ }
358
+ [ 0x4A/*_WM_COPYDATA*/ ] = function( this,hwnd,message,wParam,lParam ){
359
+ if(lParam && this.onCopyData ){
360
+ var s,n = ..win.getCopyData(lParam);
361
+ if( s ){
362
+ if( n == 0xffffffff && s[1] == '{'# )s = eval( s );
363
+ }
364
+ return this.onCopyData( s,n );
365
+ }
366
+ }
367
+ [0xACCC/*_WM_THREAD_COMMAND*/] = function( this,hwnd,message,wParam,lParam ){
368
+ if( this.__onThreadCommand ) return this.__onThreadCommand(wParam);
369
+ }
370
+ [0xACCE/*_WM_THREAD_CALLBACK*/] = function( this,hwnd,message,wParam,lParam ){
371
+ if(!(wParam && lParam) ) return 0;
372
+ var p = topointer(wParam);
373
+
374
+ var proto = ..raw.str(p);//::User32.SendMessageA
375
+ var name,struct = ..string.match(proto,"\s*(.+?)\s*(%\(\))");
376
+
377
+ var unicode;
378
+ if(!(name&&struct)){
379
+ proto = ..string.fromUnicode(p,,true); //::User32.SendMessageW
380
+ name,struct = ..string.match(proto,"\s*(.+?)\s*(%\(\))");
381
+ unicode = true;
382
+ }
383
+
384
+ if(!(name&&struct)) return 0;
385
+ struct = ..string.match(struct,"\(\s*\{\s*(.+?)\s*\}\s*\)") : "";
386
+ var f = this[name];
387
+
388
+ if(f){
389
+ if(!#struct) return invoke(f,this);
390
+
391
+ var r;
392
+ var a = topointer(lParam);
393
+ if(struct=="JSON"&&..web[["json"]] ){
394
+ var json = unicode ? ..string.fromUnicode(a,,-1) : ..raw.str(a);
395
+ r = invoke(f,this,..table.unpack(..web.json.parse(json)) );
396
+ if( this.onThreadCallBackReturn ){ r = this.onThreadCallBackReturn(r) };
397
+ }
398
+ else{
399
+ r = invoke(f,this,..raw.convert(a,{ _struct = struct }));
400
+ if( this.onThreadCallBackReturn ){ r = this.onThreadCallBackReturn(r) };
401
+ if(r[["_struct"]]){ ..raw.copy(topointer(lParam),r); return 0; }
402
+ }
403
+
404
+ return tonumber(r);
405
+ }
406
+ }
407
+ [0xACCD/*_WM_THREAD_CALLWND*/] = function( this,hwnd,message,wParam,lParam ){
408
+ return ..thread.applyCallWnd(this,wParam,lParam)
409
+ }
410
+ [0x14/*_WM_ERASEBKGND*/] = function(this,hwnd, message, wParam, lParam){
411
+
412
+ if( this.onEraseBkgnd !== null ){
413
+ var ret = this.onEraseBkgnd(hwnd, message, wParam, lParam);
414
+ if( ret !== null ) return ret;
415
+ };
416
+
417
+ if( this.hasBackground ){
418
+ this.background.draw( topointer(wParam) );
419
+ return 1;
420
+ }
421
+ };
422
+ [0xA1/*_WM_NCLBUTTONDOWN*/] = function(this,hwnd, message, wParam, lParam){
423
+ if( ( wParam >= 0xA/*_HTLEFT*/ && wParam <= 0x11/*_HTBOTTOMRIGHT*/ ) ){
424
+ return this.applyDisableDragFullWindow(
425
+ function(disabled){
426
+ if( this.onResizeBorder ){
427
+ ret = this.onResizeBorder(wParam, lParam);
428
+ if( ret!== null ) return ret;
429
+ }
430
+ if(disabled){
431
+ return this._defWindowProc(hwnd,message,wParam,lParam);
432
+ }
433
+ }
434
+ ) );
435
+ }
436
+ };
437
+ [0x47/*_WM_WINDOWPOSCHANGED*/] = function(this,hwnd, message, wParam, lParam){
438
+ var pos = ..raw.convert(topointer(lParam), {
439
+ addr hwnd;
440
+ addr hwndInsertAfter;
441
+ int x;
442
+ int y;
443
+ int cx;
444
+ int cy;
445
+ INT flags;
446
+ })
447
+
448
+ var flags = pos.flags;
449
+ if(flags & 0x40/*_SWP_SHOWWINDOW*/){
450
+ if( !this["(dpiScalingInitialized)"] )this.enableDpiScaling("init");
451
+
452
+ for(hwnd,ctrl in this._ctrlAutoResize ){
453
+ if( ctrl.cacheOrphanWindowRect__ ){
454
+ var rc = ctrl.cacheOrphanWindowRect__;
455
+ var l,t = ..win.toScreen(this.hwnd,rc.left,rc.top);
456
+ var swp = 0x1C/*_SWP_NOACTIVATE | _SWP_NOZORDER | _SWP_NOREDRAW*/;
457
+ if( ctrl.orphanRestorePending) {
458
+ swp = 0x40/*_SWP_SHOWWINDOW*/ | swp;
459
+ ctrl.orphanRestorePending = null;
460
+ }
461
+
462
+ ..win.setPos( hwnd,l,t,rc.width() ,rc.height() ,,swp);
463
+ if( ctrl.onSetOrphanWindowPos ) ctrl.onSetOrphanWindowPos(l,t,rc.width() ,rc.height(),swp)
464
+ ctrl.redraw();
465
+ }
466
+ }
467
+ }
468
+ elseif(flags & 0x80/*_SWP_HIDEWINDOW*/){
469
+ for(hwnd,ctrl in this._ctrlAutoResize ){
470
+ if( ctrl.cacheOrphanWindowRect__ ){
471
+ if( ..win.isVisible(ctrl.hwnd) ){
472
+ ctrl.show(false);
473
+ ctrl.orphanRestorePending = true;
474
+ if( ctrl.onSetOrphanWindowPos ) ctrl.onSetOrphanWindowPos(,,,,0x80/*_SWP_HIDEWINDOW*/)
475
+ }
476
+ }
477
+ }
478
+ }
479
+
480
+ if(this._onPosChangedWithShadow) return this._onPosChangedWithShadow(flags,pos.hwndInsertAfter,pos.x,pos.y,pos.cx,pos.cy);
481
+ if(this.onPosChanged) return this.onPosChanged(flags,pos.hwndInsertAfter,pos.x,pos.y,pos.cx,pos.cy);
482
+ };
483
+ [0x18/*_WM_SHOWWINDOW*/] = function(this,hwnd, message, wParam, lParam){
484
+ if( hwnd == this.hwnd){
485
+ if( this.beforeShowWindow ) this.beforeShowWindow( !!wParam,lParam);
486
+ if( this._beforeShowWindowInCustom ) this._beforeShowWindowInCustom( !!wParam,lParam);
487
+ }
488
+ };
489
+ [0x3/*_WM_MOVE*/] = function(this,hwnd, message, wParam, lParam){
490
+ if( hwnd == this.hwnd){
491
+ if( ..win.isIconic(hwnd) ) return;
492
+ this.onMoveForm();
493
+ }
494
+ };
495
+ [0x02E0/*_WM_DPICHANGED]*/] = function(this,hwnd, message, wParam, lParam){
496
+ if( this.onDpiChanged ){
497
+ var dpiX,dpiY = ::HIWORD(wParam),::LOWORD(wParam);
498
+ var rect = ..raw.convert( topointer(lParam),::RECT());
499
+ return this.onDpiChanged(dpiX,dpiY,rect);
500
+ }
501
+ }
502
+ [0x5/*_WM_SIZE*/] = function(this,hwnd, message, wParam, lParam){
503
+ if( hwnd == this.hwnd){
504
+
505
+ if( wParam == 1/*_SIZE_MINIMIZED*/ ) {
506
+ if( this.onMinimized ) this.onMinimized();
507
+ return;
508
+ }
509
+ var dwpFlags = ( wParam != 2/*_SIZE_MAXIMIZED*/ )? 0x1C : 0x3C/*_SWP_NOACTIVATE | _SWP_NOZORDER | _SWP_NOREDRAW | _SWP_FRAMECHANGED*/;
510
+ var defDlg = this._defClientRect;
511
+ if(!defDlg) return;
512
+
513
+ var dlg = this.getClientRect();
514
+ if( dlg.width() == 0 ){ return;}
515
+
516
+ var scaleX = (dlg.right-dlg.left)/(defDlg.right-defDlg.left);
517
+ var scaleY = (dlg.bottom-dlg.top)/(defDlg.bottom-defDlg.top);
518
+ var dpiScaleX,dpiScaleY = (this.dpiScaleX : 1) ,(this.dpiScaleY : 1);
519
+
520
+ var defCtrl;
521
+ var l,t,r,b,w,h;
522
+ var ctrlSize = {};
523
+
524
+ var numCtrls = 0;
525
+ for(hwnd,ctrl in this._ctrlAutoResize ){
526
+ numCtrls++;
527
+ }
528
+ var hPosInfo = ::BeginDeferWindowPos(numCtrls);
529
+
530
+ var adjustCtrl = function(ctrl,backOnly){
531
+
532
+ if( !backOnly && !this._ctrlAutoResize[ctrl.hwnd] ) return;
533
+
534
+ var parent = dlg;
535
+ var defParent = defDlg;
536
+ if( ctrl.parent != this ){
537
+ var size = ctrlSize[ctrl.parent.hwnd] ;
538
+ if(size){
539
+ parent = ::RECT(0,0,size.cx,size.cy);
540
+ }
541
+ else {
542
+ parent = ctrl.parent.getClientRect();
543
+ }
544
+
545
+ defParent = ctrl.parent._defClientRect;
546
+ };
547
+
548
+ defCtrl = ctrl._defRect;
549
+ w = defCtrl.right-defCtrl.left;
550
+ h = defCtrl.bottom -defCtrl.top;
551
+
552
+ if( ctrl[["dl"]] ){
553
+ if( ctrl[["dl"]] < 1 ){
554
+ l = parent.left + parent.width() *ctrl[["dl"]];
555
+ }
556
+ else{
557
+ l = defCtrl.left * dpiScaleX;
558
+ }
559
+ }
560
+ else
561
+ l = defCtrl.left * scaleX ;
562
+
563
+ if( ctrl[["dt"]] ){
564
+ if( ctrl[["dt"]] < 1 ){
565
+ t = parent.top + parent.height()*ctrl[["dt"]];
566
+ }
567
+ else{
568
+ t = defCtrl.top * dpiScaleY ;
569
+ }
570
+ }
571
+ else
572
+ t = defCtrl.top * scaleY ;
573
+
574
+
575
+ if( ctrl[["dr"]] ) {
576
+ if( ctrl[["dr"]] < 1 ){
577
+ r = parent.right - parent.width() *ctrl[["dr"]];
578
+ }
579
+ else{
580
+ r = parent.right - ( defParent.right - defCtrl.right)* dpiScaleX ;
581
+ }
582
+
583
+ if( ctrl[["aw"]] == false ) && ( ctrl[["dl"]] == false )
584
+ l = r - (w* dpiScaleX);
585
+ }
586
+ else {
587
+ if( ctrl[["aw"]] )
588
+ r = defCtrl.right * scaleX ;
589
+ else
590
+ r = l+w* dpiScaleX;
591
+ }
592
+
593
+ if( ctrl[["db"]] ) {
594
+ if( ctrl[["db"]] < 1 ){
595
+ b = parent.bottom - parent.height() *ctrl[["db"]];
596
+ }
597
+ else{
598
+ b = parent.bottom - ( defParent.bottom - defCtrl.bottom )* dpiScaleY ;
599
+ }
600
+
601
+ if( ( ctrl[["ah"]] == false ) && ( ctrl[["dt"]] == false ) )
602
+ t = b - (h* dpiScaleY) ;
603
+ }
604
+ else{
605
+ if( ctrl[["ah"]] )
606
+ b = defCtrl.bottom * scaleY;
607
+ else
608
+ b = t + h* dpiScaleY;
609
+ }
610
+
611
+ if(backOnly){
612
+ ctrl.setPos(l,t,r-l,b-t);
613
+ return;
614
+ }
615
+
616
+ ctrlSize[ctrl.hwnd] = { l;t;r;b; cx = r - l;cy = b - t };
617
+ if( !..win.getStyle(ctrl.hwnd,0x40000000/*_WS_CHILD*/) ){
618
+ ctrl.cacheOrphanWindowRect__ = ::RECT(l,t,r,b);
619
+ }
620
+ else{
621
+ if( ctrl.parent == this ){
622
+ hPosInfo = ::DeferWindowPos(hPosInfo,ctrl.hwnd,0,..math.floor(l),t, r - l, b - t ,dwpFlags);
623
+ }
624
+ }
625
+ }
626
+
627
+ var hasBackground = this.hasBackground;
628
+ if(#this._onlyDirectDrawBackground){
629
+ hasBackground = true;
630
+ for(k,ctrl in this._onlyDirectDrawBackground){
631
+ adjustCtrl( ctrl,true );
632
+ }
633
+ }
634
+
635
+ if(#this._directDrawBackground){
636
+ hasBackground = true;
637
+ for(k,ctrl in this._directDrawBackground){
638
+ adjustCtrl( ctrl,true );
639
+ }
640
+ }
641
+
642
+ if( hasBackground ){
643
+ this.background.update();
644
+ }
645
+
646
+ this.enumControl( adjustCtrl );
647
+ ::EndDeferWindowPos(hPosInfo);
648
+
649
+ for(hwnd,ctrl in this._ctrlAutoResize){
650
+ if( ctrl.cacheOrphanWindowRect__ ){
651
+ var rc = ctrl.cacheOrphanWindowRect__;
652
+ var l,t = ..win.toScreen(this.hwnd,rc.left,rc.top);
653
+ ..win.setPos( ctrl.hwnd,l,t,rc.width() ,rc.height(),,0x14/*_SWP_NOACTIVATE | _SWP_NOZORDER*/);
654
+ if( ctrl.onSetOrphanWindowPos ) ctrl.onSetOrphanWindowPos(l,t,rc.width() ,rc.height())
655
+
656
+ if( ctrl.preadjust ) ctrl.preadjust( rc.width(), rc.height(),wParam );
657
+ if( ctrl._preadjust ) ctrl._preadjust( rc.width(), rc.height(),wParam );
658
+ }
659
+ else {
660
+ var size = ctrlSize[hwnd];
661
+ if(size){
662
+ if( ctrl.parent != this ){
663
+ var l,t,r,b = ..table.unpack(size);
664
+ ..win.setPos( hwnd,..math.floor(l),t, r - l, b - t ,,0x1C/*_SWP_NOACTIVATE | _SWP_NOZORDER | _SWP_NOREDRAW*/ );
665
+ }
666
+ else {
667
+ ::User32.InvalidateRect(hwnd,null,true);
668
+ }
669
+
670
+ if( ctrl.preadjust ) ctrl.preadjust( size.cx, size.cy,wParam );
671
+ if( ctrl._preadjust ) ctrl._preadjust( size.cx, size.cy,wParam );
672
+ }
673
+ else {
674
+ ctrl.close();
675
+ }
676
+ }
677
+ }
678
+
679
+ if( this.preadjust ) this.preadjust( dlg.right-dlg.left,dlg.bottom-dlg.top,wParam);
680
+ if( this._preadjust ) this._preadjust( dlg.right-dlg.left,dlg.bottom-dlg.top,wParam);
681
+
682
+ for(hwnd,ctrl in this._uncontrolledHwnd){
683
+ if( ctrl._preadjust ) ctrl._preadjust();
684
+ }
685
+
686
+ if(! ..win.getStyle(this.hwnd,0x40000000/*_WS_CHILD*/) ) this.redraw();//Z Orderd Draw
687
+
688
+ for(hwnd,ctrl in this._ctrlAutoResize ){
689
+ var size = ctrlSize[hwnd];
690
+ if( ctrl._adjust ) ctrl._adjust( size.cx, size.cy,wParam );
691
+ if( ctrl.adjust__ ) ctrl.adjust__( size.cx, size.cy,wParam );
692
+ }
693
+
694
+ if( this._adjust ){
695
+ this._adjust( dlg.right-dlg.left,dlg.bottom-dlg.top,wParam);
696
+ }
697
+
698
+ if( this.adjust__ ){
699
+ this.adjust__( dlg.right-dlg.left,dlg.bottom-dlg.top,wParam);
700
+ }
701
+
702
+ if(this._adjustWithShadow){
703
+ this._adjustWithShadow( dlg.right-dlg.left,dlg.bottom-dlg.top,wParam);
704
+ }
705
+ }
706
+ };
707
+ [0x112/*_WM_SYSCOMMAND*/] = function(this,hwnd, message, wParam, lParam){
708
+ if( wParam >= 0xF000 ) {
709
+ if(wParam==0xF020 && this.onMinimize) return this.onMinimize(lParam);
710
+ return;
711
+ }
712
+ var proc = this._mapCommandProc[wParam]
713
+ if( proc ) proc(wParam,..win.getMessagePos(lParam));
714
+ };
715
+ [0x111/*_WM_COMMAND*/] = function(this,hwnd, message, wParam, lParam){
716
+ var id = ::LOWORD(wParam);
717
+ var wmEvent = ::HIWORD(wParam);
718
+ var proc;
719
+
720
+ if( lParam && lParam!=1 ){
721
+ var ctrl = this._ctrlId[id] || this._ctrlHwnd[lParam];
722
+ if(ctrl){
723
+ if( ctrl[["_precommand"]] ) {
724
+ ctrl._precommand(id,wmEvent);
725
+ }
726
+
727
+ var funcname = ctrl[["_commandFuncnames"]][[wmEvent]];
728
+ if(#funcname && ctrl[[funcname]]){invoke(ctrl[funcname],ctrl);}
729
+
730
+ if( ctrl[["oncommand"]] ) {
731
+ ctrl.oncommand(id,wmEvent);
732
+ return;
733
+ }
734
+ }
735
+ }
736
+ elseif(id<3){
737
+ if( id == 2 ){
738
+ if( this.onCancel ) return this.onCancel()
739
+ if( this.restoreFullScreen && ( !..win.getStyleEx(this.hwnd,0x80000/*_WS_EX_LAYERED*/) ) ) this.fullscreen( false );
740
+ }
741
+ elseif( id == 1 ) if( this.onOk ) return this.onOk()
742
+ }
743
+
744
+ proc = this._mapCommandProc[id]
745
+ if(type(proc)==type.function)
746
+ proc(id,wmEvent);
747
+ };
748
+ [0x10/*_WM_CLOSE*/] = function(this,hwnd, message, wParam, lParam){
749
+ if( type(this.onClose) == type.function ){
750
+ var ret = this.onClose(hwnd, message, wParam, lParam);
751
+ if( ret !== null ) return ret;
752
+ }
753
+
754
+ if(this[["(__continueModal)"]]){
755
+ var hwndOwner = ..win.getOwner(this.hwnd);
756
+ if(hwndOwner){
757
+ ..win.enable(hwndOwner,1/*_TRUE*/);
758
+ ..win.setActive(hwndOwner);
759
+ }
760
+ }
761
+
762
+ this[["(__continueModal)"]] = null;
763
+ };
764
+ [0x110/*_WM_INITDIALOG*/] = function(this,hwnd, message, wParam, lParam){
765
+ this.enableDpiScaling("init")
766
+ if( type(this.onInitDialog) == type.function )
767
+ return this.onInitDialog(hwnd, message, wParam, lParam)
768
+ };
769
+ [0x004E /*_WM_NOTIFY*/] = function(this,hwnd, message, wParam, lParam){
770
+ if(lParam){
771
+ var nmhdr;
772
+ var id = wParam;
773
+ var ctrl = this._ctrlId[id] : this._ctrlHwnd[id];
774
+
775
+ if(!ctrl){
776
+ nmhdr = ..raw.convert(topointer(lParam),::NMHDR() );
777
+ ctrl = this._ctrlHwnd[nmhdr.hwndFrom];
778
+ }
779
+
780
+ if(ctrl){
781
+ var pre,notify = ctrl._prenotify,ctrl.onnotify;
782
+ if( notify || pre ){
783
+ var ptr = topointer(lParam);
784
+ if(!nmhdr) nmhdr = ..raw.convert(ptr,::NMHDR() );
785
+ var code = nmhdr.code;
786
+ var ret;
787
+
788
+ if( pre ) {
789
+ /*
790
+ 属性元表中使用名称 _prenotify,创建对象后使用名称 prenotify,
791
+ 值只能为 null 或 table,不可指定为函数。
792
+ */
793
+ if( type(pre)==="table" ) pre = pre[code];
794
+ if( pre ) ret = invoke(pre,ctrl,id,code,ptr,nmhdr);
795
+ }
796
+
797
+ if( notify && ( ret === null) )
798
+ ret = ctrl.onnotify(id,code,ptr,nmhdr )
799
+
800
+ if(ret!==null)
801
+ return ret;
802
+ }
803
+ }
804
+ }
805
+ };
806
+ [0x115/*_WM_VSCROLL*/] = function(this,hwnd, message, wParam, lParam){
807
+ if( lParam ){
808
+ var ctrl = this._ctrlHwnd[lParam];
809
+ if( ctrl[["oncommand"]] ){
810
+ ctrl.oncommand( ctrl.id,::LOWORD (wParam),::HIWORD(wParam) )
811
+ }
812
+ }
813
+ }
814
+ [0x312/*_WM_HOTKEY*/] = function(this,hwnd, message, wParam, lParam){
815
+ var id = wParam; //这个是注册的时候设定的ID
816
+
817
+ if( this[["_hotkeys"]] && ( type( this[["_hotkeys"]][id] ) == type.function ) ){
818
+ this[["_hotkeys"]][id] (id,::LOWORD(lParam),::HIWORD(lParam) )
819
+ }
820
+ }
821
+ [0x2/*_WM_DESTROY*/] = function(this,hwnd, message, wParam, lParam){
822
+ if(this._hasBeenDestroyed){
823
+ return;
824
+ };
825
+
826
+ this._hasBeenDestroyed = true;
827
+ this.hasBackground = false;
828
+
829
+ if( this.saveConfigBeforeDestroy ){
830
+ this.saveConfigBeforeDestroy ();
831
+ };
832
+
833
+ if( this._beforeDestroy ){
834
+ this._beforeDestroy ();
835
+ };
836
+
837
+ if( this.beforeDestroy){
838
+ this.beforeDestroy();
839
+ };
840
+
841
+ if( this._acceleratorTable ){
842
+ this._acceleratorTable.destroy();
843
+ }
844
+ var tm = this[["_tTimeProc"]]
845
+ for(id,v in tm){
846
+ ::User32.KillTimer(this.hwnd,id);
847
+ this[["_tTimeProc"]][id] = null;
848
+ this[["_tTimeTicks"]][id] = null;
849
+ }
850
+
851
+ for(hwnd,ctrl in this._ctrlHwnd){
852
+ if( ! ctrl.isForm ){
853
+
854
+ if( ctrl._onDestroy )ctrl._onDestroy ();
855
+ if( ctrl.onDestroy){
856
+ ctrl.onDestroy ();
857
+ ctrl.onDestroy = null;
858
+ }
859
+
860
+ if( ctrl[["(bgbrush)"]] ){
861
+ ::DeleteObject( ctrl[["(bgbrush)"]] );
862
+ ctrl[["(bgbrush)"]] = null;
863
+ }
864
+ if( ctrl[["(ownFontHandle)"]] ){
865
+ ::DeleteObject( ctrl[["(ownFontHandle)"]] );
866
+ ctrl[["(ownFontHandle)"]] = null;
867
+ }
868
+
869
+ ctrl._closed = true;
870
+ }
871
+ }
872
+
873
+ if( this[["(ownFontHandle)"]] ){
874
+ ::DeleteObject( this[["(ownFontHandle)"]] );
875
+ this[["(ownFontHandle)"]] = null;
876
+ }
877
+
878
+ for(k,ctrl in this._onlyDirectDrawBackground){
879
+ if( ctrl._onDestroy )ctrl._onDestroy ();
880
+ if( ctrl.onDestroy){
881
+ ctrl.onDestroy ();
882
+ ctrl.onDestroy = null;
883
+ }
884
+ }
885
+
886
+ if( this._onDestroy ){
887
+ this._onDestroy ();
888
+ }
889
+ if( this.onDestroy){
890
+ this.onDestroy ();
891
+ this.onDestroy = null;
892
+ }
893
+
894
+ if(this._onDestroyInTabs)this._onDestroyInTabs();
895
+
896
+ if( this[["_atomId"]] ){
897
+ this.atom(false);//释放实例占用原子
898
+ }
899
+ this[["(__continueModal)"]] = null;//退出模态循环
900
+
901
+ _forms[hwnd] = null;
902
+
903
+ this.background.delete();
904
+ this.background = null;
905
+
906
+ var parent = this[["_parentForm"]];
907
+ if( parent ){
908
+ parent._ctrlHwnd[this.hwnd]=null;
909
+ parent._ctrlId[this.id]=null;
910
+ ..table.push(parent._ctrlId.freeIds,this.id);
911
+
912
+ parent._ctrlAutoResize[this.hwnd]=null;
913
+ }
914
+
915
+ if( ..win.getStyle(hwnd,0x80/*_DS_MODALFRAME*/) ) return;
916
+ if( ..win.getStyle(hwnd,0x40000000/*_WS_CHILD*/) ) {
917
+ if(this!==..mainForm)return;
918
+ }
919
+
920
+ if(this._messageOnly) return;
921
+
922
+ for(k,f in _forms){
923
+ if( ! f._messageOnly ){
924
+ if( f == ..mainForm ) return;
925
+ if( !..win.getStyle(f.hwnd,0x40000000/*_WS_CHILD*/) && !f._parentForm ) {
926
+ return;
927
+ }
928
+ if( ..ide && ..win.getClass( ..win.getParent(f.hwnd) : 0 ) == "AfxFrameOrView100su") {
929
+ return;
930
+ }
931
+ }
932
+ }
933
+
934
+ for(k,f in _forms){
935
+ ::SendMessage(f.hwnd,0x2/*_WM_DESTROY*/);
936
+ }
937
+ ..win.quitMessage();
938
+ }
939
+ [0x138/*_WM_CTLCOLORSTATIC*/ ] = function(this,hwnd, message, wParam, lParam){
940
+ var ctrl = this._ctrlHwnd[ lParam ];
941
+ var hdc = topointer(wParam)
942
+ if( ctrl ){
943
+ if( type(ctrl.color)==type.number )
944
+ ::SetTextColor(hdc,ctrl.color ) ;
945
+
946
+ if(ctrl.transparent) {
947
+ ::SetBkMode(hdc,1);
948
+ return tonumber( ::GetStockObject(5) );//NULL_BRUSH
949
+ }
950
+ else if( ctrl[["(bgbrush)"]] ){
951
+ ::SetBkColor(hdc,ctrl[["(bgcolor)"]] ) ;
952
+ return ctrl[["(bgbrush)"]];
953
+ }
954
+ }
955
+ }
956
+ [0x24/*_WM_GETMINMAXINFO*/] = function(this,hwnd, message, wParam, lParam){
957
+ if( this.onGetMinMaxInfo ){
958
+ return this.onGetMinMaxInfo(hwnd, message, wParam, topointer( lParam ) );
959
+ }
960
+ }
961
+ [0x7E/*_WM_DISPLAYCHANGE*/] = function(this,hwnd, message, wParam, lParam){
962
+ if( this.getMinMaxInfo && ..win.isZoomed(hwnd) ){
963
+ var minMaxInfo = this.getMinMaxInfo();
964
+ ..win.setPos(hwnd,,,minMaxInfo.maxSize.x,minMaxInfo.maxSize.y);
965
+ }
966
+ }
967
+ [0x231/*_WM_ENTERSIZEMOVE*/] = function(this,hwnd, message, wParam, lParam){
968
+ if( this.onEnterSizeMove ){ return this.onEnterSizeMove(); }
969
+ this.enterSizeMoveRect = this.getRect();
970
+ }
971
+ [0x232/*_WM_EXITSIZEMOVE*/] = function(this,hwnd, message, wParam, lParam){
972
+ if( this.onExitSizeMove ){ return this.onExitSizeMove(); }
973
+ if ..win.isZoomed(this.hwnd) return;
974
+ var x,y,cx,cy = this.getPos();
975
+ var rc = this.enterSizeMoveRect;
976
+ if( ( y <= 0 ) && ( cy < rc.height() ) ){ this.setPos(,,rc.width(),rc.height()) };
977
+ }
978
+ [ 0x2C/*_WM_MEASUREITEM*/ ] = function(this,hwnd, message, wParam, lParam){
979
+ lParam = topointer(lParam)
980
+ var item = ::MEASUREITEMSTRUCT();
981
+ ..raw.convert(lParam,item);
982
+
983
+ var ctrl;
984
+ if( item.CtlID ){
985
+ ctrl = this._ctrlId[ item.CtlID ];
986
+ }
987
+ elseif( item.CtlType == 0x1/*_ODT_MENU*/ && ..win.ui.menu) {
988
+ ctrl = ..win.ui.menu;
989
+ }
990
+
991
+ if( ctrl ? ctrl.onMeasureItem ) {
992
+ var ret = ctrl.onMeasureItem(item,ctrl.dpiScaleX:1,ctrl.dpiScaleY:1);
993
+ ::CopyMemoryByStruct(lParam,item,24/* raw.sizeof(item)*/);
994
+
995
+ if( ret !== null ){
996
+ return ret;
997
+ };
998
+ }
999
+ }
1000
+ [ 0x2B/*_WM_DRAWITEM*/ ] = function(this,hwnd, message, wParam, lParam){
1001
+ var item = ::DRAWITEMSTRUCT();
1002
+ ..raw.convert(topointer(lParam), item);
1003
+
1004
+ var ctrl;
1005
+ if( item.CtlID ){
1006
+ ctrl = this._ctrlId[ item.CtlID ];
1007
+ }
1008
+ elseif( item.CtlType == 0x1/*_ODT_MENU*/ && ..win.ui.menu) {
1009
+ ctrl = ..win.ui.menu;
1010
+ }
1011
+
1012
+ if( ctrl ? ctrl.onDrawItem ) {
1013
+ var ret = ctrl.onDrawItem(item,ctrl.dpiScaleX:1,ctrl.dpiScaleY:1);
1014
+ if( ret !== null ){
1015
+ return ret;
1016
+ };
1017
+ }
1018
+ }
1019
+ [0x233/*_WM_DROPFILES*/] = function(this,hwnd, message, wParam, lParam){
1020
+ if( this[["onDropFiles"]] ) this.onDropFiles( ..win.getDropFile(wParam) );
1021
+ }
1022
+ [0x1C/*_WM_ACTIVATEAPP*/] = function(this,hwnd, message, wParam, lParam){
1023
+ if( this.onActivateApp ) {
1024
+ return this.onActivateApp(!!wParam,lParam)
1025
+ }
1026
+
1027
+ if( (!wParam) && this.restoreFullScreen && ( !..win.getStyleEx(this.hwnd,0x80000/*_WS_EX_LAYERED*/) ) )
1028
+ this.fullscreen( false );
1029
+ }
1030
+ [0x6/*_WM_ACTIVATE*/] = function(this,hwnd, message, wParam, lParam){
1031
+ if( this.onActivate ) {
1032
+ return this.onActivate(::LOWORD(wParam),lParam,::HIWORD(wParam))
1033
+ }
1034
+ }
1035
+ [0x21/*_WM_MOUSEACTIVATE*/] = function(this,hwnd, message, wParam, lParam){
1036
+ if( this.onMouseActivate ) {
1037
+ return this.onMouseActivate(wParam,::LOWORD(lParam),::HIWORD(lParam))
1038
+ }
1039
+ }
1040
+ [0x201/*_WM_LBUTTONDOWN*/] = function(this,hwnd, message, wParam, lParam){
1041
+ if(this.onMouseDown) return this.onMouseDown(wParam,lParam);
1042
+ };
1043
+ [0x202/*_WM_LBUTTONUP*/] = function(this,hwnd, message, wParam, lParam){
1044
+ if(this.onMouseClick) return this.onMouseClick(wParam,lParam);
1045
+ };
1046
+ [0x203/*_WM_LBUTTONDBLCLK*/] = function(this,hwnd, message, wParam, lParam){
1047
+ var cb = this.onMouseDoubleClick || this.onMouseDoubuleClick;
1048
+ if(cb) return invoke(cb,this,wParam,lParam);
1049
+ };
1050
+ [0xACCF/*_WM_TRAYMESSAGE*/] = function(this,hwnd, message, wParam, lParam){
1051
+ var cb = this.onTrayMessage[[lParam]];
1052
+ if(cb) return invoke(cb,this.onTrayMessage,wParam);
1053
+ };
1054
+ [0x11/*_WM_QUERYENDSESSION*/] = function(this,hwnd,message,wParam,lParam){
1055
+ if( this.beforeSystemEndSesssion ){this.beforeSystemEndSesssion ();};
1056
+ if( this.saveConfigBeforeDestroy ){this.saveConfigBeforeDestroy ();};
1057
+ this.close()
1058
+
1059
+ ..win.quitMessage();
1060
+ ..publish("beforeSystemEndSesssion",wParam,lParam)
1061
+ }
1062
+ }
1063
+ var defaultProc = _defaultProc;
1064
+ var onCtlColor = defaultProc[0x138/*_WM_CTLCOLORSTATIC*/ ];
1065
+ defaultProc[0x133/*_WM_CTLCOLOREDIT*/] = onCtlColor;
1066
+ defaultProc[0x135/*_WM_CTLCOLORBTN*/] = onCtlColor;
1067
+ defaultProc[0x134/*_WM_CTLCOLORLISTBOX*/] = onCtlColor;
1068
+ defaultProc[0x114/*_WM_HSCROLL*/] = defaultProc[0x115/*_WM_VSCROLL*/]
1069
+ /*}}*/
1070
+
1071
+ _metaProperty = ..win.ui.ctrl.metaProperty(
1072
+ isForm = {
1073
+ _get = function(){ return true }
1074
+ };
1075
+ text = {
1076
+ _get = function(){
1077
+ return ..win.getText( owner[["hwnd"]] );
1078
+ }
1079
+ _set = function(v){
1080
+ ..win.setText( owner[["hwnd"]],tostring(v) );
1081
+ }
1082
+ };
1083
+ getForm = function(){
1084
+ return owner;
1085
+ };
1086
+ loadForm = function(path,...){
1087
+ return ..win.loadForm(path,,owner,... );
1088
+ };
1089
+ loadcode = function(path,...){
1090
+ return ..win.loadForm(path,,owner,... );
1091
+ };
1092
+ getCtrlById = function(id){
1093
+ return owner._ctrlId[id]
1094
+ };
1095
+ getCtrl = function(hwnd){
1096
+ var cs = owner._ctrlHwnd;
1097
+ var c = cs[hwnd]
1098
+ while(!c){
1099
+ hwnd = ..win.getParentOwner(hwnd);
1100
+ if(!hwnd)
1101
+ return null;
1102
+
1103
+ c = cs[hwnd];
1104
+ }
1105
+ return c;
1106
+ };
1107
+ _freeCommandId = function(id){
1108
+ owner._mapCommandProc[id] = null;
1109
+ ..table.push(owner._mapCommandProc.freeIds,id);
1110
+ };
1111
+ _getFreeCommandId = function(){
1112
+ var lastFreeId = ..table.pop(owner._mapCommandProc.freeIds,1);
1113
+ if(!lastFreeId){
1114
+ lastFreeId = owner._mapCommandProc.lastFreeId;
1115
+ owner._mapCommandProc.lastFreeId++;
1116
+ }
1117
+ return lastFreeId;
1118
+ };
1119
+ registCommand = function(proc,oid){
1120
+ if( oid === null ){
1121
+ var free = owner._getFreeCommandId();
1122
+ owner._mapCommandProc[free] = proc;
1123
+ return free;
1124
+ }
1125
+ else {
1126
+ if( oid > owner._mapCommandProc.lastFreeId ) owner._mapCommandProc.lastFreeId = oid + 1;
1127
+ owner._mapCommandProc[oid] = proc;
1128
+ return oid
1129
+ }
1130
+ };
1131
+ redraw = function(){
1132
+ if(owner[["menu"]])owner[["menu"]].redraw();
1133
+ ::User32.InvalidateRect(owner[["hwnd"]],null,true);
1134
+ return ::UpdateWindow(owner[["hwnd"]]);
1135
+ };
1136
+ redrawBackground = function(rect){
1137
+ if( !owner.background ) return;
1138
+ owner.background.update();
1139
+ owner.invalidate(rect);
1140
+ return owner.update();
1141
+ };
1142
+ show = function(flag) {
1143
+ if( !owner["(dpiScalingInitialized)"] )owner.enableDpiScaling("init");
1144
+
1145
+ ..win.show(owner[["hwnd"]],flag);
1146
+ if( owner[["(__continueModal)"]] ){
1147
+ hwndOwner = ..win.getOwner( owner.hwnd)
1148
+ if(hwndOwner && (hwndOwner!=owner[["hwnd"]]) ){
1149
+ ..win.enable(hwndOwner,!( flag === null || flag) );
1150
+ if( !flag && flag !== null ) ..win.setActive(hwndOwner);
1151
+ }
1152
+ ..win.setActive(owner.hwnd);
1153
+ }
1154
+ if( owner.getMinMaxInfo && ..win.isZoomed(owner[["hwnd"]]) ){
1155
+ var minMaxInfo = owner.getMinMaxInfo();
1156
+ if(minMaxInfo) ..win.setPos(owner[["hwnd"]],,,minMaxInfo.maxSize.x,minMaxInfo.maxSize.y);
1157
+ }
1158
+ };
1159
+ doModal = function(hwndOwner,swFlags){
1160
+
1161
+ if(!hwndOwner){
1162
+ hwndOwner = ..win.getOwner( owner.hwnd)
1163
+ }
1164
+ else if(type(hwndOwner)==type.table){
1165
+ hwndOwner = hwndOwner.hwnd;//winform.hwnd
1166
+ }
1167
+ if(hwndOwner){
1168
+ ..win.setOwner(owner.hwnd,hwndOwner);
1169
+ }
1170
+
1171
+ owner.modifyStyle(0,0x80/*_DS_MODALFRAME*/)
1172
+ owner[["(__continueModal)"]] = true;
1173
+ ::SendMessageInt(owner[["hwnd"]],0x110/*_WM_INITDIALOG*/,0,0);
1174
+ owner.show(swFlags);
1175
+
1176
+ if(!owner.onCancel) owner.onCancel = function(){ owner.endModal(); }
1177
+ if(!owner.onOk) owner.onOk = function(){
1178
+ for(name,ctrl in owner.eachControl() ){
1179
+ if(ctrl.default && ctrl.oncommand) return ctrl.oncommand();
1180
+ }
1181
+ }
1182
+
1183
+ while(owner[["(__continueModal)"]])
1184
+ ..win.pumpMessage();
1185
+
1186
+ if( hwndOwner ) {
1187
+ ..win.enable(hwndOwner,1/*_TRUE*/);
1188
+ ..win.setActive(hwndOwner);
1189
+ ..win.setPos(owner.hwnd,,,,,,0x10/*_SWP_NOACTIVATE*/|0x80/*_SWP_HIDEWINDOW*/);
1190
+ }
1191
+ owner.close();
1192
+ return owner[["dialogResult"]];
1193
+ };
1194
+ endModal = function(result){
1195
+ if(!..win.isWindow(owner.hwnd)){
1196
+ return;
1197
+ }
1198
+ owner[["dialogResult"]] = result;
1199
+ owner.close();
1200
+ };
1201
+ continueModal = {
1202
+ _get = function(){
1203
+ return owner[["(__continueModal)"]];
1204
+ }
1205
+ };
1206
+ transparent = function( alpha,clr ){
1207
+ if( alpha === false ){
1208
+ owner.modifyStyleEx(0x80000/*_WS_EX_LAYERED*/);
1209
+ if( owner._shadowWindow ) owner._shadowWindow.transprent(1);
1210
+ return;
1211
+ }
1212
+ owner.modifyStyleEx(0,0x80000/*_WS_EX_LAYERED*/);
1213
+ if( alpha === true )
1214
+ return;
1215
+
1216
+ if( clr!==null || alpha !==null ){
1217
+ if(clr ===null){
1218
+ if( owner._shadowWindow ) {
1219
+ owner._shadowWindow.transprent(alpha/255);
1220
+ }
1221
+ }
1222
+ ::User32.SetLayeredWindowAttributes( owner[["hwnd"]],clr:0, alpha:0,clr!==null?1:2)
1223
+ }
1224
+ }
1225
+ bgcolor = {
1226
+ _get = function(){
1227
+ return owner.background.getColor();
1228
+ }
1229
+ _set = function( v ){
1230
+ owner.background.setColor( v )
1231
+ }
1232
+ };
1233
+ onDrawBackground = {
1234
+ _get = function(){ return null;}
1235
+ _set = function( v ){
1236
+ owner[["onDrawBackground"]] = v;
1237
+ owner.hasBackground = true;
1238
+ }
1239
+ };
1240
+ image = {
1241
+ _get = function(){
1242
+ return owner.background.getBitmap();
1243
+ }
1244
+ _set = function( v ){
1245
+ if(type(v) == type.string ){
1246
+ owner.background.loadImage( v )
1247
+ return;
1248
+ }
1249
+ owner.background.setBitmap( v,true )
1250
+ }
1251
+ };
1252
+ getBitmap = function(h,delPrev=true){
1253
+ return owner.background.getBitmap();
1254
+ };
1255
+ setBitmap = function(h,delPrev=true){
1256
+ return owner.background.setBitmap(h,delPrev);
1257
+ };
1258
+ setImage = function(h,delPrev=true){
1259
+ return owner.background.setBitmap(h,delPrev);// 请使用 setBitmap替代
1260
+ };
1261
+ setInterval = function(func,elapse,...){
1262
+ if( type(elapse) != "number" ) {
1263
+ func,elapse = elapse,func;
1264
+ if( type(elapse) != "number" ) error("参数@2指定了错误的延时值",2);
1265
+ }
1266
+
1267
+ if( !func ) error("参数@1未指定回调函数",2);
1268
+
1269
+ var args = {...}
1270
+ if(..table.count(args)){
1271
+ var f = func;
1272
+ func = function(){
1273
+ return f( ..table.unpackArgs(args) );
1274
+ }
1275
+ }
1276
+
1277
+ var lastFreeId = ..table.pop( owner._tTimeTicks.freeIds,1) ;
1278
+ if(!lastFreeId){
1279
+ lastFreeId = owner._tTimeTicks.lastFreeId;
1280
+ owner._tTimeTicks.lastFreeId++;
1281
+ }
1282
+
1283
+ owner[["_tTimeProc"]][lastFreeId] = func;
1284
+ owner[["_tTimeTicks"]][lastFreeId] = elapse;
1285
+
1286
+ if( ::User32.SetTimer(owner.hwnd,lastFreeId,elapse,null) )
1287
+ return lastFreeId;
1288
+ };
1289
+ changeInterval = function(id,elapse,func){
1290
+ if( owner[["_tTimeProc"]][id] ){
1291
+ ::User32.SetTimer(owner.hwnd,id,elapse,null )
1292
+ owner[["_tTimeTicks"]][id] = elapse;
1293
+ if( func ){
1294
+ owner[["_tTimeProc"]][id] =func;
1295
+ }
1296
+ return true;
1297
+ }
1298
+ };
1299
+ clearInterval = function(id){
1300
+ if( id === null ) return;
1301
+
1302
+ if( owner[["_tTimeProc"]][id] ){
1303
+ ::User32.KillTimer(owner.hwnd,id);
1304
+ owner[["_tTimeProc"]][id] = null;
1305
+ owner[["_tTimeTicks"]][id] = null;
1306
+ owner[["_tTimeProcEntered"]][id] = null;
1307
+ ..table.push(owner._tTimeTicks.freeIds,id);
1308
+ return true;
1309
+ }
1310
+ };
1311
+ setTimeout = function(code,elapse=0,...){
1312
+ if( type(elapse) != "number" ) error("参数@2指定了错误的延时值",2);
1313
+ if( !code ) error("参数@1未指定回调函数",2);
1314
+
1315
+ if( type(code)=="string" ) {
1316
+ code,err = loadcode(code)
1317
+ if(!code)error(err,2)
1318
+ }
1319
+ var args = {...}
1320
+
1321
+ var this = owner;
1322
+ return owner.setInterval (
1323
+ function(hwnd,msg,id){
1324
+ this.killtimer(id)
1325
+ code( ..table.unpackArgs(args) );
1326
+ },elapse
1327
+ )
1328
+ };
1329
+ reghotkey = function( func , mod,vk ){
1330
+ if(! owner[["_hotkeys"]] ) owner[["_hotkeys"]] = {};
1331
+ if( type(vk) != type.number ) error("请使用参数@3指定虚拟键码",2);
1332
+
1333
+ var id = ..table.push( owner[["_hotkeys"]] ,func); //保存回调函数
1334
+ if( ::User32.RegisterHotKey(owner.hwnd,id,mod,vk) )
1335
+ return id;
1336
+
1337
+ owner[["_hotkeys"]][id] = null;
1338
+ };
1339
+ unreghotkey = function(idEvent){
1340
+ if( idEvent ? owner[["_hotkeys"]][idEvent] ){
1341
+ ::User32.UnregisterHotKey(owner.hwnd,idEvent);
1342
+ owner[["_hotkeys"]][idEvent] = null;
1343
+ }
1344
+ };
1345
+ hit = function(method){
1346
+ if(method)invoke(owner["hit" + ..string.replace(method,"^\w",..string.upper)],owner)
1347
+ };
1348
+ hitCaption = function () {
1349
+ var hwnd = ..win.getRoot(owner.hwnd);
1350
+ if( ..win.isZoomed(hwnd) ) return;
1351
+
1352
+ owner.setTimeout(
1353
+ function(){
1354
+ ..win.releaseCapture();
1355
+ ::SendMessageInt( hwnd, 0xA1/*_WM_NCLBUTTONDOWN*/ , 0x2/*_HTCAPTION*/, 0/*不指定坐标,避免HTMLayout重入事件*/ );
1356
+ }
1357
+ )
1358
+ };
1359
+ hitClose = function () {
1360
+ var hwnd = ..win.getRoot(owner.hwnd);
1361
+ ::PostMessage(hwnd,0x10/*_WM_CLOSE*/,0,0);
1362
+ };
1363
+ hitMin = function () {
1364
+ var hwnd = ..win.getRoot(owner.hwnd);
1365
+ ::PostMessage(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF020/*_SC_MINIMIZE*/, 0);
1366
+ };
1367
+ hitMax = function(){
1368
+ var hwnd = ..win.getRoot(owner.hwnd);
1369
+ var zoomed = ..win.isZoomed(hwnd);
1370
+ if(zoomed)
1371
+ ::PostMessage(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF120/*_SC_RESTORE*/, 0);
1372
+ else
1373
+ ::PostMessage(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF030/*_SC_MAXIMIZE*/,0);
1374
+ return !zoomed;
1375
+ };
1376
+ hitTopleft = function () {
1377
+ var hwnd = owner.hwnd;
1378
+ if( ..win.isZoomed(hwnd) ) return;
1379
+ owner.applyDisableDragFullWindow(
1380
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/, 0xF004/*_SC_SIZE | _WMSZ_TOPLEFT*/,0xD/*_HTTOPLEFT*/)
1381
+ )
1382
+ };
1383
+ hitTop = function () {
1384
+ var hwnd = owner.hwnd;
1385
+ if( ..win.isZoomed(hwnd) ) return;
1386
+ owner.applyDisableDragFullWindow(
1387
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF003 ,0xC/*_HTTOP*/ )
1388
+ )
1389
+ };
1390
+ hitTopright = function () {
1391
+ var hwnd = owner.hwnd;
1392
+ if( ..win.isZoomed(hwnd) ) return;
1393
+ owner.applyDisableDragFullWindow(
1394
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF005,0xE/*_HTTOPRIGHT*/ )
1395
+ )
1396
+ };
1397
+ hitLeft = function () {
1398
+ var hwnd = owner.hwnd;
1399
+ if( ..win.isZoomed(hwnd) ) return;
1400
+ owner.applyDisableDragFullWindow(
1401
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF001,0xA/*_HTLEFT*/ )
1402
+ )
1403
+ };
1404
+ hitRight = function () {
1405
+ var hwnd = owner.hwnd;
1406
+ if( ..win.isZoomed(hwnd) ) return;
1407
+ owner.applyDisableDragFullWindow(
1408
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF002,0xB/*_HTRIGHT*/ )
1409
+ )
1410
+ };
1411
+ hitBottomleft = function () {
1412
+ var hwnd = owner.hwnd;
1413
+ if( ..win.isZoomed(hwnd) ) return;
1414
+ owner.applyDisableDragFullWindow(
1415
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF007,0x10/*_HTBOTTOMLEFT*/ )
1416
+ )
1417
+ };
1418
+ hitBottom = function () {
1419
+ var hwnd = owner.hwnd;
1420
+ if( ..win.isZoomed(hwnd) ) return;
1421
+ owner.applyDisableDragFullWindow(
1422
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF006,0xF/*_HTBOTTOM*/ )
1423
+ )
1424
+ };
1425
+ hitBottomright = function () {
1426
+ var hwnd = owner.hwnd;
1427
+ if( ..win.isZoomed(hwnd) ) return;
1428
+ owner.applyDisableDragFullWindow(
1429
+ lambda() ::SendMessageInt(hwnd, 0x112/*_WM_SYSCOMMAND*/,0xF008,0x11/*_HTBOTTOMRIGHT*/ )
1430
+ )
1431
+ };
1432
+ cmdTranslate = function(hwnd,message,wParam,lParam){
1433
+ if( message == 0x111/*_WM_COMMAND*/ ){
1434
+ defaultProc[0x111/*_WM_COMMAND*/](owner,hwnd,message,wParam,lParam);
1435
+ }
1436
+ };
1437
+ nextControl = function(k){
1438
+ var k,v = ..table.next(owner,k);
1439
+ while(k){
1440
+ if(v[["hwnd"]] && v.className && owner._ctrlHwnd[v[["hwnd"]]] )return k,v;
1441
+ k,v = ..table.next(owner,k);
1442
+ }
1443
+ };
1444
+ eachControl = function(cls,pattern){
1445
+ var next;
1446
+ var this = owner;
1447
+ next = function(name){
1448
+ var k,v = this.nextControl(name);
1449
+ if(!k) return;
1450
+
1451
+ if(( v[["hwnd"]] && (v.className)
1452
+ && (!cls || cls == v.cls)
1453
+ && (!pattern || ..string.find(k,pattern)) ) ){
1454
+ return k,v;
1455
+
1456
+ }
1457
+
1458
+ return next(k);
1459
+ }
1460
+ return next;
1461
+ };
1462
+ enumControl = function(proc,cls){
1463
+ var this = owner;
1464
+ var enumControl;
1465
+ enumControl = function(hParent){
1466
+ for hwnd in ..win.eachChild(hParent) {
1467
+ var ctrl = this._ctrlHwnd[hwnd]
1468
+ if( (ctrl) && (!cls || cls == ctrl.cls) ){
1469
+ proc(ctrl);
1470
+ }
1471
+
1472
+ if( ..win.getChild(hwnd) ) enumControl(hwnd);
1473
+ }
1474
+ }
1475
+ enumControl(this.hwnd);
1476
+
1477
+ for(hwnd,ctrl in this._ctrlHwnd){
1478
+ if( !..win.getStyle(hwnd,0x40000000/*_WS_CHILD*/) ) {
1479
+ if(!..win.isWindow(hwnd)) {
1480
+ ctrl.close();
1481
+ continue;
1482
+ }
1483
+
1484
+ if(!cls || cls == ctrl.cls) proc(ctrl);
1485
+ enumControl(hwnd);
1486
+ }
1487
+ };
1488
+ };
1489
+ eachControlEx = function(cls){
1490
+ var ctrlHwnd = owner._ctrlHwnd;
1491
+ var hwnd,ctrl;
1492
+
1493
+ var next;
1494
+ next = function(){
1495
+ hwnd,ctrl = ..table.next(ctrlHwnd,hwnd);
1496
+ if( (hwnd===null) || (!cls || cls == ctrl.cls) ){
1497
+ return hwnd,ctrl;
1498
+ }
1499
+
1500
+ if(hwnd) return next();
1501
+ }
1502
+ return next;
1503
+ };
1504
+ bindConfig = function(cfg,fields){
1505
+ if( type(cfg.save) != "function" ) error("无效配置文件",2);
1506
+
1507
+ var winform = owner;
1508
+ if(fields){
1509
+ cfg.afterLoad = function(){
1510
+ for(name,ctrl in winform.eachControl() ){
1511
+ var v = fields[name] : fields[ctrl.cls]
1512
+ if( v ) {
1513
+ if(type(v) == "table"){
1514
+ for(n,v2 in v){
1515
+ if( ..string.find(name,n) ) {
1516
+ fields[name] = v2;
1517
+ v = v2;
1518
+ if(cfg[name]!==null){ ctrl[v] = cfg[name];} else {cfg[name]= ctrl[v]};
1519
+ continue 2;
1520
+ }
1521
+ }
1522
+ continue;
1523
+ }
1524
+ if(cfg[name]!==null){ ctrl[v] = cfg[name];} else {cfg[name]= ctrl[v]};
1525
+ }
1526
+ };
1527
+ }
1528
+ cfg.afterLoad();
1529
+ cfg.save();
1530
+ }
1531
+
1532
+ if(winform.afterConfigLoad) winform.afterConfigLoad(cfg);
1533
+
1534
+ cfg.beforeSave = function(){
1535
+ if(!..win.isWindow(winform.hwnd))return;
1536
+ if(fields){
1537
+ for(name,ctrl in winform.eachControl() ){
1538
+ var v = fields[name] : fields[ctrl.cls]
1539
+ if( v ) cfg[name] = ctrl[v];
1540
+ }
1541
+ }
1542
+
1543
+ if(winform.beforeConfigSave) winform.beforeConfigSave(cfg);
1544
+ };
1545
+ winform.saveConfigBeforeDestroy = function(){
1546
+ cfg.beforeSave();
1547
+ };
1548
+ };
1549
+ setIcon = function(small,big){
1550
+ if( type.isString(small) ) small = ..com.picture.loadBitmap(small);
1551
+ if( type.isString(big) ) big = ..com.picture.loadBitmap(big);
1552
+ small = ::User32.SendMessageP( owner.hwnd,0x80/*_WM_SETICON*/,0,small:big);
1553
+ big = ::User32.SendMessageP( owner.hwnd,0x80/*_WM_SETICON*/,1,big:small);
1554
+ return small,big;
1555
+ };
1556
+ fullscreen = function(fs){
1557
+ var hwnd = owner.hwnd;
1558
+ if( fs === null ) fs = !owner.restoreFullScreen;
1559
+ if( fs ){
1560
+ if( owner.restoreFullScreen ) return owner.restoreFullScreen;
1561
+
1562
+ var restoreFullScreen = {
1563
+ style = ..win.getStyle(hwnd, 0x40C40000/*_WS_CAPTION | _WS_BORDER | _WS_DLGFRAME | _WS_CHILD | _WS_SIZEBOX*/ );
1564
+ parent = ..win.getParent(hwnd);
1565
+ own = ..win.getOwner(hwnd);
1566
+ top = ..win.getStyleEx(hwnd,0x8/*_WS_EX_TOPMOST*/);
1567
+ placement = ..win.getPlacement(hwnd);
1568
+ hwnd = hwnd;
1569
+ }
1570
+ if(restoreFullScreen.placement.showCmd == 0x2/*_SW_SHOWMINIMIZED*/){
1571
+ return;
1572
+ }
1573
+
1574
+ var hOwner = ..win.getParent(hwnd);
1575
+ ..win.setParent( hwnd,..win.getDesktop() )
1576
+ owner.modifyStyle( restoreFullScreen.style )
1577
+
1578
+ ..win.setRect(hwnd,..win.getMonitorInfo( hOwner : hwnd ).rcMonitor);
1579
+ ..win.setForeground( hwnd );
1580
+ ..win.setActive( hwnd );
1581
+ ..win.setTopmost( hwnd );
1582
+
1583
+ owner.restoreFullScreen = restoreFullScreen;
1584
+ }
1585
+ else {
1586
+ if( owner.restoreFullScreen ){
1587
+ with( owner.restoreFullScreen ){
1588
+ if(parent)..win.setParent( hwnd, parent );
1589
+ if(own)..win.setOwner(hwnd,own);
1590
+
1591
+ owner.modifyStyle(,style);
1592
+ placement.update();
1593
+
1594
+ if( !top ){
1595
+ ..win.setTopmost( hwnd,false )
1596
+ }
1597
+ }
1598
+ owner.restoreFullScreen = null;
1599
+ }
1600
+ }
1601
+ return owner.restoreFullScreen;;
1602
+ };
1603
+ getScale = function(){
1604
+ var dpiScaleX,dpiScaleY = (owner.dpiScaleX : 1) ,(owner.dpiScaleY : 1);
1605
+ var defDlg = owner._defClientRect;
1606
+ if(!defDlg) return;
1607
+ var dlg = owner.getClientRect();
1608
+ return ((dlg.right-dlg.left)/(defDlg.right-defDlg.left)),((dlg.bottom-dlg.top)/(defDlg.bottom-defDlg.top)),dpiScaleX,dpiScaleY;
1609
+ };
1610
+ applyDisableDragFullWindow = function(callback){
1611
+ if( ( owner.disableDragFullWindow === null && owner.hasBackground && ! ..win.getStyle(owner.hwnd,0x2000000/*_WS_CLIPCHILDREN*/) )
1612
+ || owner.disableDragFullWindow ){
1613
+ var status = { bool fullwindow};
1614
+ ::SystemParametersInfo(0x26/*_SPI_GETDRAGFULLWINDOWS*/,0,status,0);
1615
+ if( status.fullwindow ){
1616
+ ::SystemParametersInfo( 0x25/*_SPI_SETDRAGFULLWINDOWS*/,0,{},0);
1617
+ var r = callback(true);
1618
+ ::SystemParametersInfo( 0x25/*_SPI_SETDRAGFULLWINDOWS*/,1,{},0);
1619
+ return r;
1620
+ }
1621
+ }
1622
+ return callback();
1623
+ };
1624
+ hasDirectDrawBackground = function(){
1625
+ return owner.onDrawBackground || #owner._onlyDirectDrawBackground || #owner._directDrawBackground;
1626
+ };
1627
+ directDrawBackground = function(hMemDc,graphics,rc){
1628
+ if( owner.onDrawBackground ){
1629
+ owner.onDrawBackground(hMemDc,rc);
1630
+ }
1631
+
1632
+ var ctrlBkOnly = owner._onlyDirectDrawBackground;
1633
+ var ctrlBk = owner._directDrawBackground;
1634
+
1635
+ var ctrl;
1636
+ for(i=1;#ctrlBkOnly;1){
1637
+ ctrl = ctrlBkOnly[i];
1638
+ ctrl.onDirectDrawBackground(hMemDc,graphics)
1639
+ }
1640
+
1641
+ var isVisible = ..win.isVisible;
1642
+ for(i=1;#ctrlBk;1){
1643
+ ctrl = ctrlBk[i];
1644
+ if( isVisible(ctrl.hwnd) ) ctrl.onDirectDrawBackground(hMemDc,graphics)
1645
+ }
1646
+
1647
+ if( owner.onDrawBackgroundEnd){
1648
+ owner.onDrawBackgroundEnd(hMemDc,rc);
1649
+ }
1650
+ };
1651
+ onMoveForm = function(){
1652
+ for(hwnd,ctrl in owner._ctrlAutoResize ){
1653
+ if( ctrl.cacheOrphanWindowRect__ ){
1654
+ var rc = ctrl.cacheOrphanWindowRect__;
1655
+ var l,t = ..win.toScreen(owner.hwnd,rc.left,rc.top);
1656
+ ..win.setPos( hwnd,l,t,rc.width() ,rc.height() ,,0x14/*_SWP_NOACTIVATE | _SWP_NOZORDER*/ );
1657
+ if( ctrl.onSetOrphanWindowPos ) ctrl.onSetOrphanWindowPos(l,t,rc.width() ,rc.height())
1658
+ }
1659
+
1660
+ if(ctrl.isForm){
1661
+ ctrl.onMoveForm();
1662
+ }
1663
+ }
1664
+ };
1665
+ remove = function(name){
1666
+ var ctrl = owner[name];
1667
+ if( ctrl ? ctrl.hwnd ? ctrl.close ){
1668
+ ctrl.close();
1669
+ }
1670
+ owner[name] = null;
1671
+ };
1672
+ add = function( tParam,parentCtrl ) {
1673
+ var parent = parentCtrl : owner;
1674
+ var dpiScaleX,dpiScaleY = (parent.dpiScaleX : 1) ,(parent.dpiScaleY : 1);
1675
+
1676
+ if(tParam[["hwnd"]]){
1677
+ owner._ctrlHwnd[tParam.hwnd] = tParam;
1678
+ owner._uncontrolledHwnd[tParam.hwnd] = tParam;
1679
+
1680
+ tParam[["parent"]] = owner;
1681
+ tParam[["_parentForm"]] = owner;
1682
+ tParam[["dpiScaleX"]] = dpiScaleX;
1683
+ tParam[["dpiScaleY"]] = dpiScaleY
1684
+ return;
1685
+ }
1686
+
1687
+ var zorder,zorderBk = {},{};
1688
+ var cls;
1689
+ for name,opt in tParam{
1690
+ cls = opt.cls;
1691
+ ..table.push( (cls=="bk")||(cls=="bkplus") ? zorderBk :zorder,{name;opt});
1692
+ }
1693
+ ..table.sort(zorder,lambda(b) owner[2].z < b[2].z);
1694
+
1695
+ if(#zorderBk){
1696
+ ..table.sort(zorderBk,lambda(b) owner[2].z < b[2].z);
1697
+ zorder = ..table.append(zorderBk,zorder)
1698
+ }
1699
+
1700
+ var ctrl;
1701
+ var defParent = parent._defClientRect : parent._defRect;
1702
+ var result = {};
1703
+ for(i=1;#zorder ){
1704
+ var name = zorder[i][1];
1705
+ var opt = zorder[i][2];
1706
+
1707
+ //计算位置参数
1708
+ var width = opt.width;
1709
+ if( width!==null ){
1710
+ if( opt.left!==null ) opt.right = opt.left + width;
1711
+ elseif( opt.right!==null ) opt.left = opt.right - width;
1712
+ }
1713
+ else{
1714
+ if( opt.right === null && opt.marginRight === null) opt.marginRight = 0;
1715
+ if( opt.left === null && opt.marginLeft === null) opt.marginLeft = 0;
1716
+ }
1717
+
1718
+ if( opt.marginRight !== null ){
1719
+ if( opt.marginRight < 1 ){
1720
+ opt.right = defParent.right - defParent.width() * opt.marginRight;
1721
+ opt.dr = opt.marginRight ? opt.marginRight : 1;
1722
+ }
1723
+ else {
1724
+ opt.right = defParent.right - opt.marginRight;
1725
+ opt.dr = 1;
1726
+ }
1727
+ }
1728
+
1729
+ if( opt.marginLeft !== null ){
1730
+ if( opt.marginLeft < 1 ){
1731
+ opt.left = defParent.left + defParent.width() * opt.marginLeft;
1732
+ opt.dl = opt.marginLeft ? opt.marginLeft : 1
1733
+ }
1734
+ else {
1735
+ opt.left = defParent.left + opt.marginLeft;
1736
+ opt.dl = 1;
1737
+ }
1738
+ }
1739
+
1740
+ if( opt.left===null ){
1741
+ if( opt.right !== null ) opt.left = opt.right - (width:0);
1742
+ else opt.left = 0;
1743
+ }
1744
+
1745
+ if( opt.right===null ){
1746
+ opt.right = ( opt.left : 0) + (width:0);
1747
+ }
1748
+
1749
+ opt.width = null;
1750
+ opt.marginLeft = null;
1751
+ opt.marginRight = null;
1752
+
1753
+ //计算位置参数
1754
+ var height = opt.height;
1755
+ if( height!==null ){
1756
+ if( opt.top!==null ) opt.bottom = opt.top + height;
1757
+ elseif( opt.bottom!==null ) opt.top = opt.bottom - height;
1758
+ }
1759
+ else{
1760
+ if( opt.bottom === null && opt.marginBottom === null) opt.marginBottom = 0;
1761
+ if( opt.top === null && opt.marginTop === null) opt.marginTop = 0;
1762
+ }
1763
+
1764
+ if( opt.marginBottom !== null ){
1765
+ if( opt.marginBottom < 1 ){
1766
+ opt.bottom = defParent.bottom - defParent.height() * opt.marginBottom;
1767
+ opt.db = opt.marginBottom ? opt.marginBottom : 1
1768
+ }
1769
+ else {
1770
+ opt.bottom = defParent.bottom - opt.marginBottom;
1771
+ opt.db = 1;
1772
+ }
1773
+ }
1774
+
1775
+ if( opt.marginTop !== null ){
1776
+ if( opt.marginTop < 1 ){
1777
+ opt.top = defParent.top + defParent.height() * opt.marginTop;
1778
+ opt.dt = opt.marginTop ? opt.marginTop : 1
1779
+ }
1780
+ else {
1781
+ opt.top = defParent.top + opt.marginTop;
1782
+ opt.dt = 1;
1783
+ }
1784
+ }
1785
+
1786
+ if( opt.top===null ){
1787
+ if( opt.bottom!== null ){
1788
+ opt.top = opt.bottom - (height:0);
1789
+ }
1790
+ else {
1791
+ opt.top = 0;
1792
+ }
1793
+
1794
+ }
1795
+
1796
+ if( opt.bottom===null ){
1797
+ opt.bottom = ( opt.top : 0) + (height:0);
1798
+ }
1799
+
1800
+ opt.height = null;
1801
+ opt.marginTop = null;
1802
+ opt.marginBottom = null;
1803
+
1804
+ if(!opt.id) {
1805
+ opt.id = ..table.pop(owner._ctrlId.freeIds,1);
1806
+ if(!opt.id){
1807
+ opt.id = owner._ctrlId.lastFreeId;
1808
+ owner._ctrlId.lastFreeId = owner._ctrlId.lastFreeId + 1;
1809
+ }
1810
+ }
1811
+
1812
+ opt[["parent"]] = parent;
1813
+ opt.hInstance = owner.hInstance;
1814
+ ctrl = ctrl_factory.create(opt);
1815
+ if(!ctrl)continue ;
1816
+
1817
+ if( type(name) == type.string ){
1818
+ var conflict = parent[name];
1819
+ if( conflict[["hwnd"]] && conflict.close ){
1820
+ conflict.close();
1821
+ }
1822
+ parent[name] = ctrl;
1823
+ }
1824
+ result[name] = ctrl;
1825
+
1826
+ owner._ctrlId[opt.id] = ctrl;
1827
+ ctrl[["id"]] = opt.id;
1828
+ ctrl[["parent"]] = parent;
1829
+ ctrl[["_parentForm"]] = owner;
1830
+
1831
+ if( !ctrl.hwnd ){
1832
+ if(ctrl.onlyDirectDrawBackground){
1833
+ if(!(ctrl.setFont)) ctrl.setFont = function(){};
1834
+ ..table.push( owner._onlyDirectDrawBackground,ctrl );
1835
+
1836
+ ctrl.setPos(opt.left,opt.top,opt.right-opt.left,opt.bottom-opt.top);
1837
+ ctrl_factory.onCreateComplete(ctrl,dpiScaleX,dpiScaleY);
1838
+ owner.hasBackground = true;
1839
+ continue;
1840
+ }
1841
+
1842
+ ctrl.hwnd = createWindowEx (opt.exstyle, opt.cls , opt.text , opt.style ,opt.left,opt.top,opt.right - opt.left , opt.bottom - opt.top,
1843
+ parent.hwnd , opt.id , opt.hInstance )
1844
+
1845
+ }
1846
+ else {
1847
+ ..win.modifyStyle(ctrl.hwnd,,opt.style | 0x40000000/*_WS_CHILD*/);
1848
+ ..win.setParent(ctrl.hwnd,parent.hwnd);
1849
+ ..win.setPos(ctrl.hwnd,opt.left,opt.top,opt.right - opt.left , opt.bottom - opt.top,0x1/*_HWND_BOTTOM*/);
1850
+ }
1851
+
1852
+ owner._ctrlHwnd[ctrl.hwnd] = ctrl
1853
+ if( (opt.autoResize === null) || (opt.autoResize) )
1854
+ owner._ctrlAutoResize[ctrl.hwnd] = ctrl;
1855
+
1856
+ ctrl_factory.onCreateComplete(ctrl,dpiScaleX,dpiScaleY);
1857
+ if(owner["(dpiScalingInitialized)"]) ctrl.reloadScale();
1858
+ }
1859
+
1860
+ if( owner._onControlCreated ) owner._onControlCreated(result);
1861
+ if( owner.onControlCreated ) owner.onControlCreated(result);
1862
+
1863
+ return result;
1864
+ };
1865
+ )
1866
+
1867
+ _metaProperty.addtimer = _metaProperty.setInterval;
1868
+ _metaProperty.settimer = _metaProperty.changeInterval;
1869
+ _metaProperty.killtimer = _metaProperty.clearInterval;
1870
+ _metaProperty.clearTimeout = _metaProperty.clearInterval;
1871
+ _metaProperty.hitmin = _metaProperty.hitMin;
1872
+ _metaProperty.hitmax = _metaProperty.hitMax;
1873
+ }
1874
+
1875
+ win._form = win.form;
1876
+ win.ui.isForm = function(v){
1877
+ return v@===..win.form._metaProperty;
1878
+ }
1879
+
1880
+ /**intellisense()
1881
+ win.ui.waitCursor(__) = 参数为true显示等待光标,false取消,\n参数也可以仅传入一个函数,执行该函数并在执行期间显示等待光标\n可选使用参数@2指定其他光标句柄
1882
+ win.ui.isForm(__) = 检测输入参数是否win.form窗体对象
1883
+ win.form = 在标准库 win.ui 中定义的创建窗体的类,\n此类允许被动态替换以修改默认的构造函数,\n请使用 win._form 以保证能访问原始的 win.form\n\n窗体对象以及窗体创建的控件对象可作为参数传入其他线程,\n跨线程调用窗体对象的成员函数时将转发到创建窗口的线程执行。
1884
+ win._form = 指向原始的 win.form\n注意 win.loadForm 函数会暂时修改 win.form函数并注入代码修改默认行为,例如修改父窗口,\n如果在库里面希望创建原生窗口而不需要接受注入代码,\n建议使用win._form代替win.form
1885
+ win._form.getForm(__/*控件或窗口句柄*/) = 在上级父窗口或所有者窗口中查找最接近的form对象
1886
+ win._form.getParentForm(__/*控件或窗口句柄*/) = 在上级父窗口中查找最接近的form对象
1887
+ win._form._defaultProc = @._defaultProc[__/*消息ID*/] = function(this,hwnd, message, wParam, lParam){\n \n}
1888
+ win._form.createWindowEx = @.createWindowEx = function(exStyle,className,windowName,style,x,y,width,height,hwndParent,hMenu,hlnstance,lpParam){
1889
+ return ::CreateWindowEx(exStyle,className,windowName,style,x,y,width,height,hwndParent,hMenu,hlnstance,lpParam);
1890
+ }
1891
+ win.form.loadForm() = !winform.
1892
+ ?.loadForm = !winform.
1893
+ ?.getForm = !winform.
1894
+ win.form() = 创建的窗体对象,\n可选用一个表指定创建参数,\n请使用窗体设计器自动生成参数。\n\n窗体对象以及窗体创建的控件对象可作为参数传入其他线程,\n跨线程调用窗体对象的成员函数时将转发到创建窗口的线程执行。\n!winform.
1895
+ win._form() = !winform.
1896
+ !winform._parentForm = 创建该控件的父窗口(win.form对象),\n设计时窗体容器是所有拖放在窗体上的控件的 _parentForm,\n\n即使窗口移除子窗口样式、更改父子关系,或以 orphanWindow显示,\n控件的 _parentForm 始终都不会改变\n!winform.
1897
+ end intellisense**/