home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / AutoPC / apcsdk10.exe / data1.cab / Emulation_Include_Files / ascmnctl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-13  |  43.1 KB  |  1,239 lines

  1. //--------------------------------------------------------------------------------------------
  2. //
  3. //    Copyright (c) Microsoft Corporation, 1997 All Rights Reserved
  4. //
  5. //    Description:
  6. //        AutoPC Simple Common Controls
  7. //
  8. //--------------------------------------------------------------------------------------------
  9.  
  10. #ifndef _ASCMNCTL_H
  11. #define _ASCMNCTL_H
  12.  
  13. //--------------------------------------------------------------------------------------------
  14. //
  15. // Includes
  16. //
  17. //--------------------------------------------------------------------------------------------
  18. #include <olectl.h>
  19. #include <asfc.h>
  20. #include <speech.h>
  21. #include <asstyles.h>
  22.  
  23. //--------------------------------------------------------------------------------------------
  24. //
  25. // Declarations
  26. //
  27. //--------------------------------------------------------------------------------------------
  28. DECLARE_INTERFACE(IASLabel);
  29. DECLARE_INTERFACE(IASButton);
  30. DECLARE_INTERFACE(IASCheckBox);
  31. DECLARE_INTERFACE(IASRadioButton);
  32.  
  33. DECLARE_INTERFACE(IASListBox);
  34. DECLARE_INTERFACE(IASMenu);
  35. DECLARE_INTERFACE(IASImageMenu);
  36. DECLARE_INTERFACE(IASShellMenu);
  37.  
  38. DECLARE_INTERFACE(IASTextInputRange);
  39. DECLARE_INTERFACE(IASCharSpinner);
  40. DECLARE_INTERFACE(IASEditBox);
  41. DECLARE_INTERFACE(IASSIP);
  42.  
  43. DECLARE_INTERFACE(IASProgressBar);
  44. DECLARE_INTERFACE(IASSlider);
  45. DECLARE_INTERFACE(IASVVI);
  46. DECLARE_INTERFACE(IASMemorySlider);
  47.  
  48. DECLARE_INTERFACE(IASCanvas);
  49.  
  50. DECLARE_INTERFACE(IASTimer);
  51. DECLARE_INTERFACE(IASPlayList);
  52. DECLARE_INTERFACE(IASClock);
  53.  
  54. DECLARE_INTERFACE(IASCrossHairs);
  55. DECLARE_INTERFACE(IASTabber);
  56.  
  57. DECLARE_INTERFACE(IASHTMLControlNotifySink);
  58.  
  59. // externally defined 
  60. DECLARE_INTERFACE(IAPCSpeech);
  61.  
  62. //--------------------------------------------------------------------------------------------
  63. //
  64. // Guids
  65. //
  66. //--------------------------------------------------------------------------------------------
  67. //
  68. // A Label Object
  69. //
  70. // {37C23052-997F-11d0-88DC-0000F80401D1}
  71. DEFINE_GUID(CLSID_ASLABEL, 
  72. 0x37c23052, 0x997f, 0x11d0, 0x88, 0xdc, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  73. // All labels support IFMLabel
  74. // {FF3A65A0-9661-11d0-88DB-0000F80401D1}
  75. DEFINE_GUID(IID_ASLABEL, 
  76. 0xff3a65a0, 0x9661, 0x11d0, 0x88, 0xdb, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  77. //
  78. // A Button Object
  79. //
  80. // {B9D02950-A6FB-11d0-88E2-0000F80401D1}
  81. DEFINE_GUID(CLSID_ASBUTTON, 
  82. 0xb9d02950, 0xa6fb, 0x11d0, 0x88, 0xe2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  83. // {B9D02951-A6FB-11d0-88E2-0000F80401D1}
  84. DEFINE_GUID(IID_ASBUTTON, 
  85. 0xb9d02951, 0xa6fb, 0x11d0, 0x88, 0xe2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  86. //
  87. // A CheckBox Object
  88. //
  89. // {5E158370-B6A6-11d0-88E5-0000F80401D1}
  90. DEFINE_GUID(CLSID_ASCHECKBOX, 
  91. 0x5e158370, 0xb6a6, 0x11d0, 0x88, 0xe5, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  92. // {5E158371-B6A6-11d0-88E5-0000F80401D1}
  93. DEFINE_GUID(IID_ASCHECKBOX, 
  94. 0x5e158371, 0xb6a6, 0x11d0, 0x88, 0xe5, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  95. //
  96. // A RadioButton object
  97. //
  98. // {CB2F7CD0-B78E-11d0-88E5-0000F80401D1}
  99. DEFINE_GUID(CLSID_ASRADIOBUTTON, 
  100. 0xcb2f7cd0, 0xb78e, 0x11d0, 0x88, 0xe5, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  101. // {CB2F7CD1-B78E-11d0-88E5-0000F80401D1}
  102. DEFINE_GUID(IID_ASRADIOBUTTON, 
  103. 0xcb2f7cd1, 0xb78e, 0x11d0, 0x88, 0xe5, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  104. //
  105. // A List Box Object
  106. //
  107. // {97490430-AF7F-11d0-88E4-0000F80401D1}
  108. DEFINE_GUID(CLSID_ASLISTBOX, 
  109. 0x97490430, 0xaf7f, 0x11d0, 0x88, 0xe4, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  110. // {97490431-AF7F-11d0-88E4-0000F80401D1}
  111. DEFINE_GUID(IID_ASLISTBOX, 
  112. 0x97490431, 0xaf7f, 0x11d0, 0x88, 0xe4, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  113. //
  114. // A Menu Object
  115. //
  116. // {6BF5F460-B1E5-11d0-88E5-0000F80401D1}
  117. DEFINE_GUID(CLSID_ASMENU, 
  118. 0x6bf5f460, 0xb1e5, 0x11d0, 0x88, 0xe5, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  119. // {6BF5F461-B1E5-11d0-88E5-0000F80401D1}
  120. DEFINE_GUID(IID_ASMENU, 
  121. 0x6bf5f461, 0xb1e5, 0x11d0, 0x88, 0xe5, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  122. //
  123. // A Clock Object
  124. //
  125. // {A388E000-A651-11d0-88E2-0000F80401D1}
  126. DEFINE_GUID(CLSID_ASCLOCK, 
  127. 0xa388e000, 0xa651, 0x11d0, 0x88, 0xe2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  128. // {A388E001-A651-11d0-88E2-0000F80401D1}
  129. DEFINE_GUID(IID_ASCLOCK, 
  130. 0xa388e001, 0xa651, 0x11d0, 0x88, 0xe2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  131. //
  132. // Image List Box
  133. //
  134. // {AD3F85E0-C5B1-11d0-88E9-0000F80401D1}
  135. DEFINE_GUID(CLSID_ASIMAGEMENU,
  136. 0xad3f85e0, 0xc5b1, 0x11d0, 0x88, 0xe9, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  137. // {AD3F85E1-C5B1-11d0-88E9-0000F80401D1}
  138. DEFINE_GUID(IID_ASIMAGEMENU, 
  139. 0xad3f85e1, 0xc5b1, 0x11d0, 0x88, 0xe9, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  140. //
  141. // Shell List Box
  142. //
  143. // {A342E850-C80B-11d0-88EA-0000F80401D1}
  144. DEFINE_GUID(CLSID_ASSHELLMENU, 
  145. 0xa342e850, 0xc80b, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  146. // {A342E851-C80B-11d0-88EA-0000F80401D1}
  147. DEFINE_GUID(IID_ASSHELLMENU, 
  148. 0xa342e851, 0xc80b, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  149. //
  150. // Progress Bar
  151. //
  152. // {EA73ACB0-CBE7-11d0-88EA-0000F80401D1}
  153. DEFINE_GUID(CLSID_ASPROGRESSBAR, 
  154. 0xea73acb0, 0xcbe7, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  155. // {EA73ACB1-CBE7-11d0-88EA-0000F80401D1}
  156. DEFINE_GUID(IID_ASPROGRESSBAR, 
  157. 0xea73acb1, 0xcbe7, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  158. //
  159. // Classic "Thumbed" Slider 
  160. //
  161. // {8C5E5FE0-DB7F-11d0-88EA-0000F80401D1}
  162. DEFINE_GUID(CLSID_ASSLIDER, 
  163. 0x8c5e5fe0, 0xdb7f, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  164. // {8C5E5FE1-DB7F-11d0-88EA-0000F80401D1}
  165. DEFINE_GUID(IID_ASSLIDER, 
  166. 0x8c5e5fe1, 0xdb7f, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  167.  
  168. //
  169. // VVI Control
  170. //
  171. // {25F459C7-4675-11d1-9D21-00C04FC2981B}
  172. DEFINE_GUID(CLSID_ASVVI, 
  173. 0x25f459c7, 0x4675, 0x11d1, 0x9d, 0x21, 0x0, 0xc0, 0x4f, 0xc2, 0x98, 0x1b);
  174. // {25F459C8-4675-11d1-9D21-00C04FC2981B}
  175. DEFINE_GUID(IID_ASVVI, 
  176. 0x25f459c8, 0x4675, 0x11d1, 0x9d, 0x21, 0x0, 0xc0, 0x4f, 0xc2, 0x98, 0x1b);
  177.  
  178. //
  179. // Memory Slider 
  180. //
  181. // {B2BF02E0-2F8C-11d1-B08B-0000F8053A78}
  182. DEFINE_GUID(CLSID_ASMEMORYSLIDER, 
  183. 0xb2bf02e0, 0x2f8c, 0x11d1, 0xb0, 0x8b, 0x0, 0x0, 0xf8, 0x5, 0x3a, 0x78);
  184. // {57E7BE50-2F90-11d1-B08B-0000F8053A78}
  185. DEFINE_GUID(IID_ASMEMORYSLIDER, 
  186. 0x57e7be50, 0x2f90, 0x11d1, 0xb0, 0x8b, 0x0, 0x0, 0xf8, 0x5, 0x3a, 0x78);
  187. //
  188. // Play List
  189. //
  190. // {E50A8EF0-CCB4-11d0-88EA-0000F80401D1}
  191. DEFINE_GUID(CLSID_ASPLAYLIST, 
  192. 0xe50a8ef0, 0xccb4, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  193. // {E50A8EF1-CCB4-11d0-88EA-0000F80401D1}
  194. DEFINE_GUID(IID_ASPLAYLIST, 
  195. 0xe50a8ef1, 0xccb4, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  196. //
  197. // Text Input
  198. //
  199. // {35F77790-E456-11d0-88F2-0000F80401D1}
  200. DEFINE_GUID(IID_ASTEXTINPUTRANGE, 
  201. 0x35f77790, 0xe456, 0x11d0, 0x88, 0xf2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  202. //
  203. // Text Spinner
  204. //
  205. // {52FFA520-D150-11d0-88EA-0000F80401D1}
  206. DEFINE_GUID(CLSID_ASCHARSPINNER, 
  207. 0x52ffa520, 0xd150, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  208. // {52FFA521-D150-11d0-88EA-0000F80401D1}
  209. DEFINE_GUID(IID_ASCHARSPINNER, 
  210. 0x52ffa521, 0xd150, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  211. //
  212. // Edit Box
  213. //
  214. // {59C9ACF0-D16C-11d0-88EA-0000F80401D1}
  215. DEFINE_GUID(CLSID_ASEDITBOX, 
  216. 0x59c9acf0, 0xd16c, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  217. // {59C9ACF2-D16C-11d0-88EA-0000F80401D1}
  218. DEFINE_GUID(IID_ASEDITBOX, 
  219. 0x59c9acf2, 0xd16c, 0x11d0, 0x88, 0xea, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  220. //
  221. // A Soft Input Pad
  222. //
  223. // {7EEB06E0-E38B-11d0-88F2-0000F80401D1}
  224. DEFINE_GUID(CLSID_ASSIP, 
  225. 0x7eeb06e0, 0xe38b, 0x11d0, 0x88, 0xf2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  226. // {7EEB06E1-E38B-11d0-88F2-0000F80401D1}
  227. DEFINE_GUID(IID_ASSIP, 
  228. 0x7eeb06e1, 0xe38b, 0x11d0, 0x88, 0xf2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  229.  
  230. //
  231. // Canvas
  232. //
  233. // {BD2BB900-DD38-11d0-88EE-0000F80401D1}
  234. DEFINE_GUID(CLSID_ASCANVAS, 
  235. 0xbd2bb900, 0xdd38, 0x11d0, 0x88, 0xee, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  236. // {BD2BB902-DD38-11d0-88EE-0000F80401D1}
  237. DEFINE_GUID(IID_ASCANVAS, 
  238. 0xbd2bb902, 0xdd38, 0x11d0, 0x88, 0xee, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  239. //
  240. // Timers
  241. //
  242. // {80F7B570-E130-11d0-88F2-0000F80401D1}
  243. DEFINE_GUID(CLSID_ASTIMER, 
  244. 0x80f7b570, 0xe130, 0x11d0, 0x88, 0xf2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  245. // {80F7B571-E130-11d0-88F2-0000F80401D1}
  246. DEFINE_GUID(IID_ASTIMER, 
  247. 0x80f7b571, 0xe130, 0x11d0, 0x88, 0xf2, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  248. //
  249. // Balance Control
  250. //
  251. // {660CDF60-FEDC-11d0-88F6-0000F80401D1}
  252. DEFINE_GUID(CLSID_ASCROSSHAIRS, 
  253. 0x660cdf60, 0xfedc, 0x11d0, 0x88, 0xf6, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  254. // {660CDF61-FEDC-11d0-88F6-0000F80401D1}
  255. DEFINE_GUID(IID_ASCROSSHAIRS, 
  256. 0x660cdf61, 0xfedc, 0x11d0, 0x88, 0xf6, 0x0, 0x0, 0xf8, 0x4, 0x1, 0xd1);
  257. //
  258. // Tabber Control
  259. //
  260. // {2D7A1BD1-457F-11d1-A1B8-00AA00B5E9D2}
  261. DEFINE_GUID(CLSID_ASTABBER, 
  262. 0x2d7a1bd1, 0x457f, 0x11d1, 0xa1, 0xb8, 0x0, 0xaa, 0x0, 0xb5, 0xe9, 0xd2);
  263.  
  264. // {2D7A1BD2-457F-11d1-A1B8-00AA00B5E9D2}
  265. DEFINE_GUID(IID_ASTABBER, 
  266. 0x2d7a1bd2, 0x457f, 0x11d1, 0xa1, 0xb8, 0x0, 0xaa, 0x0, 0xb5, 0xe9, 0xd2);
  267.  
  268. //
  269. // PowerListBox Control
  270. //
  271. //
  272. // {25B16883-4CF6-11d1-AE65-EBD86EB3BE67}
  273. DEFINE_GUID(CLSID_ASPOWERLISTBOX, 
  274. 0x25b16883, 0x4cf6, 0x11d1, 0xae, 0x65, 0xeb, 0xd8, 0x6e, 0xb3, 0xbe, 0x67);
  275.  
  276. // {25B16884-4CF6-11d1-AE65-EBD86EB3BE67}
  277. DEFINE_GUID(IID_ASPOWERLISTBOX, 
  278. 0x25b16884, 0x4cf6, 0x11d1, 0xae, 0x65, 0xeb, 0xd8, 0x6e, 0xb3, 0xbe, 0x67);
  279.  
  280. // {25B16885-4CF6-11d1-AE65-EBD86EB3BE67}
  281. DEFINE_GUID(IID_ASPOWERLISTBOXITEM, 
  282. 0x25b16885, 0x4cf6, 0x11d1, 0xae, 0x65, 0xeb, 0xd8, 0x6e, 0xb3, 0xbe, 0x67);
  283.  
  284. // {25B16886-4CF6-11d1-AE65-EBD86EB3BE67}
  285. DEFINE_GUID(IID_ASPOWERLISTBOXCOMMAND, 
  286. 0x25b16886, 0x4cf6, 0x11d1, 0xae, 0x65, 0xeb, 0xd8, 0x6e, 0xb3, 0xbe, 0x67);
  287.  
  288. // {25B16887-4CF6-11d1-AE65-EBD86EB3BE67}
  289. DEFINE_GUID(IID_ASPOWERLISTBOXEDIT, 
  290. 0x25b16887, 0x4cf6, 0x11d1, 0xae, 0x65, 0xeb, 0xd8, 0x6e, 0xb3, 0xbe, 0x67);
  291.  
  292. // {25B16888-4CF6-11d1-AE65-EBD86EB3BE67}
  293. DEFINE_GUID(IID_ASPOWERLISTBOXSTRINGSPINNER, 
  294. 0x25b16888, 0x4cf6, 0x11d1, 0xae, 0x65, 0xeb, 0xd8, 0x6e, 0xb3, 0xbe, 0x67);
  295.  
  296. // {25B16889-4CF6-11d1-AE65-EBD86EB3BE67}
  297. DEFINE_GUID(IID_ASPOWERLISTBOXINTSPINNER, 
  298. 0x25b16889, 0x4cf6, 0x11d1, 0xae, 0x65, 0xeb, 0xd8, 0x6e, 0xb3, 0xbe, 0x67);
  299.  
  300. // {716B788F-65DE-11d1-9D25-00C04FC2981B}
  301. DEFINE_GUID(IID_ASPROVIDEPOWERLISTBOXCOMMANDDATA, 
  302. 0x716b788f, 0x65de, 0x11d1, 0x9d, 0x25, 0x0, 0xc0, 0x4f, 0xc2, 0x98, 0x1b);
  303.  
  304. // {7C0ED1E7-0BC9-11d2-823D-0000F87A587C}
  305. DEFINE_GUID(IID_ASPOWERLISTSPEAKITEMSINK, 
  306. 0x7c0ed1e7, 0xbc9, 0x11d2, 0x82, 0x3d, 0x0, 0x0, 0xf8, 0x7a, 0x58, 0x7c);
  307.  
  308. // {AC3CF4AD-548F-11d1-9D22-00C04FC2981B}
  309. DEFINE_GUID(CLSID_ASPOWERMENU, 
  310. 0xac3cf4ad, 0x548f, 0x11d1, 0x9d, 0x22, 0x0, 0xc0, 0x4f, 0xc2, 0x98, 0x1b);
  311.  
  312. // {515816E0-9EE8-11d1-ABBD-00A0C911002B}
  313. DEFINE_GUID(CLSID_ASHTMLCONTROL, 
  314. 0x515816e0, 0x9ee8, 0x11d1, 0xab, 0xbd, 0x0, 0xa0, 0xc9, 0x11, 0x0, 0x2b);
  315.  
  316. // {515816E1-9EE8-11d1-ABBD-00A0C911002B}
  317. DEFINE_GUID(IID_ASHTMLCONTROL, 
  318. 0x515816e1, 0x9ee8, 0x11d1, 0xab, 0xbd, 0x0, 0xa0, 0xc9, 0x11, 0x0, 0x2b);
  319.  
  320. // {515816E2-9EE8-11d1-ABBD-00A0C911002B}
  321. DEFINE_GUID(IID_ASHTMLCONTROLNOTIFYSINK, 
  322. 0x515816e2, 0x9ee8, 0x11d1, 0xab, 0xbd, 0x0, 0xa0, 0xc9, 0x11, 0x0, 0x2b);
  323.  
  324. //--------------------------------------------------------------------------------------------
  325. //
  326. // DISPIDs
  327. //
  328. //--------------------------------------------------------------------------------------------
  329.  
  330. //--------------------------------------------------------------------------------------------
  331. //
  332. // Controls
  333. //
  334. //--------------------------------------------------------------------------------------------
  335.  
  336. //
  337. // LABEL
  338. //
  339. #undef    INTERFACE
  340. #define    INTERFACE
  341.  
  342. DECLARE_INTERFACE_(IASLabel, IASControl)
  343.     {
  344.     //
  345.     // Use these to assign a user defined image to the label. However, some controls
  346.     // that inherit from IASLabel, may choose to ignore this property
  347.     //
  348.     STDMETHOD(get_Image) (THIS_ OLE_HANDLE *phImage, OLE_HANDLE *phImageMask) PURE;
  349.     STDMETHOD(put_Image) (THIS_ OLE_HANDLE hImage, OLE_HANDLE hImageMask,
  350.                             long x, long y, long dxWidth, long dyHeight) PURE;
  351.     //
  352.     // Properties
  353.     //
  354.     STDMETHOD(get_Format) (THIS_ UINT *pwFormat) PURE;
  355.     STDMETHOD(put_Format) (THIS_ UINT wFormat) PURE;
  356.     //
  357.     // Use these to align images and captions
  358.     //
  359.     STDMETHOD(get_ImageAlignH) (THIS_ short *pwAlign) PURE;
  360.     STDMETHOD(put_ImageAlignH) (THIS_ short wAlign) PURE;
  361.     STDMETHOD(get_ImageAlignV) (THIS_ short *pwAlign) PURE;
  362.     STDMETHOD(put_ImageAlignV) (THIS_ short wAlign) PURE;
  363.     STDMETHOD(get_CaptionAlign) (THIS_ short *pwAlign) PURE;
  364.     STDMETHOD(put_CaptionAlign) (THIS_ short wAlign) PURE;
  365.  
  366.     STDMETHOD(get_AutoScaleFont) (THIS_ UINT *pwMinPointSize) PURE;
  367.     STDMETHOD(put_AutoScaleFont) (THIS_ UINT wMinPointSize) PURE;
  368.     };
  369.  
  370. //
  371. // BUTTON
  372. //
  373. #undef  INTERFACE
  374. #define INTERFACE
  375.  
  376. DECLARE_INTERFACE_(IASButton, IASLabel)
  377.     {
  378.     STDMETHOD(PushButton) (THIS) PURE;
  379.     //
  380.     // Properties
  381.     //
  382.     STDMETHOD(get_Pushed) (THIS_ BOOL *pfPushed) PURE;
  383.     STDMETHOD(put_Pushed) (THIS_ BOOL fPushed) PURE;
  384.    
  385.     STDMETHOD(get_Group) (THIS_ short *pwIDGroup) PURE;
  386.     STDMETHOD(put_Group) (THIS_ short wIDGroup) PURE;
  387.     //
  388.     // Use these to change button behaviour
  389.     //
  390.     STDMETHOD(get_Type) (THIS_ short *pwType) PURE;
  391.     STDMETHOD(put_Type) (THIS_ short wType) PURE;
  392.     };
  393.  
  394. //
  395. // Check Box
  396. //
  397. #undef  INTERFACE
  398. #define INTERFACE
  399.  
  400. DECLARE_INTERFACE_(IASCheckBox, IASButton)
  401.     {
  402.     };
  403.  
  404. //
  405. // Radio Button
  406. //
  407. #undef  INTERFACE
  408. #define INTERFACE
  409.  
  410. DECLARE_INTERFACE_(IASRadioButton, IASButton)
  411.     {
  412.     };
  413.  
  414. //
  415. // A ListBox of BSTRs
  416. //
  417. #undef  INTERFACE
  418. #define INTERFACE
  419.  
  420. DECLARE_INTERFACE_(IASListBox, IASControl)
  421.     {
  422.     STDMETHOD(get_Count) (THIS_ long *pcItems) PURE;
  423.     STDMETHOD(Item) (THIS_ long index, BSTR *pbstr) PURE;
  424.     STDMETHOD(FindItem) (THIS_ BSTR bstr, long indexStart, long *plIndex) PURE;
  425.     STDMETHOD(FindItemPartial) (THIS_ BSTR bstr, long indexStart, long *plIndex) PURE;
  426.     STDMETHOD(SetItemData) (THIS_ long index, long lData) PURE;
  427.     STDMETHOD(GetItemData) (THIS_ long index, long* plData) PURE;
  428.     
  429.     STDMETHOD(Add) (THIS_ BSTR bstr) PURE;
  430.     STDMETHOD(AddWithData) (THIS_ BSTR bstr, long lData) PURE;
  431.     STDMETHOD(InsertAt) (THIS_ long index, BSTR bstr) PURE;
  432.     STDMETHOD(SetItem) (THIS_ long index, BSTR bstr) PURE;
  433.     STDMETHOD(Remove) (THIS_ BSTR bstr) PURE;
  434.     STDMETHOD(RemoveAtIndex) (THIS_ long index) PURE;
  435.     STDMETHOD(RemoveAll) (THIS) PURE;
  436.  
  437.     STDMETHOD(get_TabStopCount) (THIS_ long *pcStops) PURE;
  438.     STDMETHOD(put_TabStopCount) (THIS_ long cStops) PURE;
  439.     STDMETHOD(get_TabStop) (THIS_ long index, long* pStop) PURE;
  440.     STDMETHOD(put_TabStop) (THIS_ long index, long stop) PURE;
  441.     STDMETHOD(get_TabStopAlignment) (THIS_ long index, short *pwAlign) PURE;
  442.     STDMETHOD(put_TabStopAlignment) (THIS_ long index, short wAlign) PURE;
  443.     STDMETHOD(get_TabStopForeColor) (THIS_ long index, OLE_COLOR *pclr) PURE;
  444.     STDMETHOD(put_TabStopForeColor) (THIS_ long index, OLE_COLOR clr) PURE;
  445.     STDMETHOD(get_TabStopBackColor) (THIS_ long index, OLE_COLOR *pclr) PURE;
  446.     STDMETHOD(put_TabStopBackColor) (THIS_ long index, OLE_COLOR clr) PURE;
  447.  
  448.  
  449.     STDMETHOD(get_FocusIndex) (THIS_ long *plIndex) PURE;
  450.     STDMETHOD(put_FocusIndex) (THIS_ long lIndex) PURE;
  451.     STDMETHOD(get_TopVisibleIndex) (THIS_ long *plIndex) PURE;
  452.     STDMETHOD(put_TopVisibleIndex) (THIS_ long lIndex) PURE;
  453.     
  454.     STDMETHOD(get_ItemHeight) (THIS_ long *plHeight) PURE;
  455.     STDMETHOD(put_ItemHeight) (THIS_ long lHeight) PURE;
  456.  
  457.     STDMETHOD(get_Sorted) (THIS_ BOOL *pfSorted) PURE;
  458.     STDMETHOD(put_Sorted) (THIS_ BOOL fSorted) PURE;
  459.     STDMETHOD(get_SortOrder) (THIS_ BOOL *pfAscending) PURE;
  460.     STDMETHOD(put_SortOrder) (THIS_ BOOL fAscending) PURE;
  461.  
  462.     STDMETHOD(get_CenteredFocus) (THIS_ BOOL *pfFocus) PURE;
  463.     STDMETHOD(put_CenteredFocus) (THIS_ BOOL fFocus) PURE;
  464.     STDMETHOD(get_ItemBorder) (THIS_ BOOL *pfItemBorder) PURE;
  465.     STDMETHOD(put_ItemBorder) (THIS_ BOOL fItemBorder) PURE;
  466.  
  467.     STDMETHOD(get_HiliteColor) (THIS_ OLE_COLOR *pclr) PURE;
  468.     STDMETHOD(put_HiliteColor) (THIS_ OLE_COLOR clr) PURE;
  469.     STDMETHOD(get_HiliteTextColor) (THIS_ OLE_COLOR *pclr) PURE;
  470.     STDMETHOD(put_HiliteTextColor) (THIS_ OLE_COLOR clr) PURE;
  471.     STDMETHOD(get_ItemBorderColor) (THIS_ OLE_COLOR *pclr) PURE;
  472.     STDMETHOD(put_ItemBorderColor) (THIS_ OLE_COLOR clr) PURE;
  473.  
  474.  
  475.  
  476.     };
  477.  
  478. //
  479. // A MENU
  480. //
  481. #undef  INTERFACE
  482. #define INTERFACE
  483.  
  484. DECLARE_INTERFACE_(IASMenu, IASControl)
  485.     {
  486.     STDMETHOD(get_Count) (THIS_ long *pcItems) PURE;
  487.     
  488.     STDMETHOD(GetString) (THIS_ long index, BSTR *pbstr) PURE;
  489.     STDMETHOD(SetString) (THIS_ long index, BSTR bstr) PURE;
  490.  
  491.     STDMETHOD(GetID) (THIS_ long index, short *pwID) PURE;
  492.     STDMETHOD(SetID) (THIS_ long index, short wID) PURE;
  493.  
  494.     STDMETHOD(Add) (THIS_ BSTR bstr, short wID) PURE;
  495.     STDMETHOD(InsertAt) (THIS_ long index, BSTR bstr, short wID) PURE;
  496.     STDMETHOD(RemoveAtIndex) (THIS_ long index) PURE;
  497.     STDMETHOD(RemoveByID) (THIS_ short wID) PURE;
  498.     STDMETHOD(RemoveAll) (THIS_ BOOL fRedraw) PURE;
  499.  
  500.     STDMETHOD(get_FocusIndex) (THIS_ long *plIndex) PURE;
  501.     STDMETHOD(put_FocusIndex) (THIS_ long lIndex) PURE;
  502.     STDMETHOD(get_ItemHeight) (THIS_ long *plHeight) PURE;
  503.     STDMETHOD(put_ItemHeight) (THIS_ long lHeight) PURE;
  504.     };
  505.  
  506. //
  507. // A List Box of Images
  508. //
  509. #undef  INTERFACE
  510. #define INTERFACE
  511.  
  512. DECLARE_INTERFACE_(IASImageMenu, IASControl)
  513.     {
  514.     STDMETHOD(get_Count) (THIS_ long *pcItems) PURE;
  515.     
  516.     STDMETHOD(get_Image) (THIS_ long index, OLE_HANDLE *phImage, OLE_HANDLE *phImageMask, 
  517.                         BOOL *pfBitmap) PURE;
  518.     STDMETHOD(put_Image) (THIS_ long index, OLE_HANDLE hImage, OLE_HANDLE hImageMask,  
  519.                         BOOL fBitmap) PURE;
  520.  
  521.     STDMETHOD(get_String) (THIS_ long index, BSTR *pbstr) PURE;
  522.     STDMETHOD(put_String) (THIS_ long index, BSTR bstr) PURE;
  523.  
  524.     STDMETHOD(get_ID) (THIS_ long index, short *pwID) PURE;
  525.     STDMETHOD(put_ID) (THIS_ long index, short wID) PURE;
  526.  
  527.     STDMETHOD(Add) (THIS_ OLE_HANDLE hImage, OLE_HANDLE hImageMask, BSTR bstr, 
  528.                     short wID, BOOL fBitmap) PURE;
  529.     STDMETHOD(InsertAt) (THIS_ long index, OLE_HANDLE hImage, OLE_HANDLE hImageMask, 
  530.                         BSTR bstr, short wID, BOOL fBitmap) PURE;
  531.     STDMETHOD(RemoveAtIndex) (THIS_ long index) PURE;
  532.     STDMETHOD(RemoveByID) (THIS_ short wID) PURE;
  533.  
  534.     STDMETHOD(get_FocusIndex) (THIS_ long *plIndex) PURE;
  535.     STDMETHOD(put_FocusIndex) (THIS_ long lIndex) PURE;
  536.  
  537.     STDMETHOD(get_ItemHeight) (THIS_ long *plHeight) PURE;
  538.     STDMETHOD(put_ItemHeight) (THIS_ long lHeight) PURE;
  539.     STDMETHOD(get_ItemWidth) (THIS_ long *plWidth) PURE;
  540.     STDMETHOD(put_ItemWidth) (THIS_ long lWidth) PURE;
  541.     STDMETHOD(get_ImageHeight) (THIS_ long *plHeight) PURE;
  542.     STDMETHOD(put_ImageHeight) (THIS_ long lHeight) PURE;
  543.     STDMETHOD(get_ImageWidth) (THIS_ long *plWidth) PURE;
  544.     STDMETHOD(put_ImageWidth) (THIS_ long lWidth) PURE;
  545.  
  546.     STDMETHOD(get_Horizontal) (THIS_ BOOL *pfHorizontal) PURE;
  547.     STDMETHOD(put_Horizontal) (THIS_ BOOL fHorizontal) PURE;
  548.  
  549.     STDMETHOD(get_MenuLabel) (THIS_ IDispatch **ppdispLabel) PURE;
  550.     STDMETHOD(put_MenuLabel) (THIS_ IDispatch *pdispLabel) PURE;
  551.  
  552.     STDMETHOD(get_FocusColor) (THIS_ OLE_COLOR *pclr) PURE;
  553.     STDMETHOD(put_FocusColor) (THIS_ OLE_COLOR clr) PURE;
  554.  
  555.     STDMETHOD(get_CenteredFocus) (THIS_ BOOL *pfFocus) PURE;
  556.     STDMETHOD(put_CenteredFocus) (THIS_ BOOL fFocus) PURE;
  557.  
  558.     STDMETHOD(put_Overlay)(THIS_ BOOL fFocus, THIS_ OLE_HANDLE hImage, 
  559.                                  OLE_HANDLE hImageMask, BOOL fBitmap) PURE;
  560.  
  561.     STDMETHOD(get_Overlay)(THIS_ BOOL fFocus, THIS_ OLE_HANDLE * phImage, 
  562.                                  OLE_HANDLE * phImageMask, BOOL * pfBitmap) PURE;  
  563.  
  564.     STDMETHOD(put_NonFocusImageColor)(THIS_ OLE_COLOR clr, BOOL fSet) PURE;
  565.     STDMETHOD(get_NonFocusImageColor)(THIS_ OLE_COLOR * pclr, BOOL * pfSet) PURE;
  566.  
  567.     STDMETHOD(put_OverlayOffset)(THIS_ BOOL fFocus, long left, long top) PURE;
  568.     STDMETHOD(get_OverlayOffset)(THIS_ BOOL fFocus, long * pleft, long * ptop ) PURE;
  569.                                  
  570.     STDMETHOD(get_MenuWrap) (THIS_ BOOL *pfWrap) PURE;
  571.     STDMETHOD(put_MenuWrap) (THIS_ BOOL fWrap) PURE;
  572.    };
  573.  
  574. #undef  INTERFACE
  575. #define INTERFACE
  576.  
  577. DECLARE_INTERFACE_(IASShellMenu, IASImageMenu)
  578.     {
  579.     STDMETHOD(get_HotKey) (THIS_ long index, unsigned char *pbID) PURE;
  580.     STDMETHOD(put_HotKey) (THIS_ long index, unsigned char bID) PURE;
  581.  
  582.     STDMETHOD(get_ItemFlags) (THIS_ long index, unsigned char *pbFlags) PURE;
  583.     STDMETHOD(put_ItemFlags) (THIS_ long index, unsigned char bFlags, unsigned char bMask) PURE;
  584.  
  585.     STDMETHOD(get_LabelHeight) (THIS_ long *plHeight) PURE;
  586.     STDMETHOD(put_LabelHeight) (THIS_ long lHeight) PURE;
  587.  
  588.     STDMETHOD(get_LabelForeColor) (THIS_ OLE_COLOR *pclr) PURE;
  589.     STDMETHOD(put_LabelForeColor) (THIS_ OLE_COLOR clr) PURE;
  590.  
  591.     STDMETHOD(get_LabelBackColor) (THIS_ OLE_COLOR *pclr) PURE;
  592.     STDMETHOD(put_LabelBackColor) (THIS_ OLE_COLOR clr) PURE;    
  593.     };
  594.  
  595. #undef  INTERFACE
  596. #define INTERFACE
  597.  
  598. DECLARE_INTERFACE_(IASProgressBar, IASControl)
  599.     {
  600.     STDMETHOD(get_Value) (THIS_ long *plValue) PURE;
  601.     STDMETHOD(put_Value) (THIS_ long lValue) PURE;    
  602.     STDMETHOD(get_Min) (THIS_ long *plMin) PURE;
  603.     STDMETHOD(put_Min) (THIS_ long lMin) PURE;
  604.     STDMETHOD(get_Max) (THIS_ long *plMax) PURE;
  605.     STDMETHOD(put_Max) (THIS_ long lMax) PURE;
  606.  
  607.     STDMETHOD(get_RangeCount) (THIS_ long *plCount) PURE;
  608.     STDMETHOD(put_RangeCount) (THIS_ long lCount) PURE;
  609.  
  610.     STDMETHOD(get_RangeValue) (THIS_ long lRangeIndex, long *plValue) PURE;
  611.     STDMETHOD(put_RangeValue) (THIS_ long lRangeIndex, long lValue) PURE;
  612.  
  613.     STDMETHOD(get_RangeColor) (THIS_ long lRangeIndex, OLE_COLOR *pclr) PURE;
  614.     STDMETHOD(put_RangeColor) (THIS_ long lRangeIndex, OLE_COLOR clr) PURE;
  615.  
  616.     STDMETHOD(get_Horizontal) (THIS_ BOOL *pfHorizontal) PURE;
  617.     STDMETHOD(put_Horizontal) (THIS_ BOOL fHorizontal) PURE;
  618.  
  619.     STDMETHOD(get_Steps)(THIS_ long *plSteps) PURE;
  620.     STDMETHOD(put_Steps)(THIS_ long lSteps) PURE;
  621.  
  622.     };
  623.  
  624. #undef  INTERFACE
  625. #define INTERFACE
  626.  
  627. DECLARE_INTERFACE_(IASSlider, IASProgressBar)
  628.     {     
  629.     STDMETHOD(get_Incr) (THIS_ long *plIncr) PURE;
  630.     STDMETHOD(put_Incr) (THIS_ long lIncr) PURE;
  631.  
  632.     STDMETHOD(get_HiliteColor) (THIS_ OLE_COLOR *pclr) PURE;
  633.     STDMETHOD(put_HiliteColor) (THIS_ OLE_COLOR clr) PURE;
  634.     };
  635.  
  636.  
  637. #undef  INTERFACE
  638.  
  639. #define INTERFACE
  640. DECLARE_INTERFACE_(IASVVI, IASProgressBar)
  641.     {
  642.     STDMETHOD(get_Mirrored) (THIS_ BOOL *pfMirrored) PURE;
  643.     STDMETHOD(put_Mirrored) (THIS_ BOOL fMirrored) PURE;
  644.     
  645.     STDMETHOD(get_Inverted) (THIS_ BOOL *pfInverted) PURE;
  646.     STDMETHOD(put_Inverted) (THIS_ BOOL fInverted) PURE;
  647.  
  648.    };
  649. #undef  INTERFACE
  650.  
  651. #define INTERFACE
  652.  
  653. DECLARE_INTERFACE_(IASMemorySlider, IASSlider)
  654.     {
  655.     STDMETHOD(put_StoreUsed) (THIS_ long lStoreUsed) PURE;
  656.     STDMETHOD(put_RamUsed)   (THIS_ long lRamUsed) PURE;
  657.     };
  658.  
  659. #undef  INTERFACE
  660.  
  661. //
  662. // Text Input Range
  663. //
  664. #define INTERFACE
  665.  
  666. DECLARE_INTERFACE_(IASTextInputRange, IASControl)
  667.     {
  668.     STDMETHOD(get_MinChar) (THIS_ short *pch) PURE;
  669.     STDMETHOD(put_MinChar) (THIS_ short ch) PURE;
  670.     STDMETHOD(get_MaxChar) (THIS_ short *pch) PURE;
  671.     STDMETHOD(put_MaxChar) (THIS_ short ch) PURE;
  672.  
  673.     STDMETHOD(get_MinCharIgnore) (THIS_ short *pch) PURE;
  674.     STDMETHOD(put_MinCharIgnore) (THIS_ short ch) PURE;
  675.     STDMETHOD(get_MaxCharIgnore) (THIS_ short *pch) PURE;
  676.     STDMETHOD(put_MaxCharIgnore) (THIS_ short ch) PURE;
  677.     
  678.     STDMETHOD(get_SpecialChar) (THIS_ BSTR *pbstr) PURE;
  679.     STDMETHOD(put_SpecialChar) (THIS_ BSTR bstr) PURE;
  680.  
  681.     STDMETHOD(get_CurChar) (THIS_ short *pch) PURE;
  682.     STDMETHOD(put_CurChar) (THIS_ short ch) PURE;
  683.     };
  684.  
  685. //
  686. // Text Spinner
  687. //
  688. #undef  INTERFACE
  689. #define INTERFACE
  690.  
  691. DECLARE_INTERFACE_(IASCharSpinner, IASControl)
  692.     {
  693.     STDMETHOD(get_ItemHeight) (THIS_ long *plHeight) PURE;
  694.     STDMETHOD(put_ItemHeight) (THIS_ long lHeight) PURE;
  695.     
  696.     STDMETHOD(get_CharSet) (THIS_ BSTR *pbstr) PURE;
  697.     STDMETHOD(put_CharSet) (THIS_ BSTR bstr) PURE;
  698.     
  699.     STDMETHOD(get_CurChar) (THIS_ short *pch) PURE;
  700.     STDMETHOD(put_CurChar) (THIS_ short ch) PURE;
  701.     
  702.     STDMETHOD(NextChar) (THIS) PURE;
  703.     STDMETHOD(PrevChar) (THIS) PURE;
  704.     
  705.     STDMETHOD(put_SpinMode) (THIS_ short mode) PURE;
  706.     STDMETHOD(get_SpinMode) (THIS_ short *pmode) PURE;
  707.     };
  708.  
  709. //
  710. // Text SIP
  711. //
  712. #undef  INTERFACE
  713. #define INTERFACE
  714.  
  715. DECLARE_INTERFACE_(IASSIP, IASTextInputRange)
  716.     {
  717.     STDMETHOD(get_HiliteColor) (THIS_ OLE_COLOR *pclr) PURE;
  718.     STDMETHOD(put_HiliteColor) (THIS_ OLE_COLOR clr) PURE;    
  719.     STDMETHOD(get_BorderColor) (THIS_ OLE_COLOR *pclr) PURE;
  720.     STDMETHOD(put_BorderColor) (THIS_ OLE_COLOR clr) PURE;
  721.  
  722.     STDMETHOD(get_ItemHeight) (THIS_ long *plHeight) PURE;
  723.     STDMETHOD(put_ItemHeight) (THIS_ long lHeight) PURE;
  724.     STDMETHOD(get_ItemWidth) (THIS_ long *plWidth) PURE;
  725.     STDMETHOD(put_ItemWidth) (THIS_ long lWidth) PURE;
  726.  
  727.     STDMETHOD(get_ClientEditBox) (THIS_ IDispatch **ppdisp) PURE;
  728.     STDMETHOD(put_ClientEditBox) (THIS_ IDispatch *pdisp) PURE;
  729.     };
  730.  
  731. //
  732. // EditBox
  733. //
  734. #undef  INTERFACE
  735. #define INTERFACE
  736.  
  737. DECLARE_INTERFACE_(IASEditBox, IASCharSpinner)
  738.     {
  739.     STDMETHOD(get_ItemWidth) (THIS_ long *plWidth) PURE;
  740.     STDMETHOD(put_ItemWidth) (THIS_ long lWidth) PURE;
  741.  
  742.     STDMETHOD(get_Text) (THIS_ BSTR *pbstr) PURE;
  743.     STDMETHOD(put_Text) (THIS_ BSTR bstr) PURE;
  744.     
  745.     STDMETHOD(get_Selection) (THIS_ wchar_t *pch) PURE;
  746.     STDMETHOD(put_Selection) (THIS_ wchar_t ch) PURE;
  747.     STDMETHOD(get_SelectionIndex) (THIS_ short *pwich) PURE;
  748.     STDMETHOD(put_SelectionIndex) (THIS_ short wich) PURE;
  749.  
  750.     STDMETHOD(get_NumChars) (THIS_ short *pwcch) PURE;
  751.     STDMETHOD(get_MaxChars) (THIS_ short *pwcchMax) PURE;
  752.     STDMETHOD(put_MaxChars) (THIS_ short wcchMax) PURE;
  753.  
  754.     STDMETHOD(get_ReadOnly) (THIS_ BOOL *pfReadOnly) PURE;
  755.     STDMETHOD(put_ReadOnly) (THIS_ BOOL fReadOnly) PURE;
  756.  
  757.     STDMETHOD(get_Editing) (THIS_ BOOL *pfEditing) PURE;
  758.     STDMETHOD(put_Editing) (THIS_ BOOL fEditing) PURE;
  759.  
  760.     STDMETHOD(get_TrimRight) (THIS_ BOOL *pfTrimRight) PURE;
  761.     STDMETHOD(put_TrimRight) (THIS_ BOOL fTrimRight) PURE;
  762.  
  763.     STDMETHOD(Insert) (THIS_ short ch) PURE;
  764.     STDMETHOD(Delete) (THIS) PURE;
  765.  
  766.        STDMETHOD(get_TextPrivate) (THIS_ BOOL *pfTextPrivate) PURE;
  767.     STDMETHOD(put_TextPrivate) (THIS_ BOOL fTextPrivate) PURE;
  768.     };
  769.  
  770. //
  771. // A Canvas. Use for free style drawing
  772. //
  773. #undef    INTERFACE
  774. #define    INTERFACE
  775.  
  776. DECLARE_INTERFACE_(IASCanvas, IASControl)
  777.     {
  778.     STDMETHOD(GetDC) (THIS_ OLE_HANDLE *phdc, BOOL fOffScreen) PURE;
  779.     STDMETHOD(Commit) (THIS) PURE;
  780.     STDMETHOD(ClipAndCommit) (THIS_ OLE_HANDLE hrgnClip) PURE;
  781.     STDMETHOD(CommitAt) (THIS_ long xDest, long yDest, long xSrc, long ySrc, long dx, long dy) PURE;
  782.     STDMETHOD(CommitFrom) (THIS_ long xSrc, long ySrc) PURE;
  783.     STDMETHOD(put_AutoCommit) (THIS_ BOOL fAutoCommit, long xSrc, long ySrc) PURE;
  784.     STDMETHOD(get_AutoCommit) (THIS_ BOOL * pfAutoCommit, long * pxSrc, long * pySrc) PURE;
  785.     };
  786.  
  787. //
  788. // CLOCK
  789. //
  790. #undef    INTERFACE
  791. #define    INTERFACE
  792.  
  793. DECLARE_INTERFACE_(IASClock, IASControl)
  794.     {
  795.     STDMETHOD(get_ClockFormat) (BOOL * pfTime, BSTR * pbstrFormat, LONG * pFormatFlags ) PURE;
  796.     STDMETHOD(put_ClockFormat) ( BOOL fTime, BSTR bstrFormat, LONG FormatFlags) PURE;
  797.     STDMETHOD(get_LabelFormat) (BOOL * pfTime, BSTR * pbstrFormat, LONG * pFormatFlags ) PURE;
  798.     STDMETHOD(put_LabelFormat) ( BOOL fTime, BSTR bstrFormat, LONG FormatFlags) PURE;
  799.     STDMETHOD(put_ClockLabel) (THIS_ IDispatch *pdispLabel) PURE;
  800.     STDMETHOD(put_ClockLabel0) (THIS_ IDispatch *pdispLabel) PURE;
  801.     };
  802.  
  803. //
  804. // TIMER
  805. //
  806. #undef  INTERFACE
  807. #define INTERFACE
  808.  
  809. DECLARE_INTERFACE_(IASTimer, IASControl)
  810.     {
  811.     STDMETHOD(get_Interval) (THIS_ long *plMillis) PURE;
  812.     STDMETHOD(put_Interval) (THIS_ long lMillis) PURE;
  813.     STDMETHOD(get_TimerEnabled) (THIS_ BOOL *pfEnabled) PURE;
  814.     STDMETHOD(put_TimerEnabled) (THIS_ BOOL fEnable) PURE;
  815.      };
  816.  
  817. #undef  INTERFACE
  818. #define INTERFACE
  819.  
  820. DECLARE_INTERFACE_(IASPlayList, IASControl)
  821.     {
  822.     STDMETHOD(get_TrackActive) (THIS_ unsigned char biTrack) PURE;
  823.     STDMETHOD(put_TrackActive) (THIS_ unsigned char biTrack, BOOL fActive) PURE;
  824.     STDMETHOD(Reset) (THIS) PURE;
  825.  
  826.     STDMETHOD(get_NumTracks) (THIS_ unsigned char *pbcTracks) PURE;
  827.     STDMETHOD(put_NumTracks) (THIS_ unsigned char bcTracks) PURE;
  828.     
  829.     STDMETHOD(get_BorderColor) (THIS_ OLE_COLOR *pclr) PURE;
  830.     STDMETHOD(put_BorderColor) (THIS_ OLE_COLOR clr) PURE;
  831.     STDMETHOD(get_HiliteBorderColor) (THIS_ OLE_COLOR *pclr) PURE;
  832.     STDMETHOD(put_HiliteBorderColor) (THIS_ OLE_COLOR clr) PURE;    
  833.     STDMETHOD(get_ActiveForeColor) (THIS_ OLE_COLOR *pclr) PURE;
  834.     STDMETHOD(put_ActiveForeColor) (THIS_ OLE_COLOR clr) PURE;
  835.     STDMETHOD(get_ActiveBackColor) (THIS_ OLE_COLOR *pclr) PURE;
  836.     STDMETHOD(put_ActiveBackColor) (THIS_ OLE_COLOR clr) PURE;
  837.     STDMETHOD(get_InactiveForeColor) (THIS_ OLE_COLOR *pclr) PURE;
  838.     STDMETHOD(put_InactiveForeColor) (THIS_ OLE_COLOR clr) PURE;
  839.     STDMETHOD(get_InactiveBackColor) (THIS_ OLE_COLOR *pclr) PURE;
  840.     STDMETHOD(put_InactiveBackColor) (THIS_ OLE_COLOR clr) PURE;
  841.  
  842.     STDMETHOD(get_ItemHeight) (THIS_ long *plHeight) PURE;
  843.     STDMETHOD(put_ItemHeight) (THIS_ long lHeight) PURE;
  844.     STDMETHOD(get_ItemWidth) (THIS_ long *plWidth) PURE;
  845.     STDMETHOD(put_ItemWidth) (THIS_ long lWidth) PURE;
  846.  
  847.     STDMETHOD(put_CurrentTrack) (THIS_ unsigned char bcTrack) PURE;
  848.     STDMETHOD(get_CurrentTrack) (THIS_ unsigned char* pbcTrack) PURE;
  849.     };
  850.  
  851. #undef  INTERFACE
  852. #define INTERFACE
  853.  
  854. DECLARE_INTERFACE_(IASCrossHairs, IASControl)
  855.     {
  856.     STDMETHOD(get_XVal) (THIS_ short *pwVal) PURE;
  857.     STDMETHOD(put_XVal) (THIS_ short wVal) PURE;
  858.     STDMETHOD(get_YVal) (THIS_ short *pwVal) PURE;
  859.     STDMETHOD(put_YVal) (THIS_ short wVal) PURE;
  860.  
  861.     STDMETHOD(get_XMinus) (THIS_ short *pwVal) PURE;
  862.     STDMETHOD(put_XMinus) (THIS_ short wVal) PURE;
  863.     STDMETHOD(get_XPlus) (THIS_ short *pwVal) PURE;
  864.     STDMETHOD(put_XPlus) (THIS_ short wVal) PURE;
  865.  
  866.     STDMETHOD(get_YMinus) (THIS_ short *pwVal) PURE;
  867.     STDMETHOD(put_YMinus) (THIS_ short wVal) PURE;
  868.     STDMETHOD(get_YPlus) (THIS_ short *pwVal) PURE;
  869.     STDMETHOD(put_YPlus) (THIS_ short wVal) PURE;
  870.  
  871.     STDMETHOD(get_CrossHairHilite) (THIS_ BOOL *pfHorz, BOOL *pfVert) PURE;
  872.     STDMETHOD(put_CrossHairHilite) (THIS_ BOOL fHorz, BOOL fVert) PURE;
  873.     
  874.     STDMETHOD(get_CrossHairColor) (THIS_ OLE_COLOR *pclr) PURE;
  875.     STDMETHOD(put_CrossHairColor) (THIS_ OLE_COLOR clr) PURE;
  876.     STDMETHOD(get_CrossHairBoxColor) (THIS_ OLE_COLOR *pclr) PURE;
  877.     STDMETHOD(put_CrossHairBoxColor) (THIS_ OLE_COLOR clr) PURE;
  878.     STDMETHOD(get_CrossHairHiliteColor) (THIS_ OLE_COLOR *pclr) PURE;
  879.     STDMETHOD(put_CrossHairHiliteColor) (THIS_ OLE_COLOR clr) PURE;
  880.     STDMETHOD(get_AxisColor) (THIS_ OLE_COLOR *pclr) PURE;
  881.     STDMETHOD(put_AxisColor) (THIS_ OLE_COLOR clr) PURE;
  882.     };
  883.  
  884. //
  885. // Tabber control
  886. //
  887. #undef  INTERFACE
  888. #define INTERFACE
  889.  
  890. DECLARE_INTERFACE_(IASTabber, IASControl)
  891. {
  892.     //
  893.     // basics
  894.     //
  895.     STDMETHOD(Add)                (THIS_ BSTR bstr, long lData) PURE;
  896.     STDMETHOD(AddImage)            (THIS_ OLE_HANDLE hImage, OLE_HANDLE hImageMask,long lData) PURE;
  897.     STDMETHOD(AddWithIndex)        (THIS_ BSTR bstr, long lData, long* lpIndex) PURE;
  898.     STDMETHOD(InsertAt)            (THIS_ long index,BSTR bstr,  long lData) PURE;
  899.     STDMETHOD(RemoveAt)            (THIS_ long index) PURE;
  900.     STDMETHOD(RemoveAll)        (THIS_ ) PURE;
  901.     STDMETHOD(SpeakFocusTab)    (THIS_ ) PURE;
  902.     STDMETHOD(get_Count)        (THIS_ long* pcItems) PURE;
  903.     //
  904.     // get / set attributes / properties
  905.     //
  906.     STDMETHOD(get_TabStatus)            (THIS_ long    index, long *plStatus) PURE;
  907.     STDMETHOD(put_TabStatus)            (THIS_ long    index, long lStatus) PURE;
  908.     STDMETHOD(get_String)                (THIS_ long    index, BSTR *pbstr) PURE;
  909.     STDMETHOD(put_String)                (THIS_ long    index, BSTR bstr) PURE;
  910.     STDMETHOD(get_SpeechCommandId)        (THIS_ long    index, long *plSpeechId) PURE;
  911.     STDMETHOD(put_SpeechCommandId)        (THIS_ long    index, long lSpeechId) PURE;
  912.     STDMETHOD(get_ItemData)                (THIS_ long    index, long *plData) PURE;
  913.     STDMETHOD(put_ItemData)                (THIS_ long    index, long lData) PURE;
  914.     STDMETHOD(get_TabMinWidth)            (THIS_ long* lpWidth) PURE;
  915.     STDMETHOD(put_TabMinWidth)            (THIS_ long lWidth) PURE;
  916.     STDMETHOD(get_TabColor)                (THIS_ OLE_COLOR *pclr) PURE;
  917.     STDMETHOD(put_TabColor)                (THIS_ OLE_COLOR clr) PURE;
  918.     STDMETHOD(get_TabTextColor)            (THIS_ OLE_COLOR *pclr) PURE;
  919.     STDMETHOD(put_TabTextColor)            (THIS_ OLE_COLOR clr) PURE;
  920.     STDMETHOD(get_BorderColor)            (THIS_ OLE_COLOR *pclr) PURE;
  921.     STDMETHOD(put_BorderColor)            (THIS_ OLE_COLOR clr) PURE;
  922.     STDMETHOD(get_FocusIndex)            (THIS_ long *plIndex) PURE;
  923.     STDMETHOD(put_FocusIndex)            (THIS_ long lIndex) PURE;
  924.     STDMETHOD(get_TabFocusForeColor)    (THIS_ OLE_COLOR *pclr) PURE;
  925.     STDMETHOD(put_TabFocusForeColor)    (THIS_ OLE_COLOR clr) PURE;
  926.     STDMETHOD(get_TabFocusBackColor)    (THIS_ OLE_COLOR *pclr) PURE;
  927.     STDMETHOD(put_TabFocusBackColor)    (THIS_ OLE_COLOR clr) PURE;
  928.     STDMETHOD(get_Circular)(THIS_ BOOL* pfCircular) PURE;
  929.     STDMETHOD(put_Circular)(THIS_ BOOL fCircular) PURE;
  930.     STDMETHOD(get_DeferredNotification)(THIS_ BOOL* pfDeferredNotification) PURE;
  931.     STDMETHOD(put_DeferredNotification)(THIS_ BOOL fDeferredNotification) PURE;
  932.     STDMETHOD(get_VoiceMenu)(THIS_ IVCmdMenu** ppVoiceMenu) PURE;
  933.     STDMETHOD(put_VoiceMenu)(THIS_ IVCmdMenu*  pVoiceMenu) PURE;
  934.     STDMETHOD(get_VoiceMenuActivateCommand)(THIS_ BSTR *pbstrCommand) PURE;
  935.     STDMETHOD(put_VoiceMenuActivateCommand)(THIS_ BSTR bstrCommand) PURE;
  936.  
  937.     //
  938.     // Images
  939.     //
  940.     STDMETHOD(get_Image)        (THIS_ long index, OLE_HANDLE *phImage, OLE_HANDLE *phImageMask) PURE;
  941.     STDMETHOD(put_Image)        (THIS_ long index, OLE_HANDLE hImage, OLE_HANDLE hImageMask) PURE;
  942.     STDMETHOD(get_HiliteImage)        (THIS_ long index, OLE_HANDLE *phImage, OLE_HANDLE *phImageMask) PURE;
  943.     STDMETHOD(put_HiliteImage)        (THIS_ long index, OLE_HANDLE hImage, OLE_HANDLE hImageMask) PURE;
  944.  
  945.     STDMETHOD(get_SkipDisabledTabs)(THIS_ BOOL *pfSkip) PURE;
  946.     STDMETHOD(put_SkipDisabledTabs)(THIS_ BOOL fSkip) PURE;
  947. };
  948.  
  949.  
  950.  
  951. #undef  INTERFACE
  952. #define INTERFACE
  953.  
  954. //
  955. // PowerListBox Item
  956. //
  957. DECLARE_INTERFACE_(IASPowerListBoxItem, IDispatch)
  958. {
  959.     STDMETHOD(get_ItemData)(THIS_ long *plData) PURE;
  960.     STDMETHOD(put_ItemData)(THIS_ long lData) PURE;
  961.  
  962.     STDMETHOD(get_StatusItemsMask)(THIS_ long *plMask) PURE;
  963.     STDMETHOD(put_StatusItemsMask)(THIS_ long lMask) PURE;
  964.  
  965.     STDMETHOD(get_Caption)(THIS_ BSTR *pbstrCaption) PURE;
  966.     STDMETHOD(put_Caption)(THIS_ BSTR bstrCaption) PURE;
  967.  
  968.     STDMETHOD(get_ItemId)(THIS_ long *plItemId) PURE;
  969.     STDMETHOD(put_ItemId)(THIS_ long lItemId) PURE;
  970.  
  971.     STDMETHOD(get_Type)(THIS_ long *plType) PURE;
  972.  
  973. };
  974.  
  975. #undef  INTERFACE
  976. #define INTERFACE
  977.  
  978. //
  979. // PowerListBox command item
  980. //
  981. DECLARE_INTERFACE_(IASPowerListBoxCommand,IASPowerListBoxItem)
  982. {
  983. };
  984.  
  985. #undef  INTERFACE
  986. #define INTERFACE
  987.  
  988. DECLARE_INTERFACE_(IASPowerListBoxEdit, IASPowerListBoxItem)
  989. {
  990.     STDMETHOD(get_Text)(THIS_ BSTR *pbstr) PURE;
  991.     STDMETHOD(put_Text)(THIS_ BSTR bstr) PURE;
  992.  
  993.     STDMETHOD(get_MaxChars)(THIS_ short *wcchMax) PURE;
  994.     STDMETHOD(put_MaxChars)(THIS_ short wcchMax) PURE;
  995.  
  996.     STDMETHOD(get_CharSet)(THIS_ BSTR *pbstr) PURE;
  997.     STDMETHOD(put_CharSet)(THIS_ BSTR bstr) PURE;
  998.  
  999. };
  1000.  
  1001. #undef  INTERFACE
  1002. #define INTERFACE
  1003.  
  1004. DECLARE_INTERFACE_(IASPowerListBoxStringSpinner, IASPowerListBoxItem)
  1005. {
  1006.     STDMETHOD(get_Items)(THIS_ BSTR *pbstrItems) PURE;
  1007.     STDMETHOD(put_Items)(THIS_ BSTR bstrItems) PURE;
  1008.  
  1009.     STDMETHOD(get_Value)(THIS_ BSTR *pbstrValue) PURE;
  1010.     STDMETHOD(put_Value)(THIS_ BSTR bstrValue) PURE;
  1011.  
  1012.     STDMETHOD(get_FocusIndex)(THIS_ long *plFocusIndex) PURE;
  1013.     STDMETHOD(put_FocusIndex)(THIS_ long lFocusIndex) PURE;
  1014.  
  1015.     STDMETHOD(get_Circular)(THIS_ BOOL* pfCircular) PURE;
  1016.     STDMETHOD(put_Circular)(THIS_ BOOL fCircular) PURE;
  1017.  
  1018. };
  1019.  
  1020.  
  1021. #undef  INTERFACE
  1022. #define INTERFACE
  1023.  
  1024. DECLARE_INTERFACE_(IASPowerListBoxIntSpinner, IASPowerListBoxItem)
  1025. {
  1026.     STDMETHOD(get_Flags)(THIS_ short *pwFlags) PURE;
  1027.     STDMETHOD(put_Flags)(THIS_ short wFlags) PURE;
  1028.  
  1029.     STDMETHOD(get_Min)(THIS_ long *plMin) PURE;
  1030.     STDMETHOD(put_Min)(THIS_ long lMin) PURE;
  1031.  
  1032.     STDMETHOD(get_Max)(THIS_ long *plMax) PURE;
  1033.     STDMETHOD(put_Max)(THIS_ long lMax) PURE;
  1034.  
  1035.     STDMETHOD(get_Step)(THIS_ long *plStep) PURE;
  1036.     STDMETHOD(put_Step)(THIS_ long lStep) PURE;
  1037.  
  1038.     STDMETHOD(get_Value)(THIS_ long *plValue) PURE;
  1039.     STDMETHOD(put_Value)(THIS_ long lValue) PURE;
  1040.  
  1041.     STDMETHOD(get_Units)(THIS_ BSTR *pbstr) PURE;
  1042.     STDMETHOD(put_Units)(THIS_ BSTR bstr) PURE;
  1043.  
  1044.     STDMETHOD(get_Circular)(THIS_ BOOL* pfCircular) PURE;
  1045.     STDMETHOD(put_Circular)(THIS_ BOOL fCircular) PURE;
  1046.  
  1047. };
  1048.  
  1049. //
  1050. //  IASProvidePowerListBoxCommandData 
  1051. //
  1052.  
  1053. #undef  INTERFACE
  1054. #define INTERFACE
  1055.  
  1056. //
  1057. // The IASPowerListSpeakItemSink
  1058. //
  1059. DECLARE_INTERFACE_(IASPowerListSpeakItemSink, IUnknown)
  1060. {
  1061.     STDMETHOD(SpeakItem)(THIS_ DWORD dwSpeechContext, DWORD dwMode, DWORD dwReserved,
  1062.                     long lIndex, long lItemId, long lItemData, 
  1063.                     BSTR bstrCaption, BSTR bstrTTSCaption, BSTR bstrValue, BSTR bstrUnits) PURE;
  1064. };
  1065.  
  1066.  
  1067. #undef  INTERFACE
  1068. #define INTERFACE
  1069.  
  1070. //
  1071. // The IASProvidePowerListBoxCommandData sink
  1072. //
  1073. DECLARE_INTERFACE_(IASProvidePowerListBoxCommandData, IUnknown)
  1074. {
  1075.     STDMETHOD(get_Caption)(THIS_ long lIndex, long lItemId, long lItemData, BSTR *pbstrCaption) PURE;
  1076. };
  1077.  
  1078.  
  1079. #undef  INTERFACE
  1080. #define INTERFACE
  1081.  
  1082. //
  1083. // The PowerListBox
  1084. //
  1085. DECLARE_INTERFACE_(IASPowerListBox, IASControl)
  1086. {
  1087.     STDMETHOD(get_Count)(THIS_ long *pcItems) PURE;
  1088.  
  1089.     STDMETHOD(RemoveAll)(THIS) PURE;
  1090.     STDMETHOD(Remove)(THIS_ long lItemId) PURE;
  1091.     STDMETHOD(RemoveAt)(THIS_ long lIndex) PURE;
  1092.     STDMETHOD(get_CommandPrompt)(THIS_ BSTR *pbstrCommandPrompt) PURE;
  1093.     STDMETHOD(put_CommandPrompt)(THIS_ BSTR bstrCommandPrompt) PURE;
  1094.  
  1095.     STDMETHOD(get_Edit)(THIS_ IDispatch **ppdispEdit) PURE;
  1096.  
  1097.     // the value to be display when an edit item is empty
  1098.     STDMETHOD(get_EditEmptyText)(THIS_ BSTR *pbstrEmptyText) PURE;
  1099.     STDMETHOD(put_EditEmptyText)(THIS_ BSTR bstrEmptyText) PURE;
  1100.  
  1101.     STDMETHOD(get_ReadOnly)(THIS_ BOOL *pfReadOnly) PURE;
  1102.     STDMETHOD(put_ReadOnly)(THIS_ BOOL fReadOnly) PURE;
  1103.  
  1104.     STDMETHOD(get_FocusIndex)(THIS_ long *plFocusIndex) PURE;
  1105.     STDMETHOD(put_FocusIndex)(THIS_ long lFocusIndex) PURE;
  1106.  
  1107.     STDMETHOD(get_TopVisibleIndex)(THIS_ long *plTopVisibleIndex) PURE;
  1108.     STDMETHOD(put_TopVisibleIndex)(THIS_ long lTopVisibleIndex) PURE;
  1109.  
  1110.     STDMETHOD(get_FocusId)(THIS_ long *plFocusId) PURE;
  1111.     STDMETHOD(put_FocusId)(THIS_ long lFocusId) PURE;
  1112.  
  1113.     STDMETHOD(get_TopVisibleId)(THIS_ long *plTopVisibleId) PURE;
  1114.     STDMETHOD(put_TopVisibleId)(THIS_ long lTopVisibleId) PURE;
  1115.  
  1116.     STDMETHOD(get_ItemHeight)(THIS_ long *plItemHeight) PURE;
  1117.     STDMETHOD(put_ItemHeight)(THIS_ long lItemHeight) PURE;
  1118.  
  1119.     STDMETHOD(get_Sorted)(THIS_ BOOL *pfSorted) PURE;
  1120.     STDMETHOD(put_Sorted)(THIS_ BOOL fSorted) PURE;
  1121.  
  1122.     STDMETHOD(get_SortOrder)(THIS_ BOOL *pfAscending) PURE;
  1123.     STDMETHOD(put_SortOrder)(THIS_ BOOL fAscending) PURE;
  1124.  
  1125.     STDMETHOD(get_CenteredFocus)(THIS_ BOOL *pfCenteredFocus) PURE;
  1126.     STDMETHOD(put_CenteredFocus)(THIS_ BOOL fCenteredFocus) PURE;
  1127.  
  1128.     STDMETHOD(get_ItemBorder)(THIS_ BOOL *pfItemBorder) PURE;
  1129.     STDMETHOD(put_ItemBorder)(THIS_ BOOL fItemBorder) PURE;
  1130.  
  1131.     STDMETHOD(get_Alignment)(THIS_ short *pwAlign) PURE;
  1132.     STDMETHOD(put_Alignment)(THIS_ short wAlign) PURE;
  1133.  
  1134.     STDMETHOD(get_HiliteFont)(THIS_ IFontDisp **ppFontDisp) PURE;
  1135.     STDMETHOD(put_HiliteFont)(THIS_ IFontDisp * pFontDisp) PURE;
  1136.  
  1137.     STDMETHOD(get_ScrollArrowsVisible)(THIS_ BOOL *pfScrollArrowsVisible) PURE;
  1138.     STDMETHOD(put_ScrollArrowsVisible)(THIS_ BOOL fScrollArrowsVisible) PURE;
  1139.  
  1140.     STDMETHOD(get_ItemCaptionColor)(THIS_ OLE_COLOR *pclrCaption) PURE;
  1141.     STDMETHOD(put_ItemCaptionColor)(THIS_ OLE_COLOR clrCaption) PURE;
  1142.  
  1143.     STDMETHOD(get_HiliteColor)(THIS_ OLE_COLOR *pclrHilite) PURE;
  1144.     STDMETHOD(put_HiliteColor)(THIS_ OLE_COLOR clrHilite) PURE;
  1145.  
  1146.     STDMETHOD(get_HiliteTextColor)(THIS_ OLE_COLOR *pclrHiliteText) PURE;
  1147.     STDMETHOD(put_HiliteTextColor)(THIS_ OLE_COLOR clrHiliteText) PURE;
  1148.  
  1149.     STDMETHOD(get_HiliteCaptionColor)(THIS_ OLE_COLOR *pclrHiliteCaption) PURE;
  1150.     STDMETHOD(put_HiliteCaptionColor)(THIS_ OLE_COLOR clrHiliteCaption) PURE;
  1151.  
  1152.     STDMETHOD(get_ItemBorderColor)(THIS_ OLE_COLOR *pclrItemBorder) PURE;
  1153.     STDMETHOD(put_ItemBorderColor)(THIS_ OLE_COLOR clrItemBorder) PURE;
  1154.  
  1155.     STDMETHOD(get_Circular)(THIS_ BOOL* pfCircular) PURE;
  1156.     STDMETHOD(put_Circular)(THIS_ BOOL fCircular) PURE;
  1157.  
  1158.     STDMETHOD(Add)(THIS_ long lItemId, long lType, IDispatch **ppdispItem) PURE;
  1159.     STDMETHOD(InsertAt)(THIS_ long lIndex, long lItemId, long lType, IDispatch **ppdispItem) PURE;
  1160.     STDMETHOD(ItemAt)(THIS_ long lIndex, IDispatch **ppdispItem) PURE;
  1161.     STDMETHOD(Item)(THIS_ long lItemId, IDispatch **ppdispItem) PURE;
  1162.     STDMETHOD(FindItem) (THIS_ BSTR bstr, long indexStart, long *plIndex) PURE;
  1163.     STDMETHOD(FindItemPartial) (THIS_ BSTR bstr, long indexStart, long *plIndex) PURE;
  1164.     STDMETHOD(put_StatusItemsImageList)(THIS_ OLE_HANDLE hImage, OLE_HANDLE hImageMask, short cImages) PURE;
  1165.     STDMETHOD(get_StatusItemsImageList)(THIS_ OLE_HANDLE *phImage, OLE_HANDLE *phImageMask, short *pcImages) PURE;
  1166.  
  1167.      STDMETHOD(put_ShowInteractionSymbols)(THIS_ BOOL fShow) PURE;
  1168.     STDMETHOD(get_ShowInteractionSymbols)(THIS_ BOOL *pfShow) PURE;
  1169.  
  1170.     STDMETHOD(CreateItem)(THIS_ IASPowerListBoxItem** ppItem, long lItemID, long lCtrlType) PURE;
  1171.  
  1172.     STDMETHOD(put_ProvideCommandDataSink)(THIS_ IASProvidePowerListBoxCommandData *pSink) PURE;
  1173.     STDMETHOD(get_ProvideCommandDataSink)(THIS_ IASProvidePowerListBoxCommandData **ppSink) PURE;
  1174.  
  1175.  
  1176.     STDMETHOD(AddItemsFromResource)(THIS_ HINSTANCE hinst, PCWSTR pszMenuName, DWORD dwMenuState) PURE;
  1177.     
  1178.      STDMETHOD(put_TitlebarUpdateMode)(THIS_ WORD wTitlebarUpdateMode) PURE;
  1179.     STDMETHOD(get_TitlebarUpdateMode)(THIS_ WORD *pwTitlebarUpdateMode) PURE;
  1180.  
  1181.     STDMETHOD(put_SpeakItemSink)(THIS_ IASPowerListSpeakItemSink *pSink) PURE;
  1182.     STDMETHOD(get_SpeakItemSink)(THIS_ IASPowerListSpeakItemSink **ppSink) PURE;
  1183.  
  1184.     
  1185. };
  1186.  
  1187. #undef  INTERFACE
  1188. #define INTERFACE
  1189.  
  1190. //
  1191. // The HTMLControl
  1192. //
  1193. DECLARE_INTERFACE_(IASHTMLControl, IASControl)
  1194. {
  1195.     STDMETHOD(get_HTML)(THIS_ BSTR *pbstrHTML) PURE;
  1196.     STDMETHOD(put_HTML)(THIS_ BSTR bstrHTML) PURE;
  1197.  
  1198.     STDMETHOD(get_Style)(THIS_ DWORD *pdwStyle) PURE;
  1199.     STDMETHOD(put_Style)(THIS_ DWORD dwStyle) PURE;
  1200.  
  1201.     STDMETHOD(get_HTMLNotifySink)(THIS_ IASHTMLControlNotifySink **pNotify) PURE;
  1202.     STDMETHOD(put_HTMLNotifySink)(THIS_ IASHTMLControlNotifySink *pNotify) PURE;
  1203.  
  1204.     // provide scrolling 
  1205.     STDMETHOD(VScroll)(THIS_ WPARAM wp) PURE;
  1206.     STDMETHOD(HScroll)(THIS_ WPARAM wp) PURE;
  1207.     STDMETHOD(JumpToAnchor)(THIS_ BSTR bstrAnchor) PURE;
  1208.     STDMETHOD(ScrollIntoView)(THIS_ DWORD dwCookie) PURE;
  1209.     STDMETHOD(get_VisibleRect)(THIS_ RECT* rcVisible) PURE;
  1210.     
  1211.     STDMETHOD(get_HighlightMode)(THIS_ long *pcMode) PURE;
  1212.     STDMETHOD(put_HighlightMode)(THIS_ long cMode) PURE;
  1213.  
  1214.     // notifications response handling
  1215.     STDMETHOD(ImageFail)(THIS_ DWORD dwCookie) PURE;
  1216.     STDMETHOD(put_Image)(THIS_ DWORD dwCookie, BOOL bOwnBitmap, long lOrigHeight, long lOrigWidth, OLE_HANDLE hBitmap) PURE;
  1217.     
  1218. };
  1219.  
  1220.  
  1221. #undef  INTERFACE
  1222. #define INTERFACE
  1223.  
  1224. //
  1225. // The HTMLControl Notify Sink
  1226. //
  1227. DECLARE_INTERFACE_(IASHTMLControlNotifySink, IDispatch)
  1228. {
  1229.     STDMETHOD(HotSpot)(THIS_ IASHTMLControl* pControl, BSTR szTarget, BSTR szData) PURE;
  1230.     STDMETHOD(InlineImage)(THIS_ IASHTMLControl* pControl, BSTR szTarget, DWORD dwCookie) PURE; 
  1231.     STDMETHOD(PlaySound)(THIS_ IASHTMLControl* pControl, BSTR szTarget, int iLoop) PURE; 
  1232.     STDMETHOD(Title)(THIS_ IASHTMLControl* pControl, BSTR szTitle) PURE; 
  1233.     STDMETHOD(Meta)(THIS_ IASHTMLControl* pControl, BSTR szHTTPEQUIV, BSTR szContent) PURE; 
  1234. };
  1235.  
  1236.  
  1237. #endif
  1238.  
  1239.