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,2086 @@
1
+ //plus 高级图像控件
2
+ import gdip.graphics;
3
+ import gdip.solidBrush;
4
+ import gdip.lineBrush;
5
+ import gdip.pen;
6
+ import gdip.stringformat;
7
+ import gdip.font;
8
+ import gdip.path;
9
+ import win.ui.tracker;
10
+ import win.ui.ctrl.richedit;
11
+ import gdip.textureBrush;
12
+ import win.ui.ctrl.metaProperty;
13
+ import gdip.pathGradientBrush;
14
+
15
+ namespace win.ui.ctrl;
16
+
17
+ class plus {
18
+ ctor( parent,tParam ) {
19
+ this.state = {};
20
+ tParam.cls = __className;
21
+ if(tParam.edge) tParam.exstyle |= 0x20000/*_WS_EX_STATICEDGE*/;
22
+ this.transparent = tParam.transparent;
23
+ this.notify = tParam.notify;
24
+ this.animation = tParam.animation;
25
+ this.bkTop = tParam.bkTop : 0;
26
+ this.bkRight = tParam.bkRight : 0;
27
+ this.bkBottom = tParam.bkBottom : 0;
28
+ this.bkLeft = tParam.bkLeft : 0;
29
+ this.foreTop = tParam.foreTop : 0;
30
+ this.foreRight = tParam.foreRight : 0;
31
+ this.foreBottom = tParam.foreBottom : 0;
32
+ this.foreLeft = tParam.foreLeft : 0;
33
+ this.paddingLeft = tParam.paddingLeft : 0;
34
+ this.paddingRight = tParam.paddingRight : 0;
35
+ this.paddingTop = tParam.paddingTop : 0;
36
+ this.paddingBottom = tParam.paddingBottom : 0;
37
+ this.x = tParam.x : 0;
38
+ this.y = tParam.y : 0;
39
+
40
+ if(!_WINXP) {
41
+ if( !tParam.font ) tParam.font = ::LOGFONT(name="Segoe UI");
42
+ elseif( tParam.font.name=="Tahoma" ) tParam.font.name="Segoe UI";
43
+ }
44
+ else {
45
+ if( !tParam.font ) tParam.font = ::LOGFONT(name="MS Shell Dlg");
46
+ elseif( tParam.font.name=="Tahoma" ) tParam.font.name="MS Shell Dlg";
47
+ }
48
+
49
+ if(tParam.font.name!="Segoe UI" || this.transparent){
50
+ this.textRenderingHint = 3/*_GdipTextRenderingHintAntiAliasGridFit*/;
51
+ }
52
+ else {
53
+ this.textRenderingHint = 5/*_TextRenderingHintClearTypeGridFit*/;
54
+ }
55
+
56
+ if( tParam.iconStyle[["font"]] != "Segoe UI" || this.transparent){
57
+ this.iconTextRenderingHint = 3;
58
+ }
59
+ else {
60
+ this.iconTextRenderingHint = 5;
61
+ }
62
+
63
+ if(!#tParam.repeat) tParam.repeat = "expand";
64
+ if(!#tParam.foreRepeat) tParam.foreRepeat = "point";
65
+ this[["(text)"]] = tParam.text;
66
+ this.smoothingMode = 4/*_GdipSmoothingModeAntiAlias*/;
67
+ this.interpolationMode = 7/*_InterpolationModeHighQualityBicubic*/;
68
+ this.clipBk = true;
69
+
70
+ if(tParam.bgcolor!==null){
71
+ this.backgroundColor = ..gdi.rgbReverse( tParam.bgcolor ) | 0xFF000000;
72
+ tParam.bgcolor = null;
73
+ }
74
+
75
+ if(tParam.forecolor!==null){
76
+ this.foregroundColor = ..gdi.rgbReverse( tParam.forecolor ) | 0xFF000000;
77
+ tParam.forecolor = null;
78
+ }
79
+
80
+ if( type(tParam.border) == "number" ){
81
+ tParam.border = {width=tParam.border;color=0xFF000000}
82
+ };
83
+
84
+ this.border = tParam.border;
85
+ tParam.border = null;
86
+
87
+ tParam.style= tParam.style &~0x800000/*_WS_BORDER*/;
88
+ this.trimming = 3/*_StringTrimmingEllipsisCharacter*/;
89
+ this.stringFormatFlags = 0x800/*_GdipStringFormatFlagsMeasureTrailingSpaces*/ | 0x1000/*_StringFormatFlagsNoWrap*/;
90
+ this.hotkeyPrefix = 1/*_GdipHotkeyPrefixShow*/;
91
+
92
+ //先禁用避免触发属性表
93
+ this[["editable"]] = tParam.editable;
94
+ if(tParam.editable){
95
+ tParam.style= tParam.style &~0x100000/*_WS_HSCROLL*/;
96
+ tParam.style= tParam.style &~0x200000/*_WS_VSCROLL*/;
97
+ }
98
+
99
+ if(tParam.iconColor){
100
+ tParam.iconColor = ..gdi.argbReverse(tParam.iconColor);
101
+ }
102
+ };
103
+ redrawTransparent = function(){
104
+ if( owner[["initializing"]] ) return;
105
+ this.updateBitmapCache(true);
106
+ if(this.drawToBackgroundEnabled){
107
+ var winform = owner[["_parentForm"]];
108
+ winform.background.update();
109
+ winform.invalidate(owner);
110
+ winform.update();
111
+ return;
112
+ }
113
+
114
+ if( ( ( this.transparent || ( this.isHyperlink() && !this.clipBk) ) ) && !owner.cacheOrphanWindowRect__){
115
+ var hParent = ..win.getParent(owner.hwnd);
116
+ var rc = ..win.getRect(owner.hwnd);
117
+ ::InvalidateRect( hParent,rc,1 );
118
+ ::UpdateWindow( hParent );
119
+ if( ..win.getStyle(hParent,0x2000000/*_WS_CLIPCHILDREN*/) ){
120
+ ::RedrawWindow(this[["hwnd"]],{},null,0x105 /*_RDW_INVALIDATE | _RDW_UPDATENOW*/ );
121
+ }
122
+ }
123
+ else {
124
+ ::RedrawWindow(this[["hwnd"]],{},null,0x105 /*_RDW_INVALIDATE | _RDW_UPDATENOW*/ );
125
+ }
126
+ };
127
+ redraw = function( flag = 0x105 /*_RDW_INVALIDATE | _RDW_UPDATENOW */ ) {
128
+ if( owner[["initializing"]] ) return;
129
+ this.updateBitmapCache();
130
+ if(this.drawToBackgroundEnabled){
131
+ var winform = owner[["_parentForm"]];
132
+ winform.background.update();
133
+ winform.invalidate(owner);
134
+ winform.update();
135
+ return;
136
+ }
137
+
138
+ ::RedrawWindow(owner[["hwnd"]],{},null,flag);
139
+ };
140
+ predraw = function(){
141
+ this.updateBitmapCache(true);
142
+ this.invalidate();
143
+ };
144
+ _preadjust = function(cx,cy){
145
+ this.updateBitmapCache(true);
146
+ this.invalidate();
147
+ if(this.drawToBackgroundEnabled){
148
+ var winform = owner[["_parentForm"]];
149
+ winform.background.update();
150
+ }
151
+ };
152
+ _beforeDpiChanged = function(scaleX,scaleY,origScaleX,origScaleY){
153
+ this[["(iconFont)"]] = null;
154
+ this[["(iconFontOrig)"]] = null;
155
+ };
156
+ updateBitmapCache = function(erase){
157
+ if( owner._closed ) return;
158
+ if( this.$bitmapCacheUpdating ) return;
159
+ if( this.cacheBitmap ) {
160
+ ..gdip.DeleteCachedBitmap(this.cacheBitmap);
161
+ this.cacheBitmap = null;
162
+ }
163
+
164
+ if( !..win.isWindow(this.hwnd) ) return;
165
+ var foreground = this[["(foreground)"]];
166
+ var background = this[["(background)"]];
167
+ var rcClient = this.getClientRect();
168
+ var rc = rcClient.copy();
169
+
170
+ var width,height = rc.right - rc.left,rc.bottom - rc.top;
171
+ var bmpMem = ..gdip.bitmap(width,height);
172
+ if( !bmpMem ) return;
173
+
174
+ var graphics = bmpMem.graphics;
175
+ graphics.smoothingMode = this.smoothingMode;
176
+ graphics.compositingQuality = 2/*_GdipCompositingQualityHighQuality*/;
177
+ graphics.textRenderingHint = this.textRenderingHint;
178
+ graphics.interpolationMode = this.interpolationMode;;
179
+
180
+ var winform = owner[["_parentForm"]];
181
+ var clipBk = erase && !this.transparent && winform && this.clipBk && (!this.cacheOrphanWindowRect__ );
182
+ var clipBkRect;
183
+ if( clipBk && winform.background ){
184
+ var hdc = graphics.getDc();
185
+ clipBkRect = ..win.getRect(owner.hwnd);
186
+ if( this.parent != winform) ..win.mapRect(this.parent.hwnd,winform.hwnd,clipBkRect);
187
+ winform.background.drawRect(hdc, clipBkRect);
188
+ graphics.releaseDc(hdc);
189
+ }
190
+
191
+ if( this.scale ) graphics.scaleRect(rc,this.scale,this.scale);
192
+ if( this.argbColor === null ) this.argbColor = 0xFF000000;
193
+
194
+ this.$bitmapCacheUpdating = true;
195
+ var dpiScaleX,dpiScaleY = (this.dpiScaleX : 1) ,(this.dpiScaleY : 1);
196
+
197
+ var cancel;
198
+ if( this.onDrawBackground ){
199
+ cancel = this.onDrawBackground(graphics,rc,this.backgroundColor,this.argbColor)
200
+ }
201
+
202
+ if( ! cancel ){
203
+ if( background ? background.isValid() ){
204
+ graphics.drawBackground(background,this["(repeat)"]
205
+ ,rc,this.bkTop,this.bkRight,this.bkBottom,this.bkLeft
206
+ ,null,dpiScaleX,dpiScaleY);
207
+ }
208
+ elseif( ( this.backgroundColor !== null ) && ( this.mode != "trackbar" ) ){
209
+
210
+ var pixelOffsetMode = graphics.pixelOffsetMode;
211
+ graphics.pixelOffsetMode = 4/*_PixelOffsetModeHalf*/;
212
+
213
+ if( ( this.linearGradient !== null ) && (this.foregroundColor!==null)){
214
+ if(this.linearGradient>=0){
215
+ var rf = rc.float();
216
+ rf.angle = this.linearGradient;
217
+ var brush = ..gdip.lineBrush(rf,this.backgroundColor,this.foregroundColor);
218
+ if(dpiScaleY > 1 && height <= 2 && height!=dpiScaleY ){
219
+ height = dpiScaleY;
220
+ }
221
+ if(dpiScaleX > 1 && width <= 2 && width!=dpiScaleX ){
222
+ width = dpiScaleX;
223
+ }
224
+
225
+ graphics.fillRectangle( brush,0,0,width,height);
226
+ brush.delete();
227
+ }
228
+ else {
229
+ var pathGradient = ..gdip.path();
230
+ pathGradient.addEllipse(rc.left,rc.top,rc.width(),rc.height());
231
+
232
+ var brush = ..gdip.pathGradientBrush(pathGradient);
233
+ brush.setCenterColor(this.backgroundColor);
234
+ brush.setSurroundColors(this.foregroundColor);
235
+ brush.gammaCorrection = true;
236
+ graphics.fillEllipse(brush,0,0,width,height);
237
+ brush.delete();
238
+ pathGradient.delete();
239
+ }
240
+ }
241
+ elseif( ! this[["(progress-clip-path)"]] ) {
242
+ var brush = ..gdip.solidBrush(this.backgroundColor);
243
+ graphics.fillRectangle( brush,0,0,width,height);
244
+ brush.delete();
245
+ }
246
+
247
+ graphics.pixelOffsetMode = pixelOffsetMode;
248
+ }
249
+ }
250
+
251
+ var paddingTop,paddingBottom,paddingLeft,paddingRight = owner.paddingTop*dpiScaleY,owner.paddingBottom*dpiScaleY
252
+ ,owner.paddingLeft*dpiScaleX,owner.paddingRight*dpiScaleX;
253
+
254
+ var rcContent = ::RECT();
255
+ rcContent.right = rc.right - paddingRight;
256
+ rcContent.bottom = rc.bottom - paddingBottom;
257
+ rcContent.left = paddingLeft;
258
+ rcContent.top = paddingTop;
259
+
260
+ cancel = false;
261
+ if( this.onDrawContent ){
262
+ cancel = this.onDrawContent(graphics,rc,this.argbColor,rcContent,this.foregroundColor)
263
+ }
264
+
265
+ var rcText;
266
+ if( ! cancel ){
267
+ var hasForeground = foreground ? foreground.isValid();
268
+ var text = this[["(text)"]];
269
+ if( #text or this.onDrawString ){
270
+ var x,y = paddingLeft,paddingTop;
271
+ if( ( background ? this.state[["active"]] ? (!this[["(progress-range)"]]) ) ) { x++;y++; };
272
+ rcText = ::RECTF(x,y,width - x - paddingRight,height - y - paddingBottom);
273
+ }
274
+
275
+ var pixelOffsetMode = graphics.pixelOffsetMode;
276
+ graphics.pixelOffsetMode = 2/*_PixelOffsetModeHighQuality*/
277
+
278
+ if( this[["(progress-range)"]] && this[["(progress-pos)"]]!== null && this.mode ){
279
+ var rcTrackBar;
280
+ var rc = {left=paddingLeft;top=paddingTop;
281
+ right=width - paddingRight;bottom=height- paddingBottom};
282
+
283
+ var w = rc.right - rc.left;
284
+ var h = rc.bottom - rc.top;
285
+ var r = (this[["(progress-pos)"]])/(this[["(progress-range)"]]);
286
+
287
+ var path = this[["(progress-clip-path)"]];
288
+ if( path && this.mode=="pie" ){
289
+ path.reset();
290
+ if(this.backgroundColor!==null){
291
+ path.addEllipse(rc.left,rc.top,w,h);
292
+ graphics.setClipPath(path,0/*_GdipCombineModeReplace*/);
293
+ var brush = ..gdip.solidBrush(this.backgroundColor);
294
+ graphics.fillEllipse( brush,0,0,width,height);
295
+ brush.delete();
296
+ }
297
+
298
+ path.reset();
299
+ path.addPie( rc.left ,rc.top,w,h,90,360 * r );
300
+ graphics.setClipPath(path,1/*_CombineModeIntersect*/);
301
+ }
302
+ else{
303
+ if( this.mode = "trackbar" ){
304
+ var bx,by,bcx,bcy;
305
+ if( r > 1 ) r = 1;
306
+ if( w > h ){
307
+ var foreRight = this.foreRight*dpiScaleX;
308
+ var p = (this.foreLeft*dpiScaleX) + (foreRight);
309
+ rc.right = rc.left + (w - p) * r + p;
310
+ if(rcText && this.align == "right") rcText.width = rc.right - rcText.x;
311
+ bx,by,bcx,bcy = 0,rc.top,width,rc.bottom-rc.top;
312
+
313
+ if( (!hasForeground) && this.foreRight){
314
+ var left = rc.right - (foreRight);
315
+ rcTrackBar = ::RECT(left,0,left+foreRight,height);
316
+ }
317
+ }
318
+ else {
319
+ var foreTop = this.foreTop*dpiScaleY;
320
+ var p = foreTop + this.foreBottom*dpiScaleY;
321
+ rc.top = rc.bottom - ( h - p) * r - p ;
322
+ if(rcText && this.valign == "top") { rcText.y = rc.top; rcText.height = rc.bottom - rc.top; };
323
+ bx,by,bcx,bcy = rc.left,0,rc.right-rc.left,height;
324
+
325
+ if((!hasForeground) && this.foreTop){
326
+ rcTrackBar = ::RECT(0,rc.top,width,rc.top+foreTop);
327
+ }
328
+ }
329
+
330
+ if(this.backgroundColor!==null){
331
+ if( (this.linearGradient>=0) && (this.foregroundColor!=null) ) {
332
+ var rf = ::RECTF(bx,by,bcx,bcy);
333
+ rf.angle = this.linearGradient;
334
+ var brush = ..gdip.lineBrush(rf,this.backgroundColor,this.foregroundColor);
335
+ graphics.fillRectangle(brush,bx,by,bcx,bcy);
336
+ brush.delete();
337
+ }
338
+ else {
339
+ var brush = ..gdip.solidBrush(this.backgroundColor);
340
+ graphics.fillRectangle( brush,bx,by,bcx,bcy);
341
+ brush.delete();
342
+ }
343
+ }
344
+ }
345
+ else{
346
+ if( w > h ){
347
+ w = ( w - this.foreLeft ) * r + this.foreLeft;
348
+ graphics.setClipRect(rc.left,rc.top,w,h,0/*_GdipCombineModeReplace*/);
349
+ if(rcText && this.align == "right") { rcText.width = ( rc.left + w ) - rcText.x };
350
+ }
351
+ else {
352
+ var top = rc.bottom - ( h - this.foreBottom ) * r - this.foreBottom;
353
+ graphics.setClipRect(rc.left,top,w,rc.bottom,0/*_GdipCombineModeReplace*/);
354
+ if(rcText && this.valign == "top") { rcText.y = top; rcText.height = rc.bottom - top; };
355
+ }
356
+ }
357
+ }
358
+
359
+ if(hasForeground){
360
+ graphics.drawBackground(foreground,this["(foreRepeat)"]
361
+ ,rc,this.foreTop,this.foreRight,this.foreBottom,this.foreLeft,this.imageAttributes
362
+ ,dpiScaleX,dpiScaleY);
363
+ }
364
+ else {
365
+ if( this.linearGradient === null ){
366
+ var brush = ..gdip.solidBrush(this.foregroundColor);
367
+ graphics.fillRectangle( brush,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top);
368
+ brush.delete()
369
+ }
370
+
371
+ if(rcTrackBar && this.argbColor){
372
+ var brush = ..gdip.solidBrush(this.argbColor);
373
+ if(this.border[["radius"]]){
374
+ if(this.border[["radius"]]<0){
375
+ graphics.fillEllipse( brush,rcTrackBar.xywh() );
376
+ }
377
+ else {
378
+ var path = ..gdip.path(1/*_FillModeWinding*/)
379
+ path.addRoundRect(rcTrackBar,this.border.radius*dpiScaleX);
380
+ graphics.fillPath(brush,path);
381
+ path.delete();
382
+ }
383
+ }
384
+ else {
385
+ graphics.fillRectangle( brush,rcTrackBar.xywh() );
386
+ }
387
+
388
+ brush.delete();
389
+ }
390
+ }
391
+
392
+ graphics.resetClip();
393
+ }
394
+ elseif(hasForeground){
395
+ var rc = rc;
396
+ if( this["(foreRepeat)"] != "point"){
397
+ rc = ::RECT(paddingLeft,paddingTop,width - paddingRight,height- paddingBottom);
398
+ }
399
+ elseif( background ? #text ? this.state[["active"]] ){
400
+ rc.left = rc.left + 1;
401
+ rc.top = rc.top + 1;
402
+ }
403
+
404
+ if( this.border[["radius"]] && this.border[["radius"]] < 0 ){
405
+
406
+ if( graphics.transform(this["(foreRepeat)"],foreground,rc,this.x,this.y) ){
407
+ var textureBrush = ..gdip.textureBrush(foreground,this.imageAttributes );
408
+ graphics.fillEllipse(textureBrush,0,0,foreground.width,foreground.height);
409
+ textureBrush.delete();
410
+ graphics.resetTransform();
411
+ if( this.scale ) graphics.scaleRect(rcClient,this.scale,this.scale);
412
+ }
413
+ else {
414
+ var bmpMem2 = ..gdip.bitmap(foreground.width,foreground.height);
415
+ var textureBrush = ..gdip.textureBrush(foreground,this.imageAttributes);
416
+ var g = bmpMem2.getGraphics();
417
+ g.smoothingMode = this.smoothingMode;
418
+ g.fillEllipse(textureBrush,0,0,foreground.width,foreground.height);
419
+ textureBrush.delete();
420
+
421
+ graphics.drawBackground(bmpMem2,this["(foreRepeat)"]
422
+ ,rc,this.foreTop,this.foreRight,this.foreBottom,this.foreLeft
423
+ ,null,dpiScaleX,dpiScaleY);
424
+
425
+ bmpMem2.dispose();
426
+ }
427
+ }
428
+ elseif( this["(foreRepeat)"] == "point"){
429
+
430
+ graphics.drawImagePoint(foreground,rc,this.x,this.y,this.imageAttributes,dpiScaleX,dpiScaleY)
431
+ }
432
+ else {
433
+ graphics.drawBackground(foreground,this["(foreRepeat)"]
434
+ ,rc,this.foreTop,this.foreRight,this.foreBottom,this.foreLeft,this.imageAttributes
435
+ ,dpiScaleX,dpiScaleY);
436
+ }
437
+ }
438
+ elseif( this.foregroundColor !== null ){
439
+ if( this.linearGradient === null ){
440
+ var rc = ::RECT(paddingLeft,paddingTop,width - paddingRight,height- paddingBottom);
441
+ var brush = ..gdip.solidBrush(this.foregroundColor);
442
+ if( this.border[["radius"]] && this.border[["radius"]] < 0 ){
443
+ graphics.fillEllipse(brush,rc.xywh());
444
+ }
445
+ else {
446
+ graphics.fillRectangle(brush,rc.xywh());
447
+ }
448
+
449
+ brush.delete();
450
+ }
451
+ }
452
+
453
+ if( this.onDrawForegroundEnd ){
454
+ this.onDrawForegroundEnd(graphics,rc,rcContent);
455
+ }
456
+
457
+ graphics.pixelOffsetMode = pixelOffsetMode;
458
+ }
459
+
460
+ if( type(this.border) == "table" ){
461
+ var pixelOffsetMode = graphics.pixelOffsetMode;
462
+ graphics.pixelOffsetMode = 3/*_PixelOffsetModeNone*/;
463
+
464
+ var border = this.border;
465
+ var left,top,right,bottom = border.left,border.top,border.right,border.bottom;
466
+ if( ( left===null) && ( top ===null) && ( right ===null) && ( bottom === null) ){
467
+ if( border.width && border.color ){
468
+ var width = border.width * dpiScaleX;
469
+ var w1 = ..math.floor((width-1)/2);
470
+ var w2 = ..math.ceil(width/2);
471
+ var rc = ::RECT(rc.left+w1,rc.top+w1,rc.right-w2,rc.bottom-w2);
472
+
473
+ if( border.radius && ( border.radius > 0 ) ){
474
+ var pen = ..gdip.pen(border.color,width);
475
+ var pathRadius = ..gdip.path(1/*_FillModeWinding*/)
476
+ pathRadius.addRoundRect(rc,this.border.radius*dpiScaleX);
477
+ graphics.drawPath(pen,pathRadius);
478
+ pathRadius.delete();
479
+ pen.delete()
480
+ }
481
+ else {
482
+ var pen = ..gdip.pen(border.color,width);
483
+ graphics.drawRectangle(pen,rc.left,rc.top,rc.width(),rc.height());
484
+ pen.delete();
485
+ }
486
+ }
487
+ }
488
+ else{
489
+ var padding = border.padding : 0;
490
+
491
+ if( border.width ){
492
+ if( left === null ) left = border.width;
493
+ if( top === null ) top = border.width;
494
+ if( right === null ) right = border.width;
495
+ if( bottom === null ) bottom = border.width;
496
+ }
497
+
498
+ if( left ){
499
+ left = left * dpiScaleX;
500
+ var w = ..math.floor((left-1)/2);
501
+ var color = border.leftColor ;
502
+ if( color === null ) color = border.color;
503
+
504
+ if( color != null ) {
505
+ var pen = ..gdip.pen( color,left);
506
+ graphics.drawLine(pen,rc.left+w,rc.top-1+padding*dpiScaleY,rc.left+w,rc.bottom-padding*dpiScaleY);
507
+ pen.delete();
508
+ }
509
+ }
510
+ if( top ){
511
+ top = top * dpiScaleY;
512
+ var w = ..math.floor((top-1)/2);
513
+ var color = border.topColor ;
514
+ if( color === null ) color = border.color;
515
+
516
+ if( color != null ) {
517
+ var pen = ..gdip.pen( color,top);
518
+ graphics.drawLine(pen,rc.left-1+padding*dpiScaleX,rc.top+w,rc.right-padding*dpiScaleX,rc.top+w);
519
+ pen.delete();
520
+ }
521
+ }
522
+
523
+ if( right ){
524
+ right = right * dpiScaleX;
525
+ var w = ..math.ceil(right/2);
526
+ var color = border.rightColor ;
527
+ if( color === null ) color = border.color;
528
+
529
+ if( color != null ) {
530
+ var pen = ..gdip.pen( color,right);
531
+ graphics.drawLine(pen,rc.right-w,rc.top-1+padding*dpiScaleY,rc.right-w,rc.bottom-padding*dpiScaleY);
532
+ pen.delete();
533
+ }
534
+ }
535
+
536
+ if( bottom ){
537
+ bottom = bottom * dpiScaleY;
538
+ var w = ..math.ceil(bottom/2);
539
+ var color = border.bottomColor ;
540
+ if( color === null ) color = border.color;
541
+
542
+ if( color != null ) {
543
+ var pen = ..gdip.pen( color,bottom);
544
+ graphics.drawLine(pen,rc.left-1+padding*dpiScaleX,rc.bottom-w,rc.right-padding*dpiScaleX,rc.bottom-w);
545
+ pen.delete();
546
+ }
547
+ }
548
+ }
549
+
550
+ graphics.pixelOffsetMode = pixelOffsetMode;
551
+ }
552
+
553
+ if( this[["(iconText)"]] && this.iconStyle ){
554
+ var iconStyle = this.iconStyle;
555
+ var strformat = ..gdip.stringformat();
556
+ strformat.align = __stringAlignment[ iconStyle.align : "center" ]
557
+ strformat.lineAlign = __stringAlignment[ iconStyle.valign : "center" ]
558
+
559
+ var padding = iconStyle.padding;
560
+ var x,y = (padding[["left"]]:0)*dpiScaleX,(padding[["top"]]:0)*dpiScaleY;
561
+ var rcText = ::RECTF(x,y,width - x - ((padding[["right"]]:0)*dpiScaleX),height- y - ((padding[["bottom"]]:0)*dpiScaleY));
562
+ if( background ? this.state[["active"]] ){
563
+ rcText.x = rcText.x + 1;
564
+ rcText.y = rcText.y + 1;
565
+ }
566
+
567
+ if( iconStyle.font ) {
568
+ var color = this.iconColor
569
+ if(color===null)color=this.argbColor;
570
+ var brush = ..gdip.solidBrush(color);
571
+
572
+ if((!this[["(iconFont)"]]) || (this[["(iconFontOrig)"]]!=iconStyle.font) ){
573
+ var hdc = ::GetDC(owner.hwnd);
574
+ if(!::LOGFONT.is(iconStyle.font)) iconStyle.font = ::LOGFONT(iconStyle.font);
575
+ iconStyle.font.stripPoint(hdc);
576
+
577
+ var h = iconStyle.font.h;
578
+ if( this.dpiScaleY ) iconStyle.font.h = h * this.dpiScaleY;
579
+ this[["(iconFont)"]] = ..gdip.font( hdc,iconStyle.font );
580
+ this[["(iconFontOrig)"]] = iconStyle.font;
581
+
582
+ iconStyle.font.h = h;
583
+ ::ReleaseDC(owner.hwnd,hdc);
584
+ }
585
+
586
+ var hint = graphics.textRenderingHint;
587
+ graphics.textRenderingHint = this.iconTextRenderingHint;
588
+ graphics.drawString( this[["(iconText)"]],this[["(iconFont)"]],rcText, strformat,brush);
589
+ graphics.textRenderingHint = hint;
590
+ brush.delete();
591
+ }
592
+
593
+ strformat.delete();
594
+ }
595
+
596
+ if( rcText ){
597
+
598
+ var text = this[["(text)"]];
599
+ var strformat = ..gdip.stringformat();
600
+ strformat.align = __stringAlignment[ this.align : "center" ]
601
+ strformat.lineAlign = __stringAlignment[ this.valign : "center" ]
602
+ strformat.hotkeyPrefix = this.hotkeyPrefix;
603
+ strformat.flags = this.stringFormatFlags;
604
+ if(this.trimming!==null) strformat.trimming = this.trimming;
605
+
606
+ var brush = ..gdip.solidBrush( this.argbColor );
607
+ if( this[["(font)"]] ) {
608
+ var p = this.textPadding;
609
+ if( p ){
610
+ ..table.mix(p,{left=0;top=0;right=0;bottom=0});
611
+ rcText.x = rcText.x + p.left*dpiScaleX;
612
+ rcText.y = rcText.y + p.top*dpiScaleY;
613
+ rcText.width = rcText.width - p.left*dpiScaleX - p.right*dpiScaleX;
614
+ rcText.height = rcText.height - p.top*dpiScaleY - p.bottom*dpiScaleY;
615
+ }
616
+
617
+ if( !this.onDrawString ){
618
+ var map = this.fontCharMap;
619
+ if(map){
620
+ var w = rcText.width/#text;
621
+ var rc = ::RECT(rcText.x,rcText.y,rcText.x+w,rcText.y+rcText.height)
622
+ ..string.replace(text,":|.",function(c){
623
+ if(map[c]){
624
+ graphics.drawBackground(map[c],"scale",rc,,,,,,dpiScaleX,dpiScaleY);
625
+ rc.offset(w,0);
626
+ }
627
+ })
628
+ }
629
+ else {
630
+ graphics.drawString( text ,this[["(font)"]],rcText, strformat,brush);
631
+ }
632
+ }
633
+ else{
634
+ this.onDrawString(graphics,text,this[["(font)"]],rcText, strformat,brush)
635
+ }
636
+ }
637
+ brush.delete();
638
+ strformat.delete();
639
+ }
640
+
641
+ if( this.border[["radius"]] && this.border[["radius"]] > 0 ){
642
+ var rc = rcClient;
643
+ var width,height = rc.right - rc.left,rc.bottom - rc.top;
644
+ var bmpMem2 = ..gdip.bitmap(width,height);
645
+ var path = ..gdip.path(1/*_FillModeWinding*/)
646
+ path.addRoundRect(rc,this.border.radius*dpiScaleX);
647
+
648
+ var textureBrush = ..gdip.textureBrush( bmpMem );
649
+ var g = bmpMem2.getGraphics();
650
+ g.pixelOffsetMode = 2/*_PixelOffsetModeHighQuality*/;
651
+ g.smoothingMode = this.smoothingMode;
652
+
653
+ if( clipBkRect ){
654
+ var hdc = g.getDc();
655
+ winform.background.drawRect(hdc,clipBkRect);
656
+ g.releaseDc(hdc);
657
+ }
658
+
659
+ g.fillPath(textureBrush,path);
660
+ textureBrush.delete();
661
+ path.delete();
662
+
663
+ if( this.onDrawEnd ){ this.onDrawEnd(g,rc,bmpMem2); }
664
+ bmpMem.dispose();
665
+ bmpMem = bmpMem2;
666
+ }
667
+ else {
668
+ if( this.onDrawEnd ){ this.onDrawEnd(graphics,rcClient,bmpMem); }
669
+ }
670
+
671
+ graphics.delete();
672
+
673
+ if( this.cacheOrphanWindowRect__ && ..win.getStyleEx(this.hwnd,0x80000/*_WS_EX_LAYERED*/) ){
674
+ ..gdi.layeredBuffer( this.hwnd,
675
+ function( hdc,hMemDc,hMemBitmap,width,height ){
676
+ var graphics = ..gdip.graphics(hMemDc);
677
+ graphics.drawImage(bmpMem);
678
+ graphics.delete();
679
+
680
+ ..gdi.updateLayeredWindow( this.hwnd,hMemDc,::SIZE(width,height) ,..gdi.blendFunction() );
681
+ }
682
+ )
683
+
684
+ bmpMem.dispose();
685
+ this.cacheBitmap = null;
686
+ }
687
+ else {
688
+ graphics = ..gdip.graphics(this)
689
+ this.cacheBitmap = graphics.createCachedBitmap(bmpMem);
690
+ graphics.delete();
691
+ bmpMem.dispose();
692
+ }
693
+
694
+ this.cacheBitmapWidth = width;
695
+ this.cacheBitmapHeight = height;
696
+
697
+ this.$bitmapCacheUpdating = false;
698
+ return this.cacheBitmap;
699
+ };
700
+ drawToDevice = function(hdc,x,y){
701
+ if(x===null)x,y = owner.getPos();
702
+ var graphics = ..gdip.graphics(hdc);
703
+ var cacheBitmap = owner.cacheBitmap : owner.predraw();
704
+ if(cacheBitmap) graphics.drawCachedBitmap(cacheBitmap,x,y);
705
+ graphics.delete();
706
+ };
707
+ drawToGraphics = function(graphics,x,y){
708
+ if(x===null)x,y = owner.getPos();
709
+ var cacheBitmap = owner.cacheBitmap : owner.predraw();
710
+ if(cacheBitmap) graphics.drawCachedBitmap(cacheBitmap,x,y);
711
+ };
712
+ directDrawBackgroundOnly = function(){
713
+ if(this.drawToBackgroundEnabled) return;
714
+ if( !..win.getStyle(this.hwnd,0x40000000/*_WS_CHILD*/) ) return;
715
+
716
+ this.clipBk = false;
717
+ this.drawToBackgroundEnabled = true;
718
+ this.modifyStyleEx(,0x20/*_WS_EX_TRANSPARENT*/)
719
+
720
+ this.wndproc = {
721
+ [ 0xF/*_WM_PAINT*/] = function (hwnd, message, wParam, lParam) {
722
+ var ps = ::PAINTSTRUCT();
723
+ var hdc,ps = ::BeginPaint(hwnd, ps);
724
+ ::EndPaint(hwnd, ps);
725
+ return 1;
726
+ }
727
+ }
728
+
729
+ owner.onDirectDrawBackground = function(hdc,graphics){
730
+ if(graphics) return owner.drawToGraphics(graphics);
731
+
732
+ graphics = ..gdip.graphics(hdc);
733
+ owner.drawToGraphics(graphics);
734
+ graphics.delete();
735
+ }
736
+
737
+ };
738
+ onCreated = function () {
739
+
740
+ this.wndproc = {
741
+ [ 0xF/*_WM_PAINT*/] = function (hwnd, message, wParam, lParam) {
742
+
743
+ ..gdi.paintBuffer( hwnd,
744
+ function( hdc,hMemDc,hMemBitmap,width,height,rcPaint,fErase,paintStruct ){
745
+ if( ! ( (width == this.cacheBitmapWidth) && (height == this.cacheBitmapHeight ) ) ){
746
+ this.updateBitmapCache();
747
+ }
748
+
749
+ if(this.cacheBitmap){
750
+ var graphics = ..gdip.graphics(hMemDc);
751
+ graphics.setClipRect( rcPaint.left,rcPaint.top,rcPaint.right,rcPaint.bottom,0/*_GdipCombineModeReplace*/);
752
+ graphics.drawCachedBitmap(this.cacheBitmap,0,0);
753
+ graphics.delete();
754
+ }
755
+ }
756
+ );
757
+
758
+ return 1;
759
+ }
760
+ [ 0x14/*_WM_ERASEBKGND*/] = function (hwnd, uMsg, wParam, lParam) {
761
+ return 0;
762
+ }
763
+ [ 0xC/*_WM_SETTEXT*/ ] = function (hwnd, uMsg, wParam, lParam) {
764
+ if(lParam){
765
+ var text = ..string.fromUnicode( topointer(lParam),,true );
766
+ if( text != this[["(text)"]] || owner[["(cueBanner)"]] ){
767
+ if(owner[["(editable)"]] ) {
768
+ if( owner[["(cueBanner)"]] ){
769
+ if( text==""){
770
+ owner.editBox.text = "";
771
+ owner.editBox._precommand(,0x200/*_EN_KILLFOCUS*/);
772
+ }
773
+ elseif(owner.cueBannerTextShowing ){
774
+ owner.editBox._precommand(,0x100/*_EN_SETFOCUS*/);
775
+ owner.editBox.text = text;
776
+ }
777
+ else {
778
+ owner.editBox.text = text;
779
+ }
780
+ }
781
+ else{ owner.editBox.text = text; }
782
+ }
783
+ else{
784
+ this[["(text)"]] = text;
785
+ this.redrawTransparent();
786
+ }
787
+ }
788
+ }
789
+ }
790
+ [ 0x84/*_WM_NCHITTEST*/ ] = function (hwnd, uMsg, wParam, lParam) {
791
+ if( !this.notify ) return 0xFFFFFFFF/*_HTTRANSPARENT*/;
792
+ return 1/*_HTCLIENT*/
793
+ }
794
+ [ 0x87/*_WM_GETDLGCODE*/ ] = function (hwnd, uMsg, wParam, lParam) {
795
+ if(owner.mode="trackbar"){
796
+ return 1/*_DLGC_WANTARROWS*/
797
+ }
798
+ return this.notify? 0x2000/*_DLGC_BUTTON*/ : 0x100/*_DLGC_STATIC*/;
799
+ }
800
+ [ 0x20/*_WM_SETCURSOR*/ ] = function (hwnd, uMsg, wParam, lParam) {
801
+ if( this.isHyperlink() ){
802
+ ::SetCursor( __cursor_hand );
803
+ return true;
804
+ }
805
+ }
806
+ [0x233/*_WM_DROPFILES*/] = function(hwnd, uMsg, wParam, lParam){
807
+ if( this[["onDropFiles"]] ) this.onDropFiles( ..win.getDropFile(wParam) );
808
+ }
809
+ }
810
+
811
+ if( this.notify ){
812
+ ..win.ui.tracker(this);
813
+ }
814
+
815
+ if( this[["editable"]] ){
816
+ var cls = this[["editable"]];
817
+ this[["editable"]] = null;
818
+ this.createEditBox( cls = ( cls==="edit"?cls:null ) );
819
+ }
820
+
821
+ if(this.onPlusCreated)this.onPlusCreated();
822
+ this.predraw();//不加会导致WS_POPUP上TextRenderingHintClearTypeGridFit出现残影
823
+ };
824
+ _onDestroy = function(){
825
+ var foreground = this[["(foreground)"]];
826
+ var background = this[["(background)"]];
827
+ this[["(foreground)"]] = null;
828
+ this[["(background)"]] = null;
829
+
830
+ if( this.cacheBitmap ) {
831
+ var cacheBitmap = this.cacheBitmap;
832
+ this.cacheBitmap = null;
833
+
834
+ ..gdip.DeleteCachedBitmap(cacheBitmap);
835
+ }
836
+ if( this[["(progress-clip-path)"]]) this[["(progress-clip-path)"]].delete();
837
+ if( this["(font)"] ) {
838
+ this["(font)"].delete();
839
+ this["(font)"] = null;
840
+ }
841
+
842
+ if(this[["(iconFont)"]]){
843
+ this[["(iconFont)"]].delete();
844
+ this[["(iconFont)"]] = null;
845
+ this[["(iconFontOrig)"]] = null;
846
+ }
847
+
848
+ if(this.animationId) this.clearInterval(this.animationId);
849
+ };
850
+ @_metaProperty
851
+ }
852
+
853
+ namespace plus {
854
+
855
+ _metaProperty = ..win.ui.ctrl.metaProperty(
856
+ _onStateChange = function(state){
857
+ if(!state) state = owner.state;
858
+ var setting = owner[["(skin-setting)"]];
859
+ if( setting ){
860
+ var text = owner[["(unchecked-text)"]];
861
+ var iconText = owner[["(unchecked-iconText)"]];
862
+
863
+ if( owner.state.checked ) {
864
+ setting = setting[["checked"]] : setting;
865
+ text = owner[["(checked-text)"]];
866
+ iconText = owner[["(checked-iconText)"]];
867
+ };
868
+
869
+ if( text && ( text != owner[["(text)"]] ) ){
870
+ owner.text = text;
871
+ }
872
+
873
+ if( iconText ){
874
+ owner[["(iconText)"]] = iconText;
875
+ }
876
+
877
+ var bt = setting[["background"]];
878
+ var ft = setting[["foreground"]];
879
+ var ct = setting[["color"]];
880
+ var ci = setting[["iconColor"]];
881
+ var dt = setting[["border"]];
882
+ var st = setting[["scale"]];
883
+
884
+ var getStyle = function(t,k){
885
+ if( k && t[[k]]!==null ) return t[[k]];
886
+ if( t[["focus"]] !==null ) return t[["focus"]];
887
+ return t[["default"]]
888
+ }
889
+
890
+ var b,f,c,i,d,s;
891
+ if( state.disabled ) {
892
+ b = bt[["disabled"]]
893
+ f = ft[["disabled"]]
894
+ c = ct[["disabled"]]
895
+ i = ci[["disabled"]]
896
+ d = dt[["disabled"]]
897
+ s = st[["disabled"]]
898
+ }
899
+ elseif( state.active ){
900
+ b = getStyle(bt,"active");
901
+ f = getStyle(ft,"active");
902
+ c = getStyle(ct,"active");
903
+ i = getStyle(ci,"active");
904
+ d = getStyle(dt,"active");
905
+ s = getStyle(st,"active");
906
+ }
907
+ elseif( state.hover ){
908
+ b = getStyle(bt,"hover");
909
+ f = getStyle(ft,"hover");
910
+ c = getStyle(ct,"hover");
911
+ i = getStyle(ci,"hover");
912
+ d = getStyle(dt,"hover");
913
+ s = getStyle(st,"hover");
914
+ }
915
+ elseif( state.focus ){
916
+ b = getStyle(bt);
917
+ f = getStyle(ft);
918
+ c = getStyle(ct);
919
+ i = getStyle(ci);
920
+ d = getStyle(dt);
921
+ s = getStyle(st);
922
+ }
923
+ else {
924
+ b = bt[["default"]]
925
+ f = ft[["default"]]
926
+ c = ct[["default"]]
927
+ i = ci[["default"]]
928
+ d = dt[["default"]]
929
+ s = st[["default"]]
930
+ }
931
+
932
+ owner.scale = s;
933
+ if(dt) owner.border = d;
934
+ if(bt) owner.setBackground(b,,false);
935
+ if(ft) owner.setForeground(f,,false);
936
+ owner.iconColor = i : ci[["default"]];
937
+ owner.argbColor = c : ct[["default"]];
938
+
939
+ if( owner.onStateChange ) owner.onStateChange(state);
940
+
941
+ var newStyle = {
942
+ b = b;
943
+ f = f;
944
+ c = c;
945
+ i = i;
946
+ d = d;
947
+ s = s;
948
+ t = owner[["(iconText)"]];
949
+ }
950
+ var preStyle = owner[["(preStyle)"]];
951
+ if( ( preStyle[["b"]] != newStyle.b )
952
+ || ( preStyle[["f"]] != newStyle.f )
953
+ || ( preStyle[["c"]] != newStyle.c )
954
+ || ( preStyle[["i"]] != newStyle.i )
955
+ || ( preStyle[["d"]] != newStyle.d )
956
+ || ( preStyle[["s"]] != newStyle.s )
957
+ || ( preStyle[["t"]] != newStyle.t ) ){
958
+ owner.redrawTransparent();
959
+ };
960
+ owner[["(preStyle)"]] = newStyle;
961
+
962
+ return;
963
+ }
964
+
965
+ if( owner.onStateChange ) owner.onStateChange(state);
966
+ };
967
+ checked = {
968
+ _get = function () {
969
+ return owner.state.checked;
970
+ }
971
+ _set = function (v) {
972
+ if(v!=owner.state.checked){
973
+ if( !owner.notify ) owner.notify = true;
974
+ ..win.ui.tracker(owner);
975
+
976
+ if( v ? owner.radioGroup ){ owner.radioClick() }
977
+ else owner.state.checked = v;
978
+ owner._onStateChange(owner.state);
979
+ }
980
+ }
981
+ };
982
+ skin = function(s,clone){
983
+ if( type(s) != type.table ) error("参数@1类型错误",2);
984
+ if( s.group ) owner.radioGroup = s.group;
985
+ if(clone){
986
+ s = ..table.clone(s);
987
+ }
988
+
989
+ owner[["(checked-text)"]] = null;
990
+ owner[["(checked-iconText)"]] = null;
991
+
992
+ if( s.checked ){
993
+ if( type(s.checked) != type.table) error("checked字段必须是表对象",2);
994
+ if( !s.checked.color ) s.checked.color = {};
995
+
996
+ if( #s.checked.iconText ){
997
+ if(!owner[["(unchecked-iconText)"]] ){
998
+ owner[["(unchecked-iconText)"]] = s.iconText : owner.iconText;
999
+ }
1000
+
1001
+ owner[["(checked-iconText)"]] = s.checked.iconText;
1002
+ }
1003
+ if( #s.checked.text ){
1004
+
1005
+ var current = owner[["(unchecked-text)"]] : owner.text;
1006
+ var ck = s.checked.text;
1007
+ var unck = s.text;
1008
+
1009
+ var a = ..string.split(current," ",2);
1010
+ if( #a == 2 ){
1011
+ if( ck && ! ..string.indexOf(ck," ") ){
1012
+ ck = ck + " " + a[#a];
1013
+ }
1014
+ if( unck && ( !..string.indexOf(unck," ") ) ){
1015
+ unck = unck + " " + a[#a];
1016
+ }
1017
+ }
1018
+
1019
+ if(!owner[["(unchecked-text)"]] ){
1020
+ owner[["(unchecked-text)"]] = unck : owner.text;
1021
+ }
1022
+
1023
+ owner[["(checked-text)"]] = ck;
1024
+ }
1025
+
1026
+ if( s.checked.border ) if(!s.border)s.border={};
1027
+ if( s.checked.background ) if(!s.background)s.background={};
1028
+ if( s.checked.foreground ) if(!s.foreground)s.foreground={};
1029
+ }
1030
+
1031
+ if(!owner[["(checked-text)"]]) {
1032
+ if(owner[["(unchecked-text)"]] ) owner.text=owner[["(unchecked-text)"]];
1033
+ owner[["(unchecked-text)"]] = null;
1034
+ }
1035
+
1036
+ if(!owner[["(checked-iconText)"]]) {
1037
+ if(owner[["(unchecked-iconText)"]] ) owner.text=owner[["(unchecked-iconText)"]];
1038
+ owner[["(unchecked-iconText)"]] = null;
1039
+ }
1040
+
1041
+ if( s.background ) {
1042
+ if( s.background.default === null ) { s.background.default = owner.getBackground() : owner.backgroundColor; }
1043
+ elseif(!owner[["(skin-setting)"]]){
1044
+ var old = owner.setBackground(s.background.default,,false);
1045
+ //if( old ? ( ! old.isCached() ) ) { old.dispose(); }
1046
+ }
1047
+ };
1048
+
1049
+ if( s.foreground ){
1050
+ if( s.foreground.default === null ) { s.foreground.default = owner.getForeground(); }
1051
+ elseif(!owner[["(skin-setting)"]]){
1052
+ var old = owner.setForeground(s.foreground.default,,false);
1053
+ //if( old ? ( ! old.isCached() ) ) { old.dispose(); }
1054
+ }
1055
+ }
1056
+
1057
+ if( s.border ){
1058
+ if( s.border.default === null ) { s.border.default = owner.border; }
1059
+ }
1060
+
1061
+ if( !s.color ) s.color = {};
1062
+ ..table.mix( s.color,{ default = owner.argbColor;disabled = ::GetSysColor(0x11/*_COLOR_GRAYTEXT*/)| ( 0xFF << 24 ) } );
1063
+
1064
+ if( s.checked ){
1065
+ if( s.checked.color.default=== null ) s.checked.color.default = s.color.default;
1066
+ }
1067
+
1068
+ if( owner.iconColor ) {
1069
+ s.iconColor = ..table.mix(s.iconColor,{default=owner.iconColor} );
1070
+ }
1071
+
1072
+ owner[["(skin-setting)"]] = s;
1073
+
1074
+ //开启[事件回调属性
1075
+ if( !owner.notify ) {
1076
+ owner.notify = true;
1077
+ ..win.ui.tracker(owner);
1078
+ }
1079
+
1080
+ owner._onStateChange(owner.state);
1081
+ };
1082
+ background = {
1083
+ _get = function () {
1084
+ return owner.getBackground() || owner.backgroundColor;
1085
+ }
1086
+ _set = function (v) {
1087
+ var old = owner.setBackground(v,,!owner[["initializing"]]);
1088
+ //if( old ? ( ! old.isCached() ) ) { old.dispose(); }
1089
+ }
1090
+ }
1091
+ foreground = {
1092
+ _get = function () {
1093
+ return owner.getForeground() || owner.foregroundColor;
1094
+ }
1095
+ _set = function (v) {
1096
+ var old = owner.setForeground(v,, !owner[["initializing"]]);
1097
+ //if( old ? ( ! old.isCached() ) ) { old.dispose(); }
1098
+ }
1099
+ }
1100
+ repeat = {
1101
+ _get = function () {
1102
+ return owner.getRepeat();
1103
+ }
1104
+ _set = function (v) {
1105
+ owner.setRepeat(v, !owner[["initializing"]]);
1106
+ }
1107
+ }
1108
+ getRepeat = function(){
1109
+ return owner[["(repeat)"]];
1110
+ };
1111
+ setRepeat = function(v,redraw=true){
1112
+ owner[["(repeat)"]] = v;
1113
+ if( redraw ) owner.redrawTransparent();
1114
+ };
1115
+ foreRepeat = {
1116
+ _get = function () {
1117
+ return owner.getForeRepeat();
1118
+ }
1119
+ _set = function (v) {
1120
+ owner.setForeRepeate(v, !owner[["initializing"]]);
1121
+ }
1122
+ }
1123
+ getForeRepeat = function(){
1124
+ return owner[["(foreRepeat)"]];
1125
+ };
1126
+ setForeRepeate = function(v,redraw=true){
1127
+ owner[["(foreRepeat)"]] = v;
1128
+ if( redraw ) owner.redrawTransparent();
1129
+ };
1130
+ getBackground = function(){
1131
+ return owner[["(background)"]];
1132
+ };
1133
+ setBackground = function(bmp,cacheName,redraw=true){
1134
+ var background = owner[["(background)"]];
1135
+ if( bmp === (background || owner.backgroundColor ) ) return;
1136
+
1137
+ if(type(bmp)==type.number){
1138
+ if( background ) background.stopAnimation();
1139
+ owner[["(background)"]] = null;
1140
+
1141
+ if( bmp == owner.backgroundColor ) return;
1142
+ owner.backgroundColor = bmp;
1143
+
1144
+ if( redraw ) owner.redrawTransparent();
1145
+ return;
1146
+ }
1147
+ owner.backgroundColor = null;
1148
+
1149
+ var old = background;
1150
+ if( bmp ){
1151
+ background = ..gdip.loadCachedBitmap(bmp,cacheName);
1152
+ if( background ){
1153
+ if( old ) old.stopAnimation();
1154
+ if( owner.animation === null || (owner.animation) ){
1155
+ background.createAnimation(owner,owner.redrawTransparent);
1156
+ }
1157
+ owner[["(background)"]] = background;
1158
+ }
1159
+ else {
1160
+ return;
1161
+ }
1162
+ }
1163
+ else {
1164
+ owner[["(background)"]] = null;
1165
+ }
1166
+
1167
+ if( redraw ) owner.redrawTransparent();
1168
+ return old;
1169
+ };
1170
+ getForeground = function(){
1171
+ return owner[["(foreground)"]];
1172
+ };
1173
+ setForeground = function(bmp,cacheName,redraw=true){
1174
+ var foreground = owner[["(foreground)"]];
1175
+ if( bmp === (foreground || owner.foregroundColor ) ) return;
1176
+
1177
+ if(type(bmp)==type.number){
1178
+ if( foreground ) foreground.stopAnimation();
1179
+ owner[["(foreground)"]] = null;
1180
+
1181
+ if( bmp == owner.foregroundColor ) return;
1182
+ owner.foregroundColor = bmp;
1183
+
1184
+ if( redraw ) owner.redrawTransparent();
1185
+ return;
1186
+ }
1187
+ owner.foregroundColor = null;
1188
+
1189
+ var old = foreground;
1190
+ if( bmp ){
1191
+ foreground = ..gdip.loadCachedBitmap(bmp,cacheName);
1192
+ if( foreground ){
1193
+ if( old ) old.stopAnimation();
1194
+ if( owner.animation === null || (owner.animation) ){
1195
+ foreground.createAnimation(owner,owner.redrawTransparent);
1196
+ }
1197
+ owner[["(foreground)"]] = foreground;
1198
+ }
1199
+ else {
1200
+ return;
1201
+ }
1202
+ }
1203
+ else {
1204
+ owner[["(foreground)"]] = null;
1205
+ }
1206
+
1207
+ if( redraw ) owner.redrawTransparent();
1208
+ return old;
1209
+ };
1210
+ isHyperlink = function(){
1211
+ return ( owner.notify ? #owner[["(text)"]] ? ( !owner[["(background)"]] ) ? ( !owner[["(foreground)"]] ) );
1212
+ };
1213
+ setFocus = function(text){
1214
+ if(text!==null){owner.text=text}
1215
+ if(owner[["editBox"]]) return owner.editBox.setFocus();
1216
+ ..win.setFocus(owner.hwnd)
1217
+ };
1218
+ createEditBox = function(p){
1219
+ if( ( p !== null ) && (type(p) != type.table) ) error("参数错误",2)
1220
+
1221
+ if(owner[["editBox"]]){
1222
+ if(p===null) return owner.editBox;
1223
+ owner[["(editable)"]] = null;
1224
+ owner.editBox.close();
1225
+ }
1226
+
1227
+ var tp = owner.textPadding : {left=0;right=0;top=0;bottom=0};;
1228
+
1229
+ var margin = {
1230
+ marginLeft=(owner.paddingLeft + (tp[["left"]]:0))*owner.dpiScaleX;
1231
+ marginRight=(owner.paddingRight + (tp[["right"]]:0))*owner.dpiScaleX;
1232
+ marginBottom=(owner.paddingBottom + (tp[["bottom"]]:0))*owner.dpiScaleY;
1233
+ marginTop=(owner.paddingTop + (tp[["top"]]:0))*owner.dpiScaleY;
1234
+ }
1235
+
1236
+ var param = ..table.assign({
1237
+ hidesel = owner.hidesel;
1238
+ align=owner.align : "center";
1239
+ color=owner.color;
1240
+ font=owner.getFont(true);
1241
+ disabled=owner.disabled;
1242
+ multiline=owner.multiline;
1243
+ autovscroll=owner.autovscroll;
1244
+ autohscroll=owner.autohscroll;
1245
+ hscroll=owner.hscroll;
1246
+ vscroll=owner.vscroll;
1247
+ password=owner.password;
1248
+ wrap=owner.wrap;
1249
+ link=owner.link;
1250
+ tabstop=owner.tabstop;
1251
+ num=owner.num;
1252
+ dpiScaleX=owner.dpiScaleX;
1253
+ dpiScaleY=owner.dpiScaleY;
1254
+ },p,margin);
1255
+
1256
+ if(!param.cls){ param.cls="richedit" }
1257
+ if(param.cls=="richedit" ){param.transparent=true;}
1258
+ else {
1259
+ if( (owner.backgroundColor !== null) && (0xFF000000 >>> 24 == 0xFF ) ){
1260
+ param.bgcolor = ..gdi.rgbReverse(owner.backgroundColor);
1261
+ }
1262
+ }
1263
+
1264
+ var text = owner.text;
1265
+ if(#text){owner.text = "";}
1266
+ param.text = text;
1267
+
1268
+ owner.addCtrl({editBox = param});
1269
+ if(owner[["editBox"]].enablePopMenu) owner[["editBox"]].enablePopMenu();
1270
+ owner.translateCommand();
1271
+
1272
+ owner[["(editable)"]] = param.cls="richedit"?1:"edit";
1273
+ if( !owner.notify ) owner.notify = true;
1274
+ ..win.ui.tracker(owner);
1275
+
1276
+ var this = owner;
1277
+ owner[["editBox"]]._onStateChange = function(state){
1278
+ this.state.focus = state.focus;
1279
+ if(this.editState===false) return this._onStateChange();
1280
+
1281
+ var hover = state.hover;
1282
+ state.hover = this.state.hover : state.hover;
1283
+ this._onStateChange(state);
1284
+ state.hover = hover;
1285
+ }
1286
+
1287
+ owner[["editBox"]] = ..win.ui.tracker(owner[["editBox"]]);
1288
+ var rc = owner.getClientRect();
1289
+ rc.left = rc.left + margin.marginLeft;
1290
+ rc.top = rc.top + margin.marginTop;
1291
+ rc.right = rc.right - margin.marginRight;
1292
+ rc.bottom = rc.bottom - margin.marginBottom;
1293
+ owner[["editBox"]].setRect(rc);
1294
+ return owner[["editBox"]];
1295
+ };
1296
+ passwordChar = {
1297
+ _get = function(){ return owner.editBox.passwordChar};
1298
+ _set = function( v ){
1299
+ if(!owner.cueBannerTextShowing) {
1300
+ owner.editBox.passwordChar = v;
1301
+ owner.editBox.redrawTransparent();
1302
+ }
1303
+ owner[["(cueBannerPwdChr)"]] = v;
1304
+ }
1305
+ };
1306
+ setCueBannerText = function(txt,color){
1307
+ var this = owner;
1308
+ var ed = owner.editBox;
1309
+
1310
+ this[["(cueBanner)"]] = txt;
1311
+ if(!txt){
1312
+ this[["(cueBannerColor)"]] = null;
1313
+ return;
1314
+ }
1315
+
1316
+ this[["(cueBannerColor)"]] = color===null?0x999999:color;
1317
+ if(!ed._precommand){
1318
+
1319
+ ed._precommand = function(id,ev){
1320
+ if(ev==0x200/*_EN_KILLFOCUS*/){
1321
+ if(ed.text==""){
1322
+ if(ed.cls==="richedit"){
1323
+ this.argbColor = ..gdi.argbReverse(this[["(cueBannerColor)"]]);
1324
+ this[["(text)"]] = this[["(cueBanner)"]];
1325
+ this.redrawTransparent();
1326
+ }
1327
+ else {
1328
+ ed.color = this[["(cueBannerColor)"]];
1329
+ this[["(cueBannerPwdChr)"]] = ed.passwordChar;
1330
+ ed.passwordChar = null;
1331
+ ed.text = this[["(cueBanner)"]];
1332
+ }
1333
+
1334
+ this.cueBannerTextShowing = true;
1335
+ }
1336
+ }
1337
+ elseif(ev==0x100/*_EN_SETFOCUS*/){
1338
+ if(this.cueBannerTextShowing){
1339
+ this.cueBannerTextShowing = false;
1340
+
1341
+ if(ed.cls==="richedit"){
1342
+ this[["(text)"]] = "";
1343
+ this.redrawTransparent();
1344
+ }
1345
+ else {
1346
+ ed.passwordChar = this[["(cueBannerPwdChr)"]];
1347
+ ed.color = this.color;
1348
+ ed.text = "";
1349
+ }
1350
+ }
1351
+ }
1352
+ }
1353
+ }
1354
+
1355
+ if(((..win.getFocus()!=ed.hwnd) && (ed.text=="") ) || this.cueBannerTextShowing){
1356
+ ed._precommand(,0x200/*_EN_KILLFOCUS*/);
1357
+ };
1358
+ };
1359
+ editable = {
1360
+ _get = function () {
1361
+ return owner[["(editable)"]];
1362
+ }
1363
+ _set = function (v) {
1364
+ if( v == owner[["(editable)"]] ) return;
1365
+
1366
+ if(v){
1367
+
1368
+ if(owner[["editBox"]] && (owner[["editBox"]].cls!=(v==="edit"?v:"richedit")) ){
1369
+ owner[["(editable)"]] = null;
1370
+ owner[["editBox"]].close();
1371
+ owner[["editBox"]] = null;
1372
+ }
1373
+
1374
+ if(!owner[["editBox"]]) {
1375
+ return owner.createEditBox( cls = ( v==="edit"?v:null ) );
1376
+ }
1377
+
1378
+ owner.editBox.text = owner[["(text)"]];
1379
+ owner[["(text)"]] = null;
1380
+ owner.editBox.hide = false;
1381
+ }
1382
+ else {
1383
+ if(owner.editBox){
1384
+ owner.editBox.hide = true;
1385
+ owner[["(text)"]] = owner.editBox.text;
1386
+ owner.editBox.hide = true;
1387
+ }
1388
+ }
1389
+
1390
+ owner[["(editable)"]] = v;
1391
+ owner.redrawTransparent();
1392
+ }
1393
+ };
1394
+ disabled = {
1395
+ _get = function(){
1396
+ return ..win.getStyle(owner[["hwnd"]],0x8000000/*_WS_DISABLED*/ )
1397
+ }
1398
+ _set = function(v){
1399
+ if(owner[["(editable)"]]) owner.editBox.disabled = v;
1400
+ ..win.enable(owner[["hwnd"]],!v?1:0);
1401
+ }
1402
+ };
1403
+ iconText = {
1404
+ _get = function(){
1405
+ return owner[["(iconText)"]];
1406
+ }
1407
+ _set = function(v){
1408
+ if(owner[["(unchecked-iconText)"]]){
1409
+ if(owner.checked) owner[["(checked-iconText)"]] = v;
1410
+ else owner[["(unchecked-iconText)"]] = v;
1411
+ }
1412
+
1413
+ owner[["(iconText)"]] = v;
1414
+ owner.redrawTransparent();
1415
+ }
1416
+ };
1417
+ text = {
1418
+ _get = function(){
1419
+ if(owner[["(editable)"]]) return owner.cueBannerTextShowing ?"" : owner.editBox.text;
1420
+ return ..win.getText( owner[["hwnd"]] );
1421
+ }
1422
+ _set = function(v){
1423
+ if(owner[["(unchecked-text)"]]){
1424
+ if(owner.checked) owner[["(checked-text)"]] = v;
1425
+ else owner[["(unchecked-text)"]] = v;
1426
+ }
1427
+
1428
+ ..win.setText( owner[["hwnd"]],v !== null ? tostring(v) : "" );
1429
+ owner.redrawTransparent();
1430
+ }
1431
+ };
1432
+ color = {
1433
+ _get = function(){
1434
+ return ..gdi.rgbReverse(owner.argbColor : 0)
1435
+ }
1436
+ _set = function(v){
1437
+ owner.argbColor = ..gdi.argbReverse( v!=-1? v : 0 );
1438
+ if(owner[["editBox"]]) owner[["editBox"]].color = v;
1439
+ else owner.redrawTransparent();
1440
+ }
1441
+ };
1442
+ firePosChanged = function(triggeredByUser){
1443
+ var p = owner[["(progress-pos)"]];
1444
+ if( p != owner[["(progress-pos-prev)"]] ){
1445
+ owner[["(progress-pos-prev)"]] = p;
1446
+ if( owner[["onPosChanged"]] ) {
1447
+ owner.onPosChanged( owner[["(progress-min)"]] + p,triggeredByUser);
1448
+ };
1449
+ }
1450
+ };
1451
+ progressPercentage = {
1452
+ _get = function () {
1453
+ if(!owner[["(progress-range)"]]) return 100;
1454
+ return ..math.min( 100, ..math.round( owner[["(progress-pos)"]] / owner[["(progress-range)"]],2) * 100 );
1455
+ }
1456
+ _set = function (v) {
1457
+ if(!owner[["(progress-range)"]]) {
1458
+ if( owner[["(progress-range)"]] === 0 ) return;
1459
+ error("请先设定进度区间",2);
1460
+ }
1461
+ if( v<1) v = 1;if(v>100)v=100;
1462
+ if(owner.state.active) return;
1463
+
1464
+ owner[["(progress-pos)"]] = owner[["(progress-range)"]] * ( v/100 );
1465
+ if( owner[["onPosChanged"]] ) owner.firePosChanged();
1466
+ owner.redrawTransparent();
1467
+ }
1468
+ };
1469
+ progressPos = {
1470
+ _get = function () {
1471
+ if(!owner[["(progress-range)"]]) return 0;
1472
+ return owner[["(progress-min)"]] + owner[["(progress-pos)"]];
1473
+ }
1474
+ _set = function (v) {
1475
+ if( v === null ) error("进度值不能为空",2);
1476
+ if(!owner[["(progress-range)"]]) {
1477
+ if( owner[["(progress-range)"]] === 0 ) return;
1478
+ error("请先设定进度区间",2);
1479
+ }
1480
+ if(owner.state.active) return;
1481
+
1482
+ v = ..math.max(v, owner[["(progress-min)"]])
1483
+ owner[["(progress-pos)"]] = ..math.min( v - owner[["(progress-min)"]],owner[["(progress-range)"]]);
1484
+ if( owner[["onPosChanged"]] ) owner.firePosChanged();
1485
+ owner.redrawTransparent();
1486
+ }
1487
+ };
1488
+ setTrackbarRange = function(min,max){
1489
+ if( type(min) != "number") error("参数@1不是有效的数值",2)
1490
+ if( type(max) != "number") error("参数@2不是有效的数值",2)
1491
+
1492
+ owner.setProgressRange(min,max);
1493
+ owner.mode = "trackbar";
1494
+
1495
+ var rc = owner.getClientRect();
1496
+ var w = rc.right - rc.left;
1497
+ var h = rc.bottom - rc.top;
1498
+
1499
+ if( w > h ){
1500
+ owner.onMouseDrag = function(wParam,lParam){
1501
+ var dpiScaleX,dpiScaleY = (owner.dpiScaleX : 1) ,(owner.dpiScaleY : 1);
1502
+
1503
+ var x = ..win.getMessagePos(lParam);
1504
+ var rc = owner.getClientRect();
1505
+ var min = owner[["(progress-min)"]];
1506
+ var range = owner[["(progress-range)"]];
1507
+ var p = (owner.foreLeft*dpiScaleX) + (owner.foreRight*dpiScaleX)/2;
1508
+ var left = rc.left + owner.paddingLeft*dpiScaleX;
1509
+ var pos = x > owner.paddingLeft*dpiScaleX ? ..math.ceil( range * ( ( x - (owner.paddingLeft*dpiScaleX) - p )
1510
+ / (rc.right - owner.paddingLeft*dpiScaleX - owner.paddingRight*dpiScaleX - p ) ) ) : 0;
1511
+
1512
+ if( pos > range ) pos = range;
1513
+ elseif( pos < 0 ) pos = 0;
1514
+
1515
+ owner[["(progress-pos)"]] = pos;
1516
+ owner.redrawTransparent();
1517
+ if( owner[["onPosChanged"]] ) owner.firePosChanged(true);
1518
+ }
1519
+ }
1520
+ else {
1521
+ owner.onMouseDrag = function(wParam,lParam){
1522
+ var dpiScaleX,dpiScaleY = (owner.dpiScaleX : 1) ,(owner.dpiScaleY : 1);
1523
+
1524
+ var x,y = ..win.getMessagePos(lParam);
1525
+ var rc = owner.getClientRect();
1526
+ var min = owner[["(progress-min)"]];
1527
+ var range = owner[["(progress-range)"]];
1528
+
1529
+ var bottom = rc.bottom - owner.paddingBottom *dpiScaleY - (owner.foreBottom*dpiScaleY);
1530
+ var p = owner.paddingTop*dpiScaleY + (owner.foreTop*dpiScaleY)/2;
1531
+ var pos = y < bottom - p ? ..math.ceil( range * ( ( bottom - y - owner.foreTop/2 ) / (bottom - p ) ) ) : 0;
1532
+ if( pos > range ) pos = range;
1533
+ elseif( pos < 0 ) pos = 0;
1534
+
1535
+ owner[["(progress-pos)"]] = pos;
1536
+ owner.redrawTransparent();
1537
+ if( owner[["onPosChanged"]] ) owner.firePosChanged(true);
1538
+ }
1539
+ }
1540
+
1541
+ owner.onMouseDown = owner.onMouseDrag;
1542
+
1543
+ owner.onKeyDown = function(vk,lParam){
1544
+ var pos = owner[["(progress-pos)"]];
1545
+ if(vk==0x25/*_VK_LEFT*/ || vk==0x28/*_VK_DOWN*/) pos = pos-1;
1546
+ elseif(vk==0x27/*_VK_RIGHT*/ || vk==0x26/*_VK_UP*/ ) pos = pos+1;
1547
+ else return;
1548
+
1549
+ if( pos > owner[["(progress-range)"]] ) pos = owner[["(progress-range)"]];
1550
+ elseif( pos < 0 ) pos = 0;
1551
+
1552
+ owner[["(progress-pos)"]] = pos;
1553
+ owner.redrawTransparent();
1554
+
1555
+ if( owner[["onPosChanged"]] ) owner.firePosChanged(true);
1556
+ }
1557
+
1558
+ //开启[事件回调]属性
1559
+ if( !owner.notify ) {
1560
+ owner.notify = true;
1561
+ ..win.ui.tracker(owner);
1562
+ }
1563
+ };
1564
+ setPieRange = function(min,max){
1565
+ if( type(min) != "number") error("参数@1不是有效的数值",2)
1566
+ if( type(max) != "number") error("参数@2不是有效的数值",2)
1567
+
1568
+ owner[["(progress-clip-path)"]] = ..gdip.path();
1569
+ owner.setProgressRange(min,max);
1570
+ owner.mode = "pie";
1571
+ };
1572
+ getProgressRange = function(){
1573
+ var min = owner[["(progress-min)"]];
1574
+ return min,min + owner[["(progress-range)"]];
1575
+ };
1576
+ setProgressRange = function(min,max){
1577
+ if( type(min) != "number") error("参数@1不是有效的数值",2)
1578
+ if( type(max) != "number") error("参数@2不是有效的数值",2)
1579
+ if( max < min ){
1580
+ var temp = min;min=max;max=temp;
1581
+ }
1582
+ if( min == max ) {
1583
+ if( min == 1 ) min = 0;
1584
+ }
1585
+
1586
+ owner[["(progress-min)"]] = min;
1587
+ owner[["(progress-range)"]] = max -min;
1588
+ owner[["(progress-pos)"]] = 0;
1589
+ owner.mode = "progress";
1590
+ };
1591
+ stepProgress = function(i,redraw){
1592
+ if( i === null ) i = 1;
1593
+ if( redraw === null ) redraw = true;
1594
+ var p,r = owner[["(progress-pos)"]],owner[["(progress-range)"]];
1595
+ if(!r) {
1596
+ if( r === 0 ) return;
1597
+ error("请先设定进度区间",2);
1598
+ }
1599
+ p = p + i;
1600
+ var ret;
1601
+ if( p < 0 ) p = 0;
1602
+ elseif( p > r ) p = r;
1603
+ else ret = true;
1604
+
1605
+ owner[["(progress-pos)"]] = p;
1606
+ if( owner[["onPosChanged"]] ) owner.firePosChanged();
1607
+ if(redraw) owner.redrawTransparent();
1608
+ return ret;
1609
+ };
1610
+ getFont = function(noScale){
1611
+ if(owner["(font)"]){
1612
+ var graphics = ..gdip.graphics(owner);
1613
+ var f = owner["(font)"].getLogFont(graphics);
1614
+ graphics.delete();
1615
+
1616
+ if(!noScale){
1617
+ var yScale = owner[["dpiScaleY"]];
1618
+ if(yScale && yScale>1) f[["h"]] = f[["h"]] / yScale;
1619
+ }
1620
+ else f.noScale = true;
1621
+
1622
+ return f;
1623
+ }
1624
+ };
1625
+ setFont = function(f,own = true ){
1626
+ if( type(f) == type.pointer ){
1627
+ var lf = LOGFONT();
1628
+ if( !::GetObject(f, ..raw.sizeof(lf), lf) ) return;
1629
+ if(own) ::DeleteObject(f);
1630
+ f = lf;
1631
+ }
1632
+ else {
1633
+ if(type(f) != type.table ) error("参数错误@1",2)
1634
+ f = ::LOGFONT(f);
1635
+
1636
+ if(f[["h"]] && !f[["point"]] && !f[["noScale"]]){
1637
+ var yScale = owner[["dpiScaleY"]];
1638
+ if(yScale && yScale>1){
1639
+ f[["h"]] = f[["h"]] * yScale;
1640
+ }
1641
+ }
1642
+ }
1643
+
1644
+ if( f.handle && own) f.deleteIndirect();
1645
+
1646
+ if(f.color) {
1647
+ owner.color = f.color
1648
+ owner.argbColor = ..gdi.rgbReverse( f.color ) | ( 0xFF << 24 )
1649
+ }
1650
+
1651
+ var hdc = ::GetDC(owner.hwnd);
1652
+ if(!hdc) error(..lasterr():"plus 控件已销毁但仍在使用",2);
1653
+
1654
+ owner[["(font)"]] = ..gdip.font( hdc,f );
1655
+ ::ReleaseDC(owner.hwnd,hdc);
1656
+
1657
+ return true;
1658
+ };
1659
+ setFontEx = function(font){
1660
+ if( type.rget(font) == "gdip.font" && font.getLogFont ){
1661
+ owner[["(font)"]] = font;
1662
+ }
1663
+ };
1664
+ getFontEx = function(){
1665
+ return owner[["(font)"]];
1666
+ };
1667
+ iconFont = {
1668
+ _get = function(){
1669
+ return owner.iconStyle[["font"]];
1670
+ }
1671
+ _set = function(v){
1672
+ if(!owner.iconStyle)owner.iconStyle={}
1673
+ owner.iconStyle.font = ::LOGFONT(v);
1674
+ }
1675
+ };
1676
+ startAnimation = function(interval,beginning,change){
1677
+ if(owner.animationId) owner.clearInterval(owner.animationId)
1678
+ var this = owner;
1679
+ this.animationState = (beginning === null ? true : beginning );
1680
+
1681
+ var timestamp = ..time.tick();
1682
+ if( this.onAnimation ) this.animationState = this.onAnimation(this.animationState,beginning,change,0);
1683
+ owner.animationId = owner.setInterval(function(){
1684
+
1685
+ if( this.onAnimation ){
1686
+ this.animationState = this.onAnimation(this.animationState,beginning,change,..time.tick() - timestamp);
1687
+ if( !this.animationState ) return this.stopAnimation()
1688
+ }
1689
+ this.redrawTransparent();
1690
+ },interval)
1691
+ };
1692
+ stopAnimation = function(){
1693
+ if(owner.animationId) owner.clearInterval(owner.animationId);
1694
+ owner.animationId = null;
1695
+ owner.animationState = null;
1696
+ owner.redrawTransparent();
1697
+ };
1698
+ startProgress = function(interval,step=1){
1699
+ owner.hide = false;
1700
+ owner.startAnimation(interval:10);
1701
+ owner.onAnimation = function(state){
1702
+ if(! owner.stepProgress(step,false) ) owner.progressPos = 0
1703
+ return true;
1704
+ }
1705
+ };
1706
+ stopProgress = function(){
1707
+ owner.stopAnimation();
1708
+ owner.hide = true;
1709
+ };
1710
+ measureString = function(text){
1711
+ var result;
1712
+ var rcText;
1713
+ if(!text) text = owner[["(text)"]];
1714
+ var graphics = ..gdip.graphics(owner);
1715
+
1716
+ var rc = owner.getClientRect();
1717
+ var width,height = rc.right - rc.left,rc.bottom - rc.top;
1718
+
1719
+ var dpiScaleX,dpiScaleY = (owner.dpiScaleX : 1) ,(owner.dpiScaleY : 1);
1720
+ var tp = owner.textPadding : {left=0;right=0;top=0;bottom=0};
1721
+ var x,y = (owner.paddingLeft+tp.left)*dpiScaleX,(owner.paddingTop+tp.top)*dpiScaleY;
1722
+ rcText = ::RECTF(x,y,width - x - (owner.paddingRight+tp.right)*dpiScaleX,height - y - (owner.paddingBottom+tp.bottom)*dpiScaleY);
1723
+
1724
+ var strformat = ..gdip.stringformat();
1725
+ strformat.align = __stringAlignment[ owner.align : "center" ]
1726
+ strformat.lineAlign = __stringAlignment[ owner.valign : "center" ]
1727
+ strformat.hotkeyPrefix = owner.hotkeyPrefix;
1728
+ strformat.flags = owner.stringFormatFlags;
1729
+ if(owner.trimming!==null) strformat.trimming = owner.trimming;
1730
+
1731
+ var brush = ..gdip.solidBrush( owner.argbColor );
1732
+ if( owner[["(font)"]] ) {
1733
+ result = graphics.measureString(text,owner[["(font)"]],rcText, strformat,brush);
1734
+ };
1735
+
1736
+ brush.delete();
1737
+ strformat.delete();
1738
+ graphics.delete();
1739
+
1740
+ return result;
1741
+ };
1742
+ fitContent = function(){
1743
+ var rc = owner.measureString();
1744
+ if(rc){
1745
+ var dpiScaleX,dpiScaleY = (owner.dpiScaleX : 1) ,(owner.dpiScaleY : 1);
1746
+ var tp = owner.textPadding: {left=0;right=0;top=0;bottom=0};;
1747
+ owner.setPos(,,rc.width + (owner.paddingLeft+tp.left)*dpiScaleX + (owner.paddingRight+tp.right)*dpiScaleX + 1
1748
+ ,rc.height + (owner.paddingTop+tp.top)*dpiScaleY + (owner.paddingBottom+tp.bottom)*dpiScaleY +1 );
1749
+ return true;
1750
+ }
1751
+ };
1752
+ show = function(flag) {
1753
+ ..win.show(owner[["hwnd"]],flag);
1754
+ owner.state.hover = false;
1755
+ };
1756
+ );
1757
+
1758
+ __cursor_hand = ::LoadCursor(,topointer(32649/*_IDC_HAND*/));
1759
+ __stringAlignment = {
1760
+ top =0/*_GdipStringAlignmentNear*/ ;bottom = 2/*_GdipStringAlignmentFar*/ ;
1761
+ left =0/*_GdipStringAlignmentNear*/ ; right = 2/*_GdipStringAlignmentFar*/;
1762
+ center = 1/*_GdipStringAlignmentCenter*/;
1763
+ }
1764
+ __className = ..win.registerClassEx( "AAPicturePlus2",{
1765
+ lpfnWndProc = ::DefWindowProc; //必须移除static的回调函数,否则读写text会内存错误
1766
+ style = 0x408B/*_CS_HREDRAW | _CS_VREDRAW | _CS_PARENTDC | _CS_GLOBALCLASS | _CS_DBLCLKS*/
1767
+ },"static" );
1768
+ }
1769
+
1770
+ /***intellisense(!ui_ctrl_plus)
1771
+ notify = 是否启用事件回调\n设为false将不能响应鼠标按键等交互事件
1772
+ setFontEx(.(字体) = 设置gdip.font字体\n字体由控件接管并负责释放
1773
+ getFontEx() = 返回gdip.font字体\n注意字体生命期由控件管理\n!gdipfont.
1774
+ textRenderingHint = @.textRenderingHint = _GdipTextRenderingHint__;
1775
+ iconTextRenderingHint = @.iconTextRenderingHint = _GdipTextRenderingHint__;
1776
+ smoothingMode = 绘图画布默认抗锯齿模式,\n默认值为_GdipSmoothingModeAntiAlias
1777
+ interpolationMode = 图像缩放时的默认插值模式,\n默认值为_GdipInterpolationModeHighQualityBicubic
1778
+ trimming = @.trimming = _GdipStringTrimming__;
1779
+ stringFormatFlags = @.stringFormatFlags = _GdipStringFormatFlagsMeasureTrailingSpaces__;
1780
+ hotkeyPrefix = @.hotkeyPrefix = _GdipHotkeyPrefixShow__;
1781
+ isHyperlink() = 控件不设置背景、前景\n但设置了显示文本,并启用事件回调则该值返回真
1782
+ checked = 该属性可用于切换选取状态
1783
+ radioGroup = 用于指定单选按钮分组名称\n也可以在skin函数的group属性中指定该值
1784
+ radioValue() = 单选模式下选中控件的文本
1785
+ radioClick() = 单选模式下选中控件
1786
+ progressPercentage = 进度条当前百分比。\n如果用户正在控件上按下鼠标(例如拖动滑块),设置此属性会被忽略
1787
+ progressPos = 获取或设置进度条当前值。\n如果用户正在控件上按下鼠标(例如拖动滑块),设置此属性会被忽略
1788
+ focusOnClick = 设为false时禁止在单击控件时设置此控件为焦点控件
1789
+ setTrackbarRange( = 设置滑块范围,并切换到滑块显示模式,\n用户拖动滑块时触发 onPosChanged 事件,可用于获取当前位置
1790
+ setTrackbarRange(.(最小值,最大值) = 如果使用图像制作滑块控件,\n请将背景、前景图像设为九宫格拉伸的expand模式,\n使用前景切图在右侧或顶部预留滑块位置不拉伸,\n如果未指定前景图像,aardio将自动使用当前字体颜色绘制滑块按钮,\n同样通过前景切图预留滑块大小,边框圆角属性将作用于滑块按钮,\n前景色将用于绘制滑块左侧或底部,背景色将用于绘制滑块右侧或顶部,\n前景边距将同时限制背景前景色的大小,但不会作用于背景图像
1791
+ setPieRange( = 设置扇形进度条范围,
1792
+ setPieRange(.(最小值,最大值) = 切换为扇形进度条模式\n在此模式下前景图或前景色被裁剪为扇形,\n如果有背景色则被裁剪为圆角,背景图不裁剪,\n如果指定背景图、前景图,应设为center显示模式以使圆心对齐
1793
+ setProgressRange( = 设置进度条范围\n调用了此函数将会强制使用expand显示模式\n水平进度条文本右对齐,垂直进度条文本上对齐时将限制文本输出于前景内部\n否则不改变文本输出位置\n可选用textPadding属性指定文本内边距
1794
+ getProgressRange() = 返回进度条最小值,最大值
1795
+ setProgressRange(.(最小值,最大值) = 设置进度条范围\n调用了此函数将会强制使用expand显示模式
1796
+ stepProgress( = 增加进度条的值
1797
+ stepProgress(.(步进单位,是否刷新) = 步进单位可以省略,默认为1\n参数@2可省略,默认为true\n进度条到尾部或头部则返回false,否则返回true
1798
+ passwordChar = 指定隐藏密码的占位字符,\n例如指定为"*"隐藏密码,指定为null正常显示文本\n如果调用了setCueBannerText,passwordChar不会影响提示文本
1799
+ setCueBannerText( = 并且指定嵌入编辑框为空时的显示的默认提示文本\n嵌入richedit时调用此函数会阻止拖放文件消息,\n嵌入编辑框改为edit即可
1800
+ setCueBannerText(.("提示文本") = 打开编辑模式,\n并且指定文本为空时的显示的默认提示文本\n注意指定提示文本以后,\n不应再直接访问editBox的text,passwordChar属性,\n请改为读写plus控件的text,passwordChar属性
1801
+ bkTop = 背景图expand模式下九宫格切图的顶部切线
1802
+ bkRight = 背景图expand模式下九宫格切图的右侧切线\n如果控件显示为水平滑块控件,此属性用于预留滑块按钮大小
1803
+ bkBottom = 背景图expand模式下九宫格切图的底部切线
1804
+ bkLeft = 背景图expand模式下九宫格切图的左侧切线
1805
+ foreTop = 前景图expand模式下九宫格切图的顶部切线\n如果控件显示为垂直滑块控件,此属性用于预留滑块按钮大小
1806
+ foreRight = 前景图expand模式下九宫格切图的右侧切线
1807
+ foreBottom = 前景图expand模式下九宫格切图的底部切线
1808
+ foreLeft = 前景图expand模式下九宫格切图的左侧切线
1809
+ argbColor = ARGB格式字体颜色,支持半透明\n注意plus控件、GDI+都是ARGB格式数值表示颜色分量,即:0xAARRGGBB\n与RGB的分量顺序是反过来的
1810
+ color = RGB格式字体颜色,\n如果启用了编辑模式,可同步修改编辑框字体颜色,\n注意使用argbColor修改颜色不能同步修改编辑框颜色
1811
+ setRepeat(.("模式",是否重绘) = 修改背景显示模式\n支持模式expand,stretch,center,tile,scale
1812
+ setForeRepeat(.("模式",是否重绘) = 修改前景显示模式\n支持模式expand,stretch,center,tile,scale
1813
+ repeat = 背景显示模式\n支持模式expand,stretch,center,tile,scale\expand模式foreTop,foreRight,foreBottom,foreLeft为九宫格切图坐标\n其他模式为显示边距
1814
+ foreRepeat = 前景显示模式\n支持模式expand,stretch,center,tile,scale\n如果为null则foreLeft,foreRight为偏移坐标\expand模式foreTop,foreRight,foreBottom,foreLeft为九宫格切图坐标\n其他模式为显示边距
1815
+ background = 背景图像或背景色,\n获取值是返回 gdip.bitmap 对象或 ARGB 格式颜色数值,\n赋值时可指定图像路径、资源路径、gdip.bitmap 对象、颜色值,\n颜色值使用0xAARRGGBB格式的数值。\n赋值时指定一个路径或资源路径控件将自动缓存使用频繁的图像\n内存图像建议使用setBackground函数指定缓存名\n!gdipbitmap.
1816
+ foreground = 前景图像或前景色,\n获取值是返回 gdip.bitmap 对象或 ARGB 格式颜色数值,\n赋值时可指定图像路径、资源路径、gdip.bitmap 对象、颜色值,\n颜色值使用0xAARRGGBB格式的数值。\n赋值时指定一个路径或资源路径控件将自动缓存使用频繁的图像\n内存图像建议使用setForeground函数指定缓存名\n如果边框圆角设为-1,前景图或前景色会裁剪为圆形后输出,\n!gdipbitmap.
1817
+ getBackground() = 返回背景图像,返回值为gdip.bitmap对象\n此函数不会返回背景色,仅返回背景图像,\n如果不存在背景图像返回null\n!gdipbitmap.
1818
+ getForeground() = 返回前景图像,返回值为gdip.bitmap对象\n此函数不会返回前景色,仅返回前景图像,\n如果不存在前景图像返回null\n!gdipbitmap.
1819
+ backgroundColor = 当前状态背景颜色,\n修改背景色建议设置 background 属性为数值即可,\n直接修改 backgroundColor 不会释放之前的背景图像且不会重绘
1820
+ foregroundColor = 当前状态前景颜色,\n修改背景色建议设置 foreground 属性为数值即可,\n直接修改 foregroundColor 不会释放之前的前景图像且不会重绘
1821
+ linearGradient = 数值,指定背景色线性渐变的角度,\n渐变从背色颜色开始,到前景颜色结束\n只有背景、前景都指定了当前状态下的颜色值才有效,\n270,90为垂直方向的渐变\n180,360为水平方向的渐变\n\n此属性指定为负数启用圆形径向渐变,此时background为中心颜色,foreground为环绕颜色
1822
+ setBackground( = 修改背景图像
1823
+ setBackground(.(背景图像,缓存名,刷新重绘) = 参数@1也可以使用0xAARRGGBB格式的数值指定一个颜色值,\n缓存名为可选参数,默认以路径为缓存名,设为false禁止缓存,\n如果参数@1是图像数据则可以使用参数@2指定缓存名\n刷新重绘参数@3默认为true\n该函数设置成功返回原来的背景图(gdip.bitmap 对象)
1824
+ setBackground(.(背景图像,false) = 加载背景图像并禁用缓存\n该函数设置成功返回原来的背景图(gdip.bitmap 对象)
1825
+ setForeground( = 修改前景图像
1826
+ setForeground(.(前景图像,缓存名,刷新重绘) = 修改前景图像\n参数@1也可以使用0xAARRGGBB格式的数值指定一个颜色值,\n缓存名为可选参数,默认以路径为缓存名,设为false禁止缓存,\n如果参数@1是图像数据则可以使用参数@2指定缓存名\n刷新重绘参数@3默认为true\n该函数设置成功返回原来的前景图图(gdip.bitmap 对象)
1827
+ setForeground(.(背景图像,false) = 加载前景图像并禁用缓存\n该函数设置成功返回原来的背景图(gdip.bitmap 对象)
1828
+ setForeground(.(颜色数值) = 修改foregroundColor的值\n注意plus控件、GDI+都是ARGB格式数值表示颜色分量,即:0xAARRGGBB\n与RGB的分量顺序是反过来的
1829
+ setForeground() = !gdipbitmap.
1830
+ setBackground() = !gdipbitmap.
1831
+ createEditBox(创建控件参数) = @.createEditBox( \n vscroll = true; \n hscroll = true; \n multiline = true;\n);__/*创建并启用透明背景的richedit文本编辑框,可用参数与窗体设计器相同,\n创建文本框时应用plus控件预设的字体、颜色、水平对齐方式,\n并且使用plus控件预设的内边距限制文本编辑框显示范围。\n\n可使用editBox属性访问此文本编辑框,\n可通过设置plus控件的editable属性显示或隐藏文本编辑框*/
1832
+ border = @.border = {color=0x805F9EA0;radius=11;width=2}__/*使用一个表对象指定当前边框样式,\n支持的字段请参考窗体设计器中设置边框样式生成的代码,\n表的其他可用字段与 skin 函数指定的 border 样式相同,请参考范例。\n修改此属性不会触发重绘。\n可使用 predraw 或 redraw,redrawTransparent 等函数重绘*/
1833
+ editable = 是否允许编辑文本\n如果此值设为true则切换到可编辑模式,\n也可以指定要嵌入的编辑框的类名,例如"edit",\n不指定类名则创建透明背景的richedit文本编辑框\n\n在首次切换到可编辑模式下创建文本框,\n并同步应用plus控件预设的字体、颜色、水平对齐方式,\n并使用plus控件预设的内边距限制文本编辑框显示范围。\n\n可使用editBox属性访问此文本编辑框,\n如果文本编辑框已创建,再次修改editable仅显示或隐藏文本编辑框
1834
+ editBox = 文本编辑框,此文本框也是一个win.ui.tracker对象,\n!richedit.
1835
+ editState = 允许共享内部编辑框的外观状态,不指定默认值为true,\n如果希望利用文本边距、前景边距等模拟分离按钮\n可将此值显示指定为false
1836
+ state.hover = 鼠标是否在控件上方\n注意直接修改该状态控件不负责重绘
1837
+ state.focus = 是否已得到焦点\n注意直接修改该状态控件不负责重绘
1838
+ state.active = 鼠标或键盘键按下状态\n注意直接修改该状态控件不负责重绘
1839
+ state.disabled = 已禁用\n注意直接修改该状态控件不负责重绘
1840
+ state.checked = 是否选中状态\n注意直接修改该状态控件不负责重绘
1841
+ state.dragging = 是否按下鼠标且正在拖动
1842
+ oncommand = @.oncommand = function( id,event ){
1843
+ __/*控件被单击*/
1844
+ }
1845
+ onnotify = @.onnotify = function(id,code,ptr){
1846
+ __/*处理通知消息,\nplus 控件默认不发送通知消息,\n但如果绑定 tooltip 控件这些会触发这个事件*/
1847
+ }
1848
+ onPosChanged = @.onPosChanged = function( pos,triggeredByUser ){
1849
+ __/*进度值变更,pos 参数为当前进度数值,\n如果此事件由用户拖动滑块或按键盘方向键触发,则 triggeredByUser 参数为 true*/
1850
+ }
1851
+ onDrawContent = @.onDrawContent = function(graphics,rc,txtColor,rcContent,foreColor){
1852
+ __/*自绘前景,\ngraphics 为gdip.graphics对象(GDI+画板),\ntxtColor 为文本色,ARGB 格式数值,\nforeColor 为当前状态前景色,ARGB 格式数值,\nrc为客户区RECT结构体,rcContent为去掉内边距后的RECT结构体,\n返回真取消绘制文本、前景等默认操作*/
1853
+ }
1854
+ onDrawForegroundEnd = @.onDrawForegroundEnd = function(graphics,rc,rcContent){
1855
+ __/*背景前景绘制后,绘制文本前触发此事件,\ngraphics 为gdip.graphics对象(GDI+画板),\nrc为客户区RECT结构体,rcContent为去掉内边距后的RECT结构体*/
1856
+ }
1857
+ onDrawEnd = @.onDrawEnd = function(graphics,rc,bmpMem){
1858
+ __/*所有绘制操作结束触发此事件,\ngraphics 为gdip.graphics对象(GDI+画板),\nrc 为客户区RECT结构体,\nbmpMem 为当前正在绘制的 gdip.bitmap 对象,\n要注意此函数退出后不可继续使用 bmpMem,\n可使用 bmpMem.clone,bmpMem.copy,bmpMem.getThumbnail 等复制图像*/
1859
+ }
1860
+ onDrawBackground = @.onDrawBackground = function(graphics,rc,bkColor,foreColor){
1861
+ __/*自绘背景,\ngraphics 为gdip.graphics对象(GDI+画板),\nrc为绘图区块,\nbkColor为当前状态背景色,AGGB格式,可能为null\nforeColor为当前状态前景色,ARGB格式,不会出现null值\n返回真取消默认的背景绘图*/
1862
+ }
1863
+ onDrawString = @.onDrawString = function(graphics,text,font,rectf,strformat,brush){
1864
+ __/*自定义输出文本,请不要删除传入参数中的GDI+对象*/
1865
+ graphics.drawString(text,font,rectf,strformat,brush);
1866
+ }
1867
+ onMouseEnter = @.onMouseEnter = function(wParam,lParam){
1868
+ __/*鼠标移入*/
1869
+ }
1870
+ onMouseLeave = @.onMouseLeave = function(wParam,lParam){
1871
+ __/*鼠标移出*/
1872
+ }
1873
+ onMouseHover = @.onMouseHover = function(wParam,lParam){
1874
+ __/*鼠标悬停*/
1875
+ }
1876
+ onMouseMove = @.onMouseMove = function(wParam,lParam){
1877
+ if( wParam & 0x1/*_MK_LBUTTON*/ ){
1878
+ var x,y = win.getMessagePos(lParam);
1879
+ __/*鼠标移动*/
1880
+ }
1881
+ }
1882
+ onMouseDrag = @.onMouseDrag = function(wParam,lParam){
1883
+ __/*鼠标左键按下拖动,\n自动捕获鼠标,允许拖出控件范围*/
1884
+ }
1885
+ onMouseDown = @.onMouseDown = function(wParam,lParam){
1886
+ var x,y = win.getMessagePos(lParam);
1887
+ __/*鼠标左键按下,\norphanWindow模式下如果阻止控件得到焦点,此事件不会被触发*/
1888
+ }
1889
+ onMouseUp = @.onMouseUp = function(wParam,lParam){
1890
+ var x,y = win.getMessagePos(lParam);
1891
+ __/*鼠标左键弹起*/
1892
+ }
1893
+ onRightMouseDown = @.onRightMouseDown = function(wParam,lParam){
1894
+ var x,y = win.getMessagePos(lParam);
1895
+ __/*鼠标右键按下*/
1896
+ }
1897
+ onRightMouseUp = @.onRightMouseUp = function(wParam,lParam){
1898
+ var x,y = win.getMessagePos(lParam);
1899
+ __/*鼠标右键弹起*/
1900
+ }
1901
+ onMouseWheel = @.onMouseWheel = function(flags,delta,lParam){
1902
+ delta = delta/(120/3);
1903
+ __/*滚动鼠标滚轮,flags 参数以 _MK_CONTROL 等常量表示按键*/
1904
+ }
1905
+ onMouseHWheel = @.onMouseHWheel = function(flags,delta,lParam){
1906
+ delta = -delta/(120/3);
1907
+ __/*水平滚动鼠标滚轮,flags 参数以 _MK_CONTROL 等常量表示按键*/
1908
+ }
1909
+ onMouseClick = @.onMouseClick = function(wParam,lParam){
1910
+ var x,y = win.getMessagePos(lParam);
1911
+ __/*鼠标左键在控件上单击,\norphanWindow模式下如果阻止控件得到焦点,此事件不会被触发*/
1912
+ }
1913
+ onMouseDrag = @.onMouseDrag = function(wParam,lParam){
1914
+ var x,y = win.getMessagePos(lParam);
1915
+ __/*鼠标左键按下拖动,\n自动捕获鼠标,允许拖出控件范围*/
1916
+ }
1917
+ onMouseDoubleClick = @.onMouseDoubleClick = function(wParam,lParam){
1918
+ var x,y = win.getMessagePos(lParam);
1919
+ __/*鼠标左键双击*/
1920
+ }
1921
+ onKeyDown = @.onKeyDown = function(keyCode,lParam,repeat){
1922
+ __/*按下键盘键*/
1923
+ }
1924
+ onKeyUp = @.onKeyUp = function(keyCode,lParam){
1925
+ __/*放开键盘键*/
1926
+ }
1927
+ onSysKeyDown = @.onSysKeyDown = function(keyCode,lParam,repeat){
1928
+ if(keyCode!=0x12/*_VK_ALT*/){
1929
+ __/*按下键盘ALT组合键*/
1930
+ }
1931
+ }
1932
+ onSysKeyUp = @.onSysKeyUp = function(keyCode,lParam){
1933
+ __/*放开键盘键*/
1934
+ }
1935
+ onFocusGot(hLostFocus) = @.onFocusGot = function(hLostFocus){
1936
+ ..win.setFocus(hLostFocus);__/*得到焦点触发此事件,hLostFocus为失去焦点的窗口句柄,\n如果在这里将hLostFocus恢复焦点,则阻止当前窗口得到焦点*/
1937
+ }
1938
+ onFocusLost(hFocus) = @.onFocusLost = function(hFocus){
1939
+ __/*失去焦点触发此事件,hFocus为得到焦点的窗口句柄*/
1940
+ }
1941
+ onStateChange = @.onStateChange = function(state){
1942
+ __/*状态已改变*/
1943
+ }
1944
+ onSelectChange = @.onSelectChange = function(prev){
1945
+ __/*单选模式下已选中当前控件,prev 为同一分组之前选中的控件\n同一分组之前没有选中控件时 prev 为 null*/
1946
+ }
1947
+ onMouseActivate = @.onMouseActivate = function(hwndTop,hitTest,message){\n return _MA___/*鼠标点击并且将要激活窗口时触发此事件\nhwndTop表示被激活的顶层窗口,\nhitTest参数请参考WM_NCHITTEST消息\nmessage为鼠标消息ID\n返回值的作用请参数MSDN*/\n}
1948
+ onDropFiles = @.onDropFiles = function(files){\n __/*接受系统拖放,files是拖放的所有文件路径名数组,嵌入编辑框必须是edit控件,richedit*/\n}
1949
+ skin(样式表,是否禁止共享样式) = @.skin({\n foreground = { \n hover = "/res/images/button-hover.png";\n focus = "/res/images/button-focus.png";\n active = "/res/images/button-active.png";\n disabled = 0xFFCCCCCC; \n };\n color = {\n hover = 0xF00000FF;__/*用格式为0xAARRGGBB的16进制数值,指定鼠标放到控件上的字体颜色,\nAA为透明度,RR为红色分量,GG为绿色分量,BB为蓝色分量*/ \n };\n border = { \n hover = {left=5;color=0xFFFF0000;padding=15;} \n }; \n})
1950
+ cls = 设计时类名
1951
+ className = 运行时类名
1952
+ hwnd = 控件句柄
1953
+ id = 控件ID
1954
+ text = 控件文本
1955
+ animation = 是否允许自动播放 GIF 动画,\n指定为 false 禁止自动播放
1956
+ disabledText = @.disabledText = {'\uF254';'\uF251';'\uF252';'\uF253';'\uF250';text=''}__/*指定文本时,禁用此控件,并显示指定文本,\n指定一个数组时,控件将创建动画逐帧显示数组里的文字图标,\n如果控件配置了iconStyle属性,则使用iconText属性显示数组内的文字图标,\n指定为null时,启用此控件,并恢复控件禁用之前的text、iconText属性*/
1957
+ getForm() = 如果是窗体返回自身\n如果是控件则返回_parentForm\n!winform.
1958
+ isForm = 标准库中所有控件以及窗体对象都拥有此同名函数\n窗体返回true,控件返回false
1959
+ getForm() = 标准库中所有控件都拥有此同名函数用于返回控件所在窗口,\n窗口对象实现了同名函数用于返回窗口自身
1960
+ _parentForm = 控件所在的父窗口(指win.form对象)\n!winform.
1961
+ getParent() = 返回父窗口\n
1962
+ setParent(__/*控件对象*/) = 改变父窗口
1963
+ autoResize = 是否允许跟随父窗体自动缩放
1964
+ addCtrl = @.addCtrl(\n button={ cls="button";text="button";left=33;top=32;right=126;bottom=81;autoResize=false } \n)
1965
+ isDialogMessage = @.isDialogMessage = function(hParent,msg){__/*在控件范围内替代父窗口的 isDialogMessage,\n可用于在控件范围内屏蔽对话框快捷键*/}
1966
+ translateAccelerator = @.translateAccelerator = function(msg){ \n __/*返回是否快捷键*/\n}
1967
+ adjust = @.adjust = function( cx,cy,wParam ) { \n __/*窗口缩放时会自动触发此函数。\ncx 参数为窗口宽度,cy 参数为窗口高度,\nwParam 参数请参考 _WM_SIZE 消息参数说明,一般不用管。\n\n所有 win.form 创建的窗体和控件都支持此事件,\n重复赋值只会追加而不会覆盖此事件。\n一般不建议添加一个 wndproc 仅仅是为了处理 _WM_SIZE 消息,\n定义 adjust 事件是更好的选择。\n\n可主动调用此事件,省略参数时 cx,cy 参数默认设为窗口大小*/ \n};
1968
+ preadjust = @.preadjust = function( cx,cy,wParam ) { \n __/*窗口缩放后重绘前、触发 adjust 事件之前触发此事件。\n所有 win.form 创建的窗体和控件都支持此事件,\n与 adjust 事件不同,对 preadjust 重复赋值则覆盖而不是追加事件。 \n\ncx 参数为窗口宽度,cy 参数为窗口高度,\nwParam 为 _WM_SIZE 消息参数。*/ \n};
1969
+ resize(.(宽度,高度) = 如果指定了参数则调整窗口大小,\n无论是否实际调整窗口大小,发送 _WM_SIZE 消息给窗口
1970
+ _embedObject = 嵌入 COM 控件的容器对象\n!embedObject.
1971
+ createEmbed( = 创建嵌入控件,返回控件容器对象,\n容器对象的 _object 成员是创建的 COM 对象,\n容器对象可通过添加成员函数响应 COM 对象事件,\n容器对象的主要作用是充当访问 COM 对象的中间代理对象。\n通常使用 util.metaProperty 为容器对象添加属性元表,\n属性元表可拦截属性、函数调用并调用 _object 对象,\n\ncreateEmbedEx 返回的容器已添加默认代理以直接访问 COM 对象
1972
+ createEmbed(.(clsId,embedObj) = 创建嵌入控件,返回控件容器对象,\n容器对象的 _object 成员是创建的 COM 对象,\n容器对象可通过添加成员函数响应 COM 对象事件,\n容器对象的主要作用是充当访问 COM 对象的中间代理对象,\n@clsId 指定控件 CLSID,\n可选在参数@2中指定 COM 对象绑定的容器对象\n\n此函数失败会抛出异常
1973
+ createEmbed(.(comObject,embedObj) = 嵌入 COM 控件,返回控件容器对象,\n容器对象的 _object 成员是传入的 COM 对象,\n容器对象可通过添加成员函数响应 COM 对象事件,\n容器对象的主要作用是充当访问 COM 对象的中间代理对象,\n@comObject 指定已创建成功的 COM 对象,\n可选在参数@2中指定 COM 对象绑定的容器对象\n\n此函数失败会抛出异常
1974
+ createEmbedEx( = 创建嵌入控件,返回控件容器对象,\n容器对象的 _object 成员是创建的 COM 对象,\n容器对象可通过添加成员函数响应 COM 对象事件,\n容器对象的主要作用是充当访问 COM 对象的中间代理对象。\n此函数返回的容器已添加元表并创建代理以直接访问 COM 对象
1975
+ createEmbedEx(.(clsId,embedObj) = 创建嵌入控件,返回控件容器对象,\n此函数返回的容器已添加元表并创建代理以直接访问 COM 对象,\n@clsId 指定控件 CLSID,如果控件不是自内存加载,\n则可省略 @clsId 并由 firstCoClassId函数自动获,\n可选在参数@2中指定 COM 对象绑定的容器对象\n\n此函数失败会抛出异常
1976
+ tryCreateEmbed( = 创建嵌入控件,返回控件容器对象,\n容器对象的 _object 成员是创建的 COM 对象,\n容器对象可通过添加成员函数响应 COM 对象事件,\n容器对象的主要作用是充当访问 COM 对象的中间代理对象。\n通常使用 util.metaProperty 为容器对象添加属性元表,\n属性元表可拦截属性、函数调用并调用 _object 对象,\n\ncreateEmbedEx 返回的容器已添加默认代理以直接访问 COM 对象
1977
+ tryCreateEmbed(.(clsId,embedObj) = 创建嵌入控件,返回控件容器对象,\n容器对象的 _object 成员是创建的 COM 对象,\n容器对象可通过添加成员函数响应 COM 对象事件,\n容器对象的主要作用是充当访问 COM 对象的中间代理对象,\n@clsId 指定控件 CLSID,\n可选在参数@2中指定 COM 对象绑定的容器对象\n\n成功返回容器对象,失败返回false,错误信息
1978
+ createEmbedEx() = !embedObject.
1979
+ createEmbed() = !embedObject.
1980
+ tryCreateEmbed() = !embedObject.
1981
+ hide = 控件是否隐藏
1982
+ disabled = 是否禁用
1983
+ left = 左侧坐标
1984
+ right = 右侧坐标
1985
+ top = 顶部坐标
1986
+ bottom = 底部坐标
1987
+ width = 宽度
1988
+ height = 高度
1989
+ setRedraw(false) = 禁止重绘
1990
+ setRedraw(true) = 恢复重绘
1991
+ redraw() = 刷新重绘\n不重绘背景,速度较快
1992
+ redrawTransparent() = 刷新重绘\n如果控件添加了透明样式 _WS_EX_TRANSPARENT 则重绘窗口背景
1993
+ predraw() = 刷新位图缓存并准备下次重绘
1994
+ show(true__) = 显示控件
1995
+ getRect() = 控件区块位置(::RECT结构体)
1996
+ getRect(true) = 控件屏幕区块位置(::RECT结构体)
1997
+ setRect(rc) = 设置控件区块位置(::RECT结构体)
1998
+ setRect(rc,true) = 设置控件屏幕区块位置(::RECT结构体)
1999
+ getClientRect() = 控件客户区块位置(::RECT结构体)\n!rect.
2000
+ getFont() = 返回控件 LOGFONT 字体,\n返回对象的 h 值会按控件的 DPI 缩放设置自动还原为缩放前大小。\n!logfont.
2001
+ getFont(true) = 返回控件 LOGFONT 字体,\n返回对象的 h 值为字体实际大小,不会按控件 DPI 设置还原。\n返回字体会设置 noScale 属性为 true,\n使用控件的 setFont 函数或赋值 font 属性时,\nnoScale 属性为 true 的字体同样不会进行自动 DPI 缩放\n!logfont.
2002
+ setFont(__/*指定字体*/) = 指定 LOGFONT 字体对象,或逻辑字体句柄\n如果不指定 point 值并指定 h 值,字体会按控件的 DPI 缩放设置自动缩放。
2003
+ setFont(混入字体属性) = @.setFont(h=-12;name="Tahoma");
2004
+ font = 控件字体(LOGFONT 结构体),\n注意获取该属性总是返回新的 LOGFONT 对象,\n修改返回字体并不会更新控件字体,\n除非重新赋值。\n\n建议尽量优先使用 getFont 或 setFont 函数,\n以增强代码可读性\n\n字体会根据控件设置自动处理 DPI 缩放,不需要事先缩放字体大小
2005
+ iconFont = 图标字体,LOGFONT 结构体。\n获取值时,如果存在 iconStyle.font,直接返回 iconStyle.font。\n对 iconFont 赋值总是会创建新的 LOGFONT 结构并存为 iconStyle.font \n使用 iconFont 赋值时可以传入仅指定 LOGFONT 部分成员的普通表。\n\n修改返回字体的成员不会更新 plus 控件实际使用的 GDI+ 字体。\n只有重新对 iconFont 赋值 ,才会在下次重绘时刷新 GDI+ 字体\n\n图标字体会根据控件设置自动处理 DPI 缩放,不需要事先缩放字体大小\n!logfont.
2006
+ theme = 外观主题,例如\nwinform.button.theme = "Explorer"\nwinform.button.theme = false
2007
+ modifyStyle(.(remove,add,swpFlags) = 修改窗口样式,所有参数都是可选参数,\n@remove 用数值指定要移除的样式,可使用 _WS_ 前缀的常量\n@add 用数值指定要添加的样式,可使用 _WS_ 前缀的常量\n@swpFlags 可选用数值指定调整窗口选项,可使用 _SWP_ 前缀的常量\n如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos\n细节请参考 win.modifyStyle 函数源码
2008
+ modifyStyleEx(.(remove,add,swpFlags) = 修改窗口扩展样式,所有参数都是可选参数,\n@remove 用数值指定要移除的样式,可使用 _WS_EX_ 前缀的常量\n@add 用数值指定要添加的样式,可使用 _WS_EX_ 前缀的常量\n@swpFlags 可选用数值指定调整窗口选项,可使用 _SWP_ 前缀的常量\n如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos\n细节请参考 win.modifyStyle 函数源码
2009
+ capture = 是否捕获全局鼠标消息
2010
+ close() = 关闭控件窗口
2011
+ invalidate(__/*可选使用::RECT()对象指定客户区*/) = 使窗口绘图区无效
2012
+ invalidate(__/*可选使用::RECT()对象指定客户区*/,0) = 使窗口绘图区无效\n不刷新背景
2013
+ update() = 重绘invalidate函数指定的区块
2014
+ setFocus() = 设置焦点\n可选在参数中指定新的控件文本\n如果启用了编辑模式,此函数将光标移动文本尾部
2015
+ tabNext(.(移动焦点,是否反向) = 获取下一个支持tab控制焦点的控件\n参数@1为true会自动移动焦点到该控件\n参数@2为true则获取上一个控件,否则获取下一个控件
2016
+ tabNext() = !static.
2017
+ setPos(.(x坐标,y坐标,宽,高,插入位置,参数) = 调整窗口位置或排序,所有参数可选\n同时指定x,y坐标则移动位置\n同时指定宽高则改变大小\n指定插入位置(句柄或_HWND前缀常量)则调整Z序
2018
+ getPos() = 返回相对父窗口客户区的坐标,宽,高,\n参数为true返回屏幕坐标,宽,高,\nx,y,cx,cy=win.getPos(hwnd)
2019
+ messageOnly() = 将窗口转换为message-only window\n该窗口不可见,仅用于消息分发
2020
+ setTimeout(.(函数或代码,延时,其他附加参数) = 推迟执行指定的函数或代码\n此函数异步执行参数中指定的函数,不会阻塞当前代码继续执行,\n延时参数是可选参数,以毫秒为单位,默认为0毫秒\n可选用附加参数指定调用延时函数的实参\n返回值为定时器ID
2021
+ setInterval(回调函数,延时毫秒数,->->->) = @.setInterval( \n function(){\n __/*参数@1指定执行函数,参数@2指定执行间隔,\n可选指定一个或多个回调参数,不指定回调参数则默认为:\n hwnd,message,timerId,tick,\n\n如果在定时器中执行了win.delay等继续消息循环的代码,\n在定时器退出前不会再触发同一定时器(重入)。\n\n定时器回调函数返回数值可修改时间间隔,\n返回false取消该定时器*/\n },1000 \n)
2022
+ changeInterval(.(定时器ID,间隔时间,回调函数) = 重新设置间隔时间或回调函数
2023
+ clearTimeout(.(定时器ID) = 删除定时器。\n参数如果为 null 则忽略不执行,\n否则定时器ID必须是 setInterval 函数或setTimeout函 数的返回值。\n\n请注意如果定时器被删除,ID 可能被重新分配给其他定时器。\n在定时器回调函数中返回 0,false 以删除定时器是更稳妥的方式
2024
+ clearInterval(.(定时器ID) = 删除定时器。\n参数如果为 null 则忽略不执行,\n否则定时器ID必须是 setInterval 函数或setTimeout函数的返回值。\n\n请注意如果定时器被删除,ID 可能被重新分配给其他定时器。\n在定时器回调函数中返回 0,false 以删除定时器是更稳妥的方式
2025
+ orphanWindow( = 如果当前是子窗口,\n移除窗口的WS_CHILD样式,使窗口孤立出来悬浮于原位置,\n悬浮窗口如影随形的跟随父窗口移动或改变大小,控件原来的固定边距等参数仍然有效
2026
+ orphanWindow(.(transparent,hwndBuddy) = 创建悬浮窗口,\n悬浮窗口仍然显示在原来的位置,\n可选参数 @transparent 如果为 true 则转换为分层透明窗口,\n可选利用 @buddy 参数将只有句柄的窗口托管在悬浮窗口之上实现相同的效果,\n伙伴窗口总是会保持在悬浮窗口前面,并保持相同的大小、位置
2027
+ animationState = 此属性表示动画当前状态值,值null或false表示动画已停止
2028
+ onAnimation(state,beginning,change,timestamp) = @.onAnimation = function(state,beginning,change,timestamp){
2029
+ __/*动画触发此函数,state 参数是上次返回的值\n可以使用plus控件的animationState属性获取这里的返回值,\nbeginning,change为调用startAnimation指定的参数,\ntimestamp 参数为动画已执行的时间,\n返回值为false或null停止动画*/
2030
+ return state
2031
+ }
2032
+ startAnimation( = 启动动画定时器,\n可以在控件的onAnimation动画事件函数中修改外观,\n或者在控件的onDrawContent等绘图事件函数中直接输出动画
2033
+ startAnimation(.(interval,beginning,change) = 启动动画定时器,\ninterval参数指定动画时间间隔,以毫秒为单位,\n@beginning 指定初始状态值,@change 指定动画完成后的状态值,\n可选参数 @beginning,@change 会传给 onAnimation 回调函数作为调用参数
2034
+ stopAnimation() = 停止动画定时器
2035
+ startProgress() = 启动进度条动画,并显示进度条,\n可选用参数@1指定间隔毫秒,可选用参数@2指定每次推进的进度\n必须调用setProgressRange函数事先指定进度范围\n必须指定前景色、或前景图
2036
+ stopProgress() = 停止进度条动画,并隐藏进度条
2037
+ animationId = 动画定时器ID\n不可改动,可用于判断动画是否启动
2038
+ saveScale() = 根据控件当前位置、缩放比例,更新控件的设计时位置参数。\n以避免下次窗口缩放自适应调整控件当前位置更改被清除,\n控件所有调整位置的属性或成员函数已自动调用此函数。
2039
+ reloadScale() = 按设计时位置参数、重新调整控件位置以适应窗口当前缩放比例。\n父窗口缩放时会自动执行此操作。\n默认在启动窗口消息循环时会自适应调整所有控件。\n所以在启动消息循环前添加控件不必调用此函数。
2040
+ threadCallable() = 开启此控件的跨线程调用功能
2041
+ x = 前景x坐标,仅用于point绘图模式,\n1、0到1之间的小数表示百分比,负数表示右侧反向坐标
2042
+ y = 前景y坐标,仅用于point绘图模式,\n1、0到1之间的小数表示百分比,负数表示底部反向坐标
2043
+ measureString() = 返回文本输出后的区出大小,返回值为RECTF对象\n可选在参数中指定要输出的文本,不指定则取当前显示文本,\n!rectf.
2044
+ fitContent () = 控件调整大小调整到适应当前显示字数
2045
+ textPadding = @.textPadding = {
2046
+ left = 0;
2047
+ top = 0;
2048
+ bottom = 0;
2049
+ right = 0;__/*指定文本输出内边距,在前景内边距上叠加,可以使用负数,仅对文本有效*/
2050
+ }
2051
+ fontCharMap = 指定自定义字符映射表,\n键为字符,值为用于显示字符的gdip.bitmap对象\n如果指定了此属性则忽略字体大小,使用textPadding以及内边距限制输出大小
2052
+ sendMessage(.(msg,wParam,lParam) = 发送窗口消息\n此函数用法请参考 ::User32.SendMessage
2053
+ postMessage(.(msg,wParam,lParam) = 投递窗口消息到消息队列中\n此函数用法请参考 ::User32.PostMessage
2054
+ publish("__/*发布消息名*/",) = 在窗口所在界面线程发布消息,\n运行界面线程所有所有调用subscribe函数订阅此消息的函数,\n可添加任意个触发参数
2055
+ disablePaint() = 禁用默认绘图操作
2056
+ drawToDevice(.(hdc,x,y) = 输出控件图像到hdc参数指定的GDI绘图设备,\nx,y为输出坐标,如果绘图到父窗口,x,y参数可省略
2057
+ drawToGraphics(.(graphics,x,y) = 输出控件图像到hdc参数指定的GDI+画板,\nx,y为输出坐标,如果绘图到父窗口,x,y参数可省略
2058
+ directDrawBackgroundOnly() = 允许直接在背景窗口上画图\n并禁止控件在自己的窗口绘图
2059
+ paddingLeft = 前景左边距\n可限制前景以及文本,文本还可以使用textPadding属性进一步增减边距\n\n滑块模式下,此属性将同时作用于背景色,作不会作用于背景图像
2060
+ paddingTop = 前景上边距\n可限制前景以及文本,文本还可以使用textPadding属性进一步增减边距\n\n滑块模式下,此属性将同时作用于背景色,作不会作用于背景图像
2061
+ paddingRight = 前景右边距\n可限制前景以及文本,文本还可以使用textPadding属性进一步增减边距\n\n滑块模式下,此属性将同时作用于背景色,作不会作用于背景图像
2062
+ paddingBottom = 前景下边距\n可限制前景以及文本,文本还可以使用textPadding属性进一步增减边距\n\n滑块模式下,此属性将同时作用于背景色,作不会作用于背景图像
2063
+ reduce(array,callback,debounce) = @.reduce(\n {__/*@array 参数指定要循环处理每个元素的数组或表。\n@array 指定为 false 则取消之前创建的防抖单例循环。\n\n@callback 指定回调函数。\n回调函数中可返回本次间隔延时,以毫秒为单位。\n返回 0、null、false、以及不能转换为非 0 数的值中断处理。\n回调参数为下一个元素的值和索引,处理到数组尾部时回调参数为 null,\n如果此时仍然返回可转换为非 0 数的值,将转到第一个数组元素重复循环\n@callback 指定回调函数。\n\n@debounce 指定是否创建为防抖单例循环,默认为 true。*/},\n function(value,index){\n if(value){\n return 50\n }\n } \n)
2064
+ imageAttributes = 可选使用一个gdip.imageAttributes对象对前景图像进行自动调色\n如果需要在不同状态下调色,可以在onStateChange事件里动态设置调色矩阵\n!gdip_imgattr.
2065
+ iconText = 指定文本图标\n使用iconStyle指定字体与样式
2066
+ iconColor = 字体图标颜色,支持半透明,\n支持使用skin函数动态切换此样式,\n此颜色存储为ARGB格式,即:0xAARRGGBB,注意在创建控件的初始化参数中必须传入RGB格式颜色值,\n\n请注意在未指定指属性时,图标字体默认与字体使用相同的颜色
2067
+ iconStyle = @.iconStyle = {
2068
+ font=LOGFONT(h=-38;name='FontAwesome');
2069
+ align="left";valign="top";padding={bottom=50}__/*用于指定 iconText 显示样式\n\n如 font 指向控件已使用的 iconStyle.font,则控件不会刷新字体。\nfont 如不是 ::LOGFONT 字体,控件将自动转换为 ::LOGFONT 字体。\n对 iconFont 属性赋值以修改 iconStyle.font 则总是会刷新字体*/
2070
+ }
2071
+ align = 文本水平对齐,\n左对齐:"left"\n居中:"center"\n右对齐:"right"\n\n图标文本请使用 iconStyle 属性的 align 字段指定水平对齐
2072
+ valign = 文本垂直对齐,\n顶对齐:"top"\n居中:"center"\n底对齐:"bottom"\n\n图标文本对齐请使用 iconStyle 属性的 align 字段指定垂直对齐
2073
+ enableDpiScaling(false) = 禁用DPI自动缩放,\n不指定参数启用DPI自动缩放,默认已启用
2074
+ dpiScaleX = 窗口当前使用的DPI横坐标缩放系数,\n该值由界面系统自动维护,任何情况下都不应手动修改,\n\n这是一个以小数表示百分比的数,例如 1.25 表示 125%,\n窗口未使用缩放或未完成缩放初始化时,值可能为 null,\n如果要获取屏幕缩放设置应改用 gdi.getDpiScale 函数
2075
+ dpiScaleY = 窗口当前使用的DPI纵坐标缩放系数,\n该值由界面系统自动维护,任何情况下都不应手动修改,\n\n这是一个以小数表示百分比的数,例如 1.25 表示 125%,\n窗口未使用缩放或未完成缩放初始化时,值可能为 null,\n如果要获取屏幕缩放设置应改用 gdi.getDpiScale 函数
2076
+ dpiScale(.(x,y) = 将 @x,@y 表示的像素值乘以窗体当前 DPI 缩放倍数并返回,\n省略 @y 参数时仅返回 @x 转换后的值
2077
+ getRoot() = 获取顶层父窗口,这个函数会查找 orphanWindow 的父窗口
2078
+ translateCommand() = 允许转发转发子窗口的命令(_WM_COMMAND)与通知(_WM_NOTIFY)消息,\n避免子窗口 oncommand,onnotify 等回调失效。\n同时会处理子窗口的 _WM_CTLCOLORSTATIC 等消息,\n以避免部分外观属性失。\n\n启用嵌入编辑框功能时已自动调用此函数
2079
+ valid = 窗口是否有效,\n窗口未关闭返回 true ,\n窗口已关闭或正在关闭返回 false
2080
+ end intellisense***/
2081
+
2082
+ /**intellisense()
2083
+ ?win.ui.ctrl.plus = !ui_ctrl_plus.
2084
+ win.ui.ctrl.plus() = 高级图像控件\n!ui_ctrl_plus.
2085
+ win.ui.ctrl.plus = 高级图像控件
2086
+ end intellisense**/