home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD152162192001.psc / mCoolMenu.bas < prev   
Encoding:
BASIC Source File  |  2001-02-21  |  30.9 KB  |  740 lines

  1. Attribute VB_Name = "mCoolMenu"
  2. '''''''''''''''''''''''''''''''''''''''''''''''''''''
  3. '''''''''''''''''''''''''''''''''''''''''''''''''''''
  4. ''  mCoolMenu Module v1.3.1
  5. ''
  6. ''  Copyright Olivier Martin 2000
  7. ''
  8. ''  martin.olivier@bigfoot.com
  9. ''
  10. ''  Code based on Paul Dilascia's work from the
  11. ''  Microsoft System Journal January 1998
  12. ''  Visit Paul's page at www.dilascia.com
  13. ''
  14. ''  This module allows an application to show
  15. ''  icons in menus just like the VB IDE and
  16. ''  MS Office applications.  The link between
  17. ''  the menus and an ImageList is the image tag.
  18. ''  The test forms show all the possibilities.
  19. ''
  20. ''  People who contributed with suggestions :
  21. ''  Herman Eldering(aka BodyCheck):
  22. ''       -Solved disabled topmenu problem
  23. ''  Pietro Cecchi : help callback
  24. ''  Kayl Magnus : separator font; sub menu help bug;
  25. ''                main bar icon bug
  26. ''  Nabil AbuSharane : Right to left property
  27. ''  Kenneth (aka Maverick) : MDI window lists bug
  28. ''
  29. '''''''''''''''''''''''''''''''''''''''''''''''''''''
  30. '''''''''''''''''''''''''''''''''''''''''''''''''''''
  31.  
  32. Option Explicit
  33.  
  34. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
  35. Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
  36. Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  37. Private Declare Function ChildWindowFromPoint Lib "user32" (ByVal hWndParent As Long, pt As POINTAPI) As Long
  38. Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long
  39. Private Declare Function CreateBrushIndirect Lib "gdi32" (lpLogBrush As LOGBRUSH) As Long
  40. Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  41. Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
  42. Private Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
  43. Private Declare Function CreateHatchBrush Lib "gdi32" (ByVal nIndex As Long, ByVal crColor As Long) As Long
  44. Private Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As Long
  45. Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
  46. Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
  47. Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  48. Private Declare Function DrawEdge Lib "user32" (ByVal hdc As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
  49. Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
  50. Private Declare Function DrawState Lib "user32" Alias "DrawStateA" (ByVal hdc As Long, ByVal hBrush As Long, ByVal lpDrawStateProc As Long, ByVal lParam As Long, ByVal wParam As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal fuFlags As Long) As Long
  51. Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
  52. Private Declare Function ExcludeClipRect Lib "gdi32" (ByVal hdc As Long, ByVal x1 As Long, ByVal Y1 As Long, ByVal x2 As Long, ByVal Y2 As Long) As Long
  53. Private Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long
  54. Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long
  55. Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
  56. Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
  57. Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
  58. Private Declare Function GetLastError Lib "kernel32" () As Long
  59. Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long
  60. Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
  61. Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
  62. Private Declare Function GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal uItem As Long, ByVal ByPosition As Long, ByRef lpMenuItemInfo As MENUITEMINFO) As Boolean
  63. Private Declare Function GetMenuItemRect Lib "user32" (ByVal hWnd As Long, ByVal hMenu As Long, ByVal uItem As Long, lprcItem As RECT) As Long
  64. Private Declare Function GetMenuState Lib "user32" (ByVal hMenu As Long, ByVal wID As Long, ByVal wFlags As Long) As Long
  65. Private Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long
  66. Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
  67. Private Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
  68. Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  69. Private Declare Function GetTextColor Lib "gdi32" (ByVal hdc As Long) As Long
  70. Private Declare Function GetTextFace Lib "gdi32" Alias "GetTextFaceA" (ByVal hdc As Long, ByVal nCount As Long, ByVal lpFacename As String) As Long
  71. Private Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" (ByVal hdc As Long, lpMetrics As TEXTMETRIC) As Long
  72. Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
  73. Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
  74. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  75. Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
  76. Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hinst As Long, ByVal lpszName As Any, ByVal uType As Long, ByVal cxDesired As Long, ByVal cyDesired As Long, ByVal fuLoad As Long) As Long
  77. Private Declare Function MenuItemFromPoint Lib "user32" (ByVal hWnd As Long, ByVal hMenu As Long, ByVal ptScreen As Double) As Long
  78. Private Declare Function MulDiv Lib "kernel32" (ByVal nNumber As Long, ByVal nNumerator As Long, ByVal nDenominator As Long) As Long
  79. Private Declare Function PatBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As Long
  80. Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  81. Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
  82. Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  83. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  84. Private Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  85. Private Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long
  86. Private Declare Function SetMenuItemInfo Lib "user32" Alias "SetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal bool As Boolean, lpcMenuItemInfo As MENUITEMINFO) As Long
  87. Private Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  88. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  89. Private Declare Function WindowFromDC Lib "user32" (ByVal hdc As Long) As Long
  90.  
  91. Private Declare Function ImageList_GetIcon Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, ByVal diIgnore As Long) As Long
  92. Private Declare Function ImageList_Draw Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, ByVal hdcDst As Long, ByVal x As Long, ByVal Y As Long, ByVal fStyle As Long) As Long
  93. Private Declare Function ImageList_GetImageInfo Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, IMAGEINFO As Any) As Long
  94.  
  95. 'Used by CreateBrushIndirect
  96. Private Type LOGBRUSH
  97.   lbStyle As Long
  98.   lbColor As Long
  99.   lbHatch As Long
  100. End Type
  101.  
  102. 'LOGBRUSH constants
  103. Private Const BS_SOLID = 0
  104. Private Const BS_NULL = 1
  105. Private Const BS_HOLLOW = BS_NULL
  106. Private Const BS_HATCHED = 2
  107. Private Const BS_PATTERN = 3
  108. Private Const BS_INDEXED = 4
  109. Private Const BS_DIBPATTERN = 5
  110. Private Const BS_DIBPATTERNPT = 6
  111. Private Const BS_PATTERN8X8 = 7
  112. Private Const BS_DIBPATTERN8X8 = 8
  113.  
  114. 'LoadImage constants
  115. Private Const IMAGE_BITMAP = 0&
  116. Private Const IMAGE_ICON = 1&
  117. Private Const IMAGE_CURSOR = 2&
  118.  
  119. 'LoadImage constants
  120. Private Const LR_DEFAULTCOLOR = &H0
  121. Private Const LR_MONOCHROME = &H1
  122. Private Const LR_COLOR = &H2
  123. Private Const LR_COPYRETURNORG = &H4
  124. Private Const LR_COPYDELETEORG = &H8
  125. Private Const LR_LOADFROMFILE = &H10
  126. Private Const LR_LOADTRANSPARENT = &H20
  127. Private Const LR_DEFAULTSIZE = &H40
  128. Private Const LR_VGACOLOR = &H80
  129. Private Const LR_LOADMAP3DCOLORS = &H1000
  130. Private Const LR_CREATEDIBSECTION = &H2000
  131. Private Const LR_COPYFROMRESOURCE = &H4000
  132. Private Const LR_SHARED = &H8000
  133.  
  134. 'LoadImage constants
  135. Private Const OBM_LFARROWI = 32734
  136. Private Const OBM_RGARROWI = 32735
  137. Private Const OBM_DNARROWI = 32736
  138. Private Const OBM_UPARROWI = 32737
  139. Private Const OBM_COMBO = 32738
  140. Private Const OBM_MNARROW = 32739
  141. Private Const OBM_LFARROWD = 32740
  142. Private Const OBM_RGARROWD = 32741
  143. Private Const OBM_DNARROWD = 32742
  144. Private Const OBM_UPARROWD = 32743
  145. Private Const OBM_RESTORED = 32744
  146. Private Const OBM_ZOOMD = 32745
  147. Private Const OBM_REDUCED = 32746
  148. Private Const OBM_RESTORE = 32747
  149. Private Const OBM_ZOOM = 32748
  150. Private Const OBM_REDUCE = 32749
  151. Private Const OBM_LFARROW = 32750
  152. Private Const OBM_RGARROW = 32751
  153. Private Const OBM_DNARROW = 32752
  154. Private Const OBM_UPARROW = 32753
  155. Private Const OBM_CLOSE = 32754
  156. Private Const OBM_OLD_RESTORE = 32755
  157. Private Const OBM_OLD_ZOOM = 32756
  158. Private Const OBM_OLD_REDUCE = 32757
  159. Private Const OBM_BTNCORNERS = 32758
  160. Private Const OBM_CHECKBOXES = 32759
  161. Private Const OBM_CHECK = 32760
  162. Private Const OBM_BTSIZE = 32761
  163. Private Const OBM_OLD_LFARROW = 32762
  164. Private Const OBM_OLD_RGARROW = 32763
  165. Private Const OBM_OLD_DNARROW = 32764
  166. Private Const OBM_OLD_UPARROW = 32765
  167. Private Const OBM_SIZE = 32766
  168. Private Const OBM_OLD_CLOSE = 32767
  169.  
  170. ' GetSystemMetrics() constants
  171. Private Const SM_CXSCREEN = 0
  172. Private Const SM_CYSCREEN = 1
  173. Private Const SM_CXVSCROLL = 2
  174. Private Const SM_CYHSCROLL = 3
  175. Private Const SM_CYCAPTION = 4
  176. Private Const SM_CXBORDER = 5
  177. Private Const SM_CYBORDER = 6
  178. Private Const SM_CXDLGFRAME = 7
  179. Private Const SM_CYDLGFRAME = 8
  180. Private Const SM_CYVTHUMB = 9
  181. Private Const SM_CXHTHUMB = 10
  182. Private Const SM_CXICON = 11
  183. Private Const SM_CYICON = 12
  184. Private Const SM_CXCURSOR = 13
  185. Private Const SM_CYCURSOR = 14
  186. Private Const SM_CYMENU = 15
  187. Private Const SM_CXFULLSCREEN = 16
  188. Private Const SM_CYFULLSCREEN = 17
  189. Private Const SM_CYKANJIWINDOW = 18
  190. Private Const SM_MOUSEPRESENT = 19
  191. Private Const SM_CYVSCROLL = 20
  192. Private Const SM_CXHSCROLL = 21
  193. Private Const SM_DEBUG = 22
  194. Private Const SM_SWAPBUTTON = 23
  195. Private Const SM_RESERVED1 = 24
  196. Private Const SM_RESERVED2 = 25
  197. Private Const SM_RESERVED3 = 26
  198. Private Const SM_RESERVED4 = 27
  199. Private Const SM_CXMIN = 28
  200. Private Const SM_CYMIN = 29
  201. Private Const SM_CXSIZE = 30
  202. Private Const SM_CYSIZE = 31
  203. Private Const SM_CXFRAME = 32
  204. Private Const SM_CYFRAME = 33
  205. Private Const SM_CXMINTRACK = 34
  206. Private Const SM_CYMINTRACK = 35
  207. Private Const SM_CXDOUBLECLK = 36
  208. Private Const SM_CYDOUBLECLK = 37
  209. Private Const SM_CXICONSPACING = 38
  210. Private Const SM_CYICONSPACING = 39
  211. Private Const SM_MENUDROPALIGNMENT = 40
  212. Private Const SM_PENWINDOWS = 41
  213. Private Const SM_DBCSENABLED = 42
  214. Private Const SM_CMOUSEBUTTONS = 43
  215.  
  216. Private Const SM_CXFIXEDFRAME = SM_CXDLGFRAME
  217. Private Const SM_CYFIXEDFRAME = SM_CYDLGFRAME
  218. Private Const SM_CXSIZEFRAME = SM_CXFRAME
  219. Private Const SM_CYSIZEFRAME = SM_CYFRAME
  220.  
  221. Private Const SM_SECURE = 44
  222. Private Const SM_CXEDGE = 45
  223. Private Const SM_CYEDGE = 46
  224. Private Const SM_CXMINSPACING = 47
  225. Private Const SM_CYMINSPACING = 48
  226. Private Const SM_CXSMICON = 49
  227. Private Const SM_CYSMICON = 50
  228. Private Const SM_CYSMCAPTION = 51
  229. Private Const SM_CXSMSIZE = 52
  230. Private Const SM_CYSMSIZE = 53
  231. Private Const SM_CXMENUSIZE = 54
  232. Private Const SM_CYMENUSIZE = 55
  233. Private Const SM_ARRANGE = 56
  234. Private Const SM_CXMINIMIZED = 57
  235. Private Const SM_CYMINIMIZED = 58
  236. Private Const SM_CXMAXTRACK = 59
  237. Private Const SM_CYMAXTRACK = 60
  238. Private Const SM_CXMAXIMIZED = 61
  239. Private Const SM_CYMAXIMIZED = 62
  240. Private Const SM_NETWORK = 63
  241. Private Const SM_CLEANBOOT = 67
  242. Private Const SM_CXDRAG = 68
  243. Private Const SM_CYDRAG = 69
  244. Private Const SM_SHOWSOUNDS = 70
  245. Private Const SM_CXMENUCHECK = 71  'Use instead of GetMenuCheckMarkDimensions()!
  246. Private Const SM_CYMENUCHECK = 72
  247. Private Const SM_SLOWMACHINE = 73
  248. Private Const SM_MIDEASTENABLED = 74
  249.  
  250. ' Return values for ExcludeClipRect
  251. Private Const NULLREGION = 1
  252. Private Const SIMPLEREGION = 2
  253. Private Const COMPLEXREGION = 3
  254.  
  255. ' Hatch constants for CreateHatchBrush
  256. Private Const HS_HORIZONTAL = 0
  257. Private Const HS_VERTICAL = 1
  258. Private Const HS_FDIAGONAL = 2
  259. Private Const HS_BDIAGONAL = 3
  260. Private Const HS_CROSS = 4
  261. Private Const HS_DIAGCROSS = 5
  262. Private Const HS_FDIAGONAL1 = 6
  263. Private Const HS_BDIAGONAL1 = 7
  264. Private Const HS_SOLID = 8
  265. Private Const HS_DENSE1 = 9
  266. Private Const HS_DENSE2 = 10
  267. Private Const HS_DENSE3 = 11
  268. Private Const HS_DENSE4 = 12
  269. Private Const HS_DENSE5 = 13
  270. Private Const HS_DENSE6 = 14
  271. Private Const HS_DENSE7 = 15
  272. Private Const HS_DENSE8 = 16
  273. Private Const HS_NOSHADE = 17
  274. Private Const HS_HALFTONE = 18
  275. Private Const HS_SOLIDCLR = 19
  276. Private Const HS_DITHEREDCLR = 20
  277. Private Const HS_SOLIDTEXTCLR = 21
  278. Private Const HS_DITHEREDTEXTCLR = 22
  279. Private Const HS_SOLIDBKCLR = 23
  280. Private Const HS_DITHEREDBKCLR = 24
  281. Private Const HS_API_MAX = 25
  282.  
  283. ' Image List draw constants
  284. Private Const ILD_NORMAL = &H0
  285. Private Const ILD_TRANSPARENT = &H1
  286. Private Const ILD_MASK = &H10
  287. Private Const ILD_IMAGE = &H20
  288.  
  289. '' Image type for DrawState
  290. Private Const DST_COMPLEX = &H0
  291. Private Const DST_TEXT = &H1
  292. Private Const DST_PREFIXTEXT = &H2
  293. Private Const DST_ICON = &H3
  294. Private Const DST_BITMAP = &H4
  295.  
  296. ' ' State type for DrawState
  297. Private Const DSS_NORMAL = &H0
  298. Private Const DSS_UNION = &H10
  299. Private Const DSS_DISABLED = &H20
  300. Private Const DSS_MONO = &H80
  301. Private Const DSS_RIGHT = &H8000
  302.  
  303. ' SysColor constants *some could be wrong in the code*
  304. Private Const COLOR_ACTIVEBORDER = 10
  305. Private Const COLOR_ACTIVECAPTION = 2
  306. Private Const COLOR_ADJ_MAX = 100
  307. Private Const COLOR_ADJ_MIN = -100
  308. Private Const COLOR_APPWORKSPACE = 12
  309. Private Const COLOR_BACKGROUND = 1
  310. Private Const COLOR_BTNFACE = 15
  311. Private Const COLOR_BTNHIGHLIGHT = 20
  312. Private Const COLOR_BTNSHADOW = 16
  313. Private Const COLOR_BTNTEXT = 18
  314. Private Const COLOR_CAPTIONTEXT = 9
  315. Private Const COLOR_GRAYTEXT = 17
  316. Private Const COLOR_HIGHLIGHT = 13
  317. Private Const COLOR_HIGHLIGHTTEXT = 14
  318. Private Const COLOR_INACTIVEBORDER = 11
  319. Private Const COLOR_INACTIVECAPTION = 3
  320. Private Const COLOR_INACTIVECAPTIONTEXT = 19
  321. Private Const COLOR_BTNDKSHADOW = 21
  322. Private Const COLOR_BTNLIGHT = 22
  323. Private Const COLOR_MENU = 4
  324. Private Const COLOR_MENUTEXT = 7
  325. Private Const COLOR_SCROLLBAR = 0
  326. Private Const COLOR_WINDOW = 5
  327. Private Const COLOR_WINDOWFRAME = 6
  328. Private Const COLOR_WINDOWTEXT = 8
  329.  
  330. ' Owner draw actions
  331. Private Const ODA_DRAWENTIRE = &H1
  332. Private Const ODA_SELECT = &H2
  333. Private Const ODA_FOCUS = &H4
  334.  
  335. ' Owner draw state
  336. Private Const ODS_SELECTED = &H1
  337. Private Const ODS_GRAYED = &H2
  338. Private Const ODS_DISABLED = &H4
  339. Private Const ODS_CHECKED = &H8
  340. Private Const ODS_FOCUS = &H10
  341. Private Const ODS_DEFAULT = &H20
  342. Private Const ODS_COMBOBOXEDIT = &H1000
  343.  
  344. 'required for font API functions
  345. Private Const LF_FACESIZE = 32
  346. Private Const SYMBOL_CHARSET = 2
  347.  
  348. Private Const LOGPIXELSY = 90
  349.  
  350. Private Const FW_NORMAL = 400
  351. Private Const FW_BOLD = 700
  352.  
  353. 'for subclassing
  354. Private Const GWL_WNDPROC = -4
  355.  
  356. 'for BitBlt
  357. Private Const NOTSRCERASE = &H1100A6
  358. Private Const NOTSRCCOPY = &H330008
  359. Private Const SRCERASE = &H440328
  360. Private Const SRCINVERT = &H660046
  361. Private Const SRCAND = &H8800C6
  362. Private Const MERGEPAINT = &HBB0226
  363. Private Const MERGECOPY = &HC000CA
  364. Private Const SRCCOPY = &HCC0020
  365. Private Const SRCPAINT = &HEE0086
  366. Private Const PATPAINT = &HFB0A09
  367.  
  368. Private Const BLACKNESS = &H42
  369. Private Const DSTINVERT = &H550009
  370. Private Const PATINVERT = &H5A0049
  371. Private Const PATCOPY = &HF00021
  372. Private Const WHITENESS = &HFF0062
  373.  
  374. Private Const MAGICROP = &HB8074A
  375.  
  376. ' Background Modes
  377. Private Const TRANSPARENT = 1
  378. Private Const OPAQUE = 2
  379.  
  380. ' DrawText constants
  381. Private Const DT_BOTTOM = &H8
  382. Private Const DT_CALCRECT = &H400
  383. Private Const DT_CENTER = &H1
  384. Private Const DT_EXPANDTABS = &H40
  385. Private Const DT_EXTERNALLEADING = &H200
  386. Private Const DT_INTERNAL = &H1000
  387. Private Const DT_LEFT = &H0
  388. Private Const DT_NOCLIP = &H100
  389. Private Const DT_NOPREFIX = &H800
  390. Private Const DT_RIGHT = &H2
  391. Private Const DT_SINGLELINE = &H20
  392. Private Const DT_TABSTOP = &H80
  393. Private Const DT_TOP = &H0
  394. Private Const DT_VCENTER = &H4
  395. Private Const DT_WORDBREAK = &H10
  396.  
  397. Private Const ODT_MENU = 1
  398.  
  399. Private Const MNC_IGNORE = 0
  400. Private Const MNC_CLOSE = 1
  401. Private Const MNC_EXECUTE = 2
  402. Private Const MNC_SELECT = 3
  403.  
  404. ' Menu Item Info Mask constants
  405. Private Const MIIM_STATE = &H1&
  406. Private Const MIIM_ID = &H2
  407. Private Const MIIM_SUBMENU = &H4
  408. Private Const MIIM_CHECKMARKS = &H8
  409. Private Const MIIM_TYPE = &H10
  410. Private Const MIIM_DATA = &H20
  411. Private Const MIIM_STRING = &H40
  412. Private Const MIIM_BITMAP = &H80
  413. Private Const MIIM_FTYPE = &H100
  414.  
  415. Private Const MF_INSERT = &H0
  416. Private Const MF_CHANGE = &H80
  417. Private Const MF_APPEND = &H100
  418. Private Const MF_DELETE = &H200
  419. Private Const MF_REMOVE = &H1000
  420.  
  421. Private Const MF_BYCOMMAND = &H0
  422. Private Const MF_BYPOSITION = &H400
  423.  
  424. Private Const MF_SEPARATOR = &H800
  425.  
  426. Private Const MF_ENABLED = &H0
  427. Private Const MF_GRAYED = &H1
  428. Private Const MF_DISABLED = &H2
  429.  
  430. Private Const MF_UNCHECKED = &H0
  431. Private Const MF_CHECKED = &H8
  432. Private Const MF_USECHECKBITMAPS = &H200
  433.  
  434. Private Const MF_STRING = &H0
  435. Private Const MF_BITMAP = &H4
  436. Private Const MF_OWNERDRAW = &H100
  437.  
  438. Private Const MF_POPUP = &H10
  439. Private Const MF_MENUBARBREAK = &H20
  440. Private Const MF_MENUBREAK = &H40
  441.  
  442. Private Const MF_UNHILITE = &H0
  443. Private Const MF_HILITE = &H80
  444.  
  445. Private Const MF_DEFAULT = &H1000
  446. Private Const MF_SYSMENU = &H2000
  447. Private Const MF_HELP = &H4000
  448. Private Const MF_RIGHTJUSTIFY = &H4000
  449.  
  450. Private Const MF_MOUSESELECT = &H8000
  451. Private Const MF_END = &H80                     ' ' Obsolete -- only used by old RES files
  452.  
  453. Private Const MFT_STRING = MF_STRING
  454. Private Const MFT_BITMAP = MF_BITMAP
  455. Private Const MFT_MENUBARBREAK = MF_MENUBARBREAK
  456. Private Const MFT_MENUBREAK = MF_MENUBREAK
  457. Private Const MFT_OWNERDRAW = MF_OWNERDRAW
  458. Private Const MFT_RADIOCHECK = &H200
  459. Private Const MFT_SEPARATOR = MF_SEPARATOR
  460. Private Const MFT_RIGHTORDER = &H2000
  461. Private Const MFT_RIGHTJUSTIFY = MF_RIGHTJUSTIFY
  462.  
  463. Private Const MFS_GRAYED = &H3
  464. Private Const MFS_DISABLED = MFS_GRAYED
  465. Private Const MFS_CHECKED = MF_CHECKED
  466. Private Const MFS_HILITE = MF_HILITE
  467. Private Const MFS_ENABLED = MF_ENABLED
  468. Private Const MFS_UNCHECKED = MF_UNCHECKED
  469. Private Const MFS_UNHILITE = MF_UNHILITE
  470. Private Const MFS_DEFAULT = MF_DEFAULT
  471. 'Private Const MFS_MASK = &H108B
  472. 'Private Const MFS_HOTTRACKDRAWN = &H10000000
  473. 'Private Const MFS_CACHEDBMP = &H20000000
  474. 'Private Const MFS_BOTTOMGAPDROP = &H40000000
  475. 'Private Const MFS_TOPGAPDROP = &H80000000
  476. 'Private Const MFS_GAPDROP = &HC0000000
  477.  
  478. ' Menu item drawing constants
  479. Private Const CXGAP = 1           ' num pixels between button and text
  480. Private Const CXTEXTMARGIN = 2    ' num pixels after hilite to start text
  481. Private Const CXBUTTONMARGIN = 2  ' num pixels wider button is than bitmap
  482. Private Const CYBUTTONMARGIN = 2  ' ditto for height
  483.  
  484. ' 3D border styles
  485. Private Const BDR_RAISEDOUTER = &H1
  486. Private Const BDR_SUNKENOUTER = &H2
  487. Private Const BDR_RAISEDINNER = &H4
  488. Private Const BDR_SUNKENINNER = &H8
  489.  
  490. Private Const BDR_OUTER = &H3
  491. Private Const BDR_INNER = &HC
  492.  
  493. Private Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER)
  494. Private Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
  495. Private Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
  496. Private Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)
  497.  
  498. ' Border flags
  499. Private Const BF_LEFT = &H1
  500. Private Const BF_TOP = &H2
  501. Private Const BF_RIGHT = &H4
  502. Private Const BF_BOTTOM = &H8
  503.  
  504. Private Const BF_TOPLEFT = (BF_TOP Or BF_LEFT)
  505. Private Const BF_TOPRIGHT = (BF_TOP Or BF_RIGHT)
  506. Private Const BF_BOTTOMLEFT = (BF_BOTTOM Or BF_LEFT)
  507. Private Const BF_BOTTOMRIGHT = (BF_BOTTOM Or BF_RIGHT)
  508. Private Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)
  509.  
  510. Private Const BF_DIAGONAL = &H10
  511.  
  512. ' For diagonal lines, the BF_RECT flags specify the end point of the
  513. ' vector bounded by the rectangle parameter.
  514. Private Const BF_DIAGONAL_ENDTOPRIGHT = (BF_DIAGONAL Or BF_TOP Or BF_RIGHT)
  515. Private Const BF_DIAGONAL_ENDTOPLEFT = (BF_DIAGONAL Or BF_TOP Or BF_LEFT)
  516. Private Const BF_DIAGONAL_ENDBOTTOMLEFT = (BF_DIAGONAL Or BF_BOTTOM Or BF_LEFT)
  517. Private Const BF_DIAGONAL_ENDBOTTOMRIGHT = (BF_DIAGONAL Or BF_BOTTOM Or BF_RIGHT)
  518.  
  519. Private Const BF_MIDDLE = &H800         ' Fill in the middle
  520. Private Const BF_SOFT = &H1000          ' For softer buttons
  521. Private Const BF_ADJUST = &H2000        ' Calculate the space left over
  522. Private Const BF_FLAT = &H4000          ' For flat rather than 3D borders
  523. Private Const BF_MONO = &H8000          ' For monochrome borders
  524.  
  525. ' Window messages
  526. Private Const WM_WINDOWPOSCHANGED = &H47
  527. Private Const WM_SYSCOLORCHANGE = &H15
  528. Private Const WM_NCMOUSEMOVE = &HA0
  529. Private Const WM_COMMAND = &H111
  530. Private Const WM_CLOSE = &H10
  531. Private Const WM_DRAWITEM = &H2B
  532. Private Const WM_GETFONT = &H31
  533. Private Const WM_MEASUREITEM = &H2C
  534. Private Const WM_NCHITTEST = &H84
  535. Private Const WM_MENUSELECT = &H11F
  536. Private Const WM_MENUCHAR = &H120
  537. Private Const WM_INITMENUPOPUP = &H117
  538. Private Const WM_ENTERMENULOOP = &H211
  539. Private Const WM_INITMENU = &H116
  540. Private Const WM_WININICHANGE = &H1A
  541. Private Const WM_SETCURSOR = &H20
  542. Private Const WM_SETTINGCHANGE = WM_WININICHANGE
  543. Private Const WM_CANCELMODE = &H1F
  544. Private Const WM_MDISETMENU = &H230
  545. Private Const WM_MDIREFRESHMENU = &H234
  546.  
  547. Private Type POINTAPI
  548.   x As Long
  549.   Y As Long
  550. End Type
  551.  
  552. Private Type RECT
  553.   Left As Long
  554.   Top As Long
  555.   Right As Long
  556.   Bottom As Long
  557. End Type
  558.  
  559. Private Type OSVERSIONINFO
  560.   dwOSVersionInfoSize As Long
  561.   dwMajorVersion As Long
  562.   dwMinorVersion As Long
  563.   dwBuildNumber As Long
  564.   dwPlatformId As Long
  565.   szCSDVersion(1 To 128) As Byte      '  Maintenance stringBoPInnmId As Long
  566.    = &H4
  567. e83tenPlatformId As Long
  568.   szCSDVersion(1 To 4*fo) As  stringBoPInnmId As Long
  569.  10
  570. PrSYSCOLORCHANGE = &H15
  571. Private Const WM_ormId As Long
  572.   szCSDVersmg&H15
  573. Pruormotext
  574. Prong
  575.   dFngBoPInnmId As Long
  576.  10
  577. 1ut WM_COMMAND = &H111
  578. Pri3
  579.  
  580. Private Const BF_IsND aAND = &H111
  581. Prib4
  582.  
  583. Pri_IsND aAND = &H111mpnst BF_IsND aAND = CARATOR
  584. Pr&H4
  585. e83tenPlatforc82.1 coPInnmId As Long
  586.  10
  587. PDM_ormId As Long
  588.   szCSLonight4 dwM_ormId As Long
  589.   szCSDVe = &HrivE82.AC84
  590. Private tforc82.1 coC
  591.  InmIdid As Long
  592.    s2C84
  593. PrivatewOD2.1pM Or BF_RIGHT)
  594. Priv
  595.   szCSLonight4 dwM_ormIdHT)
  596. Priv
  597.   szCSLonight4 d 8lrht4 dwM_ormIdHT)
  598. PriynIr bs
  599. Preld As Long
  600.    s2C84M_ormCvateT)
  601. 8IVOeUivate Type OSVERSIONIU8IVOeUivate Type OSVERSIgLbesI cDM OSVERSIO   ' Calculate the spaceNIO   ' CalculatSVErPcOrlate the spaceNIO  leniITerRaong
  602.   Y As Enrte 8ITerRaong
  603.   Y As EnrConst MFS2nrttee Typn Aonight4 d 8lrht4sI 2nrttee Typn Aonighvpn Aonight4 d 8lrht4sIFfhNLCKBITMAPS =ehDdelrht4sIFfhNLCKBIdrB =ehFfhNLCMAPS =ehDdelrhlenhDdelrht4sIFf1g
  604.   szCSLonightRSIONIU8IVOeUivate Type OSVERSIg_a&4sIFfhNLCKBIdrr= &wM_ormIdHT)
  605. Priv
  606.   szCspecify the end point of the
  607. ' vector Vate Const ri3
  608. LCKBIdrr= &wM_ormIdHT)KH20PNtformId As Long
  609.   stor Vate Const ri3
  610. i3Ovate CoUu As Enrte 8Sfeg
  611.   stor Vate Const ri3
  612. iNConsthERSIg_a&4sIFfhNLCKBIdrr=HT)u Vate Const ri3
  613. i3Ovate Cof the
  614. ' vFfhthERSIg_a&4sIFfhNLCrte 8vFfhthERSIng
  615. rsion As Long
  616.   dwBuion(1 To 4*fo) As  stringBoPInnmId As Long
  617.  10
  618. PrSYSCOcBrwM_ofo) Iaivate st As Long
  619.  10
  620. PrSYSCD stringBoPInnmId As(1 To 4*fo) As  stringWPOSCEM straion As Long
  621.   dwBursiND = &H111
  622. PM = &Hee Lib "gdi32" Alias " EBF_sa9PM =e Lib "gdi32" Alias
  623. PrSYSCD strsa9PM =e Lib "gdi32" 4e Const MIIM_BITMAP = &H8ir BF_LEFT)Ffhinst WM_YSCD strsa_RESTORE = 32747
  624. Pri
  625. Private Const WM_MENUIkter.
  626. PraHIr0INDOWFRAst4sDnst EIr0iRMSlLARROWI = 32736
  627. Private Const OBM_UPARROher than 3D borders MNH234
  628. -&H80
  629. OSCDBM_UPWndT234
  630. -&H80
  631. OSCDBM_UPWndT234
  632. -&H80
  633. O
  634. -&H8CndT23AHIr0INDOWFRAst4sDnst EILBF_R1bDBM_UPWndT234
  635. -&H80
  636. ocWCDBM_UPWndT234
  637. -1bDB6
  638. -&LCgGtlWt MF_END = &H80       
  639. -1t MFGtlWt MF_END = &H80  CndT234
  640. -&H80
  641. O
  642. -&H8CMDA0-ND = &H80  CndT234
  643. -&H80
  644. O
  645. -      
  646. -1t MFGtlWt MtWAlWturCN  
  647. -SiY-&H80
  648. OSCDBM_P
  649. -SiY-&H80
  650. OSCDBM_PSiY szCspecify the end zCSXcify the end zCSXcifY APWnwBuioxl2C hthERg_a&H40
  651. Priva = &H10al Y9 zCSXci4h0
  652. OSCDBM_P
  653. -SiY-&H80
  654. OSCDBM_PSiY szCspecify t
  655. OSCDBM_PSiY szCspecifify t
  656. OSfor_PSy t
  657. OSfor_PSy t
  658. OSfD
  659. OSfor_PSt4 dwM_ormIdHT)
  660. UPW1Eoz4xr_PSy t
  661. OSfD
  662. OSfor_PSt4 dwM_ormIdeInPW1sEnst6dbD
  663. OSfD
  664. OSfor_PStVIdeInPW1sEnst6dbD
  665. OSwOpM Or BF_RIGHT)
  666. Priv
  667.  
  668. OSWAlWturCN  
  669. -SiY-&H80b0diSWAlWturCN  
  670. -SiSCOLORCHo  Maey t
  671. OSr_PStVWace left over
  672. Private CoNnce I8ight4
  673.   szAIin the mid6ng
  674.   IWb2ADLE = &H800         ' Fill in the middle
  675. Private Const BFoVWace leo FWndT234
  676. -1bDB6sersioDacete VWacMsszCSLonight4 dwM_oDL
  677.   d H1
  678. Private ConsL2cIaong
  679.   dwBursiND =  FWndT23gin the middle
  680. Private C
  681. -SiY-&H34
  682. -&H80
  683. Oiddle
  684. 04OBM_UPsiND =  FWn_sa9PM =e LRPS6fMo&H34
  685. -&H80
  686. Oddle
  687. 04OBM_UPsiND 56oN
  688. Oddle
  689. 04OBM_UPsiND 56oN
  690. Oddle
  691. 04OBM_UPsiND 56oN
  692. Oddle
  693. 04OBM_UOOddle
  694. 04OBM_UPsiND 5
  695. jAe
  696. 04OB0
  697. Private Const HS_SOLIa4OB0Const HS_SOLIa4OB0Const HS_SOLIa4OB0Const HS_SOLIa4OB0Const HSm6oN
  698. OM2OLIa4OB0CoDtNtformId As Long M24OB0CoDtNtIateT)
  699. 8IVOeUivate Type OSVERSIONIU8IVOeUivate Type OSVERSIgLbesgPSVERSIgLbesgPSVERSIgLbe8AVOddle
  700. 04OBM_UPsiND 5aEIgLbesgtCTi
  701.   IWDBM_Ple
  702. 04OBM_UPsia6gLbe As ANDTAoM = 68
  703. Private ConaCAoM = 68
  704. Prcnst HS_SOLIa4OB0Civate CI8MRySCD strsa9PM =e Libype OSVERSIgLbesgPSVERSIgLbesgPSVERSIg20e
  705. 04OBM_UPsiND = PLbes-wSatet SM_CLEANBOOT = 67
  706. PriBNY Mt8IVRWacMsszCSLonight4 dwM_oDL
  707.  SLonight4 dwMTisff3)Aonigh dwM_o WOSVNtKTTOM Ot
  708. PEY-&H80
  709. OSCDBM_PSiRo WOSVNtKTTOMAUivJ
  710.   As ANDTAoM = 68
  711. PrivaZ2DTAoM = 68
  712. PrivaZ2DTILbeRdle
  713. 04OBM_UPsiND 56oN
  714. OdeDSM_CLEriBNY Mt84IsmIIa4OB0ConSsmIIa4OB0ConSsmIIa4OBrvPLbes-wSatnnmeATRLbeRdle
  715. 04OBM_UPsiND Lc8
  716. Priva4ddle
  717. 04OBM_UPsiND 56otT(1 To 4*fo) As  stringWPOSCEM straio8 ANDTAoM = 68
  718. PrivaZebAoM = 68
  719. Ctraio8 AN8IND Lc1dwBursLCVaMx) As  stringWPOSC3os9rmId AIND iConstAs  stringWPOTlstringWPOSC3os9rmrsa9PM =e Libype OSVBli1Y4
  720. C3odVersmg&H15
  721. PruormotOSVBlios9rmIEENC3os9rmrsa9PM =e Li) " EBF_sa9PM =ghvpn Aonight4 d" EBF_sa9PM =ghvpn AonighrR Li) "4HS_Stlftle
  722. 04OBM_UCs9rmrsa9PM =e Li) M =g)Iersc8
  723. PriCs9LSVBli1Y4
  724. C3odVersmg&SLculatSVErPcOrlate -OSVBli1Y4
  725. C3odVCEMLs  6O  dwOSVerswVersmg&SLculaB9LSVBl8
  726. P
  727. ' Dra0  6O  nal nPos As LF
  728. 3odIND iConstAs  stringWPOTlM&SLculaB9LSVBl8
  729. P
  730. 'EmRNo  stringWPOTlM&SLculaB9LSVBl8
  731. st EIb_ENDDR_RAIW0SNBPrivate Const MFS_CHECg&H15
  732. PruormotOSVBliBPrivacEPsiND 56otT(1 To 4*foNONONB9LSVBIs LRB9LSVBl8
  733. P
  734. 'EmRNo  soNONONB9LS0 ToNSIh stringWPOSC3os9rmIdSVBl8
  735. P
  736. 'EmRNo  soNeFfhNLCKBIdrEMPLEFT = (BF_TOP 
  737. -SiY-PrivatcEavRoYB9LSVBl8
  738. P
  739. 'EmRNo  soN As LonDBM_PSiY szCspecife0aVBl8
  740. P
  741. ' Dra0  soNeFnLong, ByVal nInds LRB9LSVBl8
  742. P
  743. 'EmRNo  soNONONB9LS0 ToNCaNONONB9LS0 ToNCaNONONB9LS0 ToNCat MFS_CACHEDBMP = &H20000000
  744. 'Private Const MFS_BOTTOMCD = (BDR_RAISEDOUTER gm To 4NONONBif
  745. 'EmToNCat MFS_CACHEDBMPDOUTKOCe As LF
  746. 3odIND iConthERg_a&H40
  747. Priva = &nANeFfhNLCKBIdrEMPLEFT RUM8
  748. PrivaZ2DTAoM = 680
  749. sIBUtPLEFT kCcOTca1aER gm  &nANeFfhNLCKBIdrEMPLEFT itPLEFT kCcCKBIdo7MFSFfhNLCKBIdAb7MFSFfhNLCKBIi" Ala7wTo 4*fo) srUrbNEFT kCcCKBIdo7MFF_BYCOMMAND = &H0
  750. PrrrrrrrreSGla7wTo 4*fo) srUrbNEFuNIFT kCcCKBIdo7MFF_BYCOMMA = &H8Orh srUrbNEFuNIFT kCcCKB6oN
  751. Oddle
  752. 04OBM_UOOddleIOFrR LeesI cDM OSsCACHE= (BF_TOPi0
  753. PriMong
  754. End Type
  755.  
  756. PriU8S2Tffy t
  757. OSfoHT = (BeIOIv
  758. En.LeesI cDM OSsCTe Co
  759. OM2OLIa4OB0CoDtNtforO)iFF_BYCOMMAILId AsNWCcCA4NBsgPPLEFT FT kCcCKBEiFF_BYCOMMAILId AsNWCcCA4NBsgPPLEFT FT kCcCKBEiFF_BYCOMMAIL4RJA1p FT _oqBEiFF_BYCOMMAIL4RJAd AsNfaAILId AsNWCcCA4nCcCEaVBlWCcCA4M Or BF_RIGHT)
  760. Priv
  761.  
  762. OSWEiFF_BYCOMMAIL4RJA0
  763. od3 Or BF_RIqBEibD
  764. OSwstringBRIqBEibD lBYCOMMCXSMICON = Long) As Long
  765. Privat
  766. Po OMMjCXSMICON = Long) As Long
  767. Privat
  768. Po OM=V srUrbNEFuNIFT kMMjCXSMICOes Long
  769.  1C= 8
  770. Private Const SM_CL4wkR Or BRRNo6ate Const DT_NOPRwte ClConst DT_NOPRwte ClConst DT_NOPRwte ClConst DT_NOPRwte ClConst DT_NOPRwte ClConst2.1 coPInnmId As Long
  771.  10hroLJsUsHpLIdsiNDlonst DT_NO1 10h4p_KNOPXonst DT_NBF_TOPi0
  772. mbEER Or BSMIOi n LoadImage Lib "user3BF_TOPi0
  773. mbE 10h4p_KNOPXonst 10O1 10h4p_KN4p_KNOPXonst 10O1 1l1 10h4p_KN4p_KNOPXoPPLEFT FT kCcCKBEi(VAPXonst 10O1 10h4nst 101 1l1 0h4p_K8FuVAPXonst 10O1 10h4nst 1t MF_END = &H80  CndT234
  774. -&H80T)t881 1l1 0h4p_K8FTeong
  775.  10
  776. PrSYSCOLORCHANGE = &H15
  777. Private Const WM_ormId As Long
  778.   szCSDVersmg&H15
  779. Pru 6tTuVAPXonUT)KH20PNt8NL 6tTuGmdst 10O1 10h4nst 1t MF_END = &H80  CndT234
  780. -&H80T)t881 1l1 0h4p_K8FTeong
  781.  10
  782. PrSYSCOLOR334
  783. -&HOaUAE UrbNEFuNIFT kCcCKB6oNLASCOLOR334
  784. -&HOaUAE eiND 56oN
  785. OdeDSM_CLEriBNY Mt84IsmIIa4wlate u5N s cttOWNERDRAWgCo
  786. s!0
  787. ocWor_PSy t
  788. OSfor_PSy t
  789. RsLAS_PSy t
  790. R'ocWor_PSy t
  791. OPoM = 68
  792. ut
  793. R'ocWor_PSy t
  794.  
  795. RsLAST_NOR334
  796. -&HOaUAE UrbNEFuNILAST_OR334
  797. - HS_BDIAGONAL = 3
  798. PrivaiWH(T_OR334
  799. - HS_BDR'ocWor_Pddle
  800. nst DT_NOPRwte ClConst DT_NOPRwte ClCrEDT_NOPRwte ClCoDd9PM =e Li) Dd9PM =e Li) Dd9PM io 1t MF_END = &H80  CndT234F_ENu8 Li) Dd9PM io 1t MFsH2D = &H80  Cn738
  801. Pri2g0e Libype OSVBli1Y4
  802.  foHT = (BeIOIdVC1oHT = (BeIOIdVC1oHT = 2(BeIOIdVn= (m_UPsiND 5aEIgLbesgtCTi
  803.   aUAE 4SVn=Pu8 Li) Dd9PM io 1t MFsH2D = &H80 lOPM io 1t MFsH2D = &H80 lOPM io 1t MFsH= &
  804. Pri2g0e Libype OSVBli1Y4
  805.  foHT = Dn=Pu8 Li) Dd9PM io 1t MFsH2D = &H80eNo  st1t e LibypeA3u8 Li)oH2D = &H80eNo  st1t e LibypeAACNDTAoM = 68
  806. Private Conf  st1t e LibypeAACd9P  sd2 Tó┴àsd2 Tó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒¥=½ó┴àsdeE▄vQ~í N╒~í N╒¥=½óe Lie
  807. ▓Nôφ¿/┘ààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààà■àààààààà┬$π4àààààà%dulÿ~]Üσz=à@=Pu8 Li) D7`Y≥$Arî