commctrl.bmx 65 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240
  1. Strict
  2. ' commctrl.bmx
  3. Import "user32.bmx"
  4. Import "commctrl.cpp"
  5. Const BS_PUSHBUTTON=0
  6. Const BS_DEFPUSHBUTTON=1
  7. Const BS_CHECKBOX=2
  8. Const BS_AUTOCHECKBOX=3
  9. Const BS_RADIOBUTTON=4
  10. Const BS_3STATE=5
  11. Const BS_AUTO3STATE=6
  12. Const BS_GROUPBOX=7
  13. Const BS_USERBUTTON=8
  14. Const BS_AUTORADIOBUTTON=9
  15. Const BS_PUSHBOX=10
  16. Const BS_OWNERDRAW=11
  17. Const BS_TYPEMASK=15
  18. Const BS_LEFTTEXT=$20
  19. Const BS_TEXT=0
  20. Const BS_ICON=$40
  21. Const BS_BITMAP=$80
  22. Const BS_LEFT=$100
  23. Const BS_RIGHT=$200
  24. Const BS_CENTER=$300
  25. Const BS_TOP=$400
  26. Const BS_BOTTOM=$800
  27. Const BS_VCENTER=$c00
  28. Const BS_PUSHLIKE=$1000
  29. Const BS_MULTILINE=$2000
  30. Const BS_NOTIFY=$4000
  31. Const BS_FLAT=$8000
  32. Const BS_RIGHTBUTTON=BS_LEFTTEXT
  33. Const BN_CLICKED=0
  34. Const BN_PAINT=1
  35. Const BN_HILITE=2
  36. Const BN_UNHILITE=3
  37. Const BN_DISABLE=4
  38. Const BN_DOUBLECLICKED=5
  39. Const BN_PUSHED=BN_HILITE
  40. Const BN_UNPUSHED=BN_UNHILITE
  41. Const BN_DBLCLK=BN_DOUBLECLICKED
  42. Const BN_SETFOCUS=6
  43. Const BN_KILLFOCUS=7
  44. Const BM_GETCHECK=$F0
  45. Const BM_SETCHECK=$F1
  46. Const BM_GETSTATE=$F2
  47. Const BM_SETSTATE=$F3
  48. Const BM_SETSTYLE=$F4
  49. Const BM_CLICK=$F5
  50. Const BM_GETIMAGE=$F6
  51. Const BM_SETIMAGE=$F7
  52. Const BST_UNCHECKED=0
  53. Const BST_CHECKED=1
  54. Const BST_INDETERMINATE=2
  55. Const BST_PUSHED=4
  56. Const BST_FOCUS=8
  57. Const ES_LEFT=0
  58. Const ES_CENTER=1
  59. Const ES_RIGHT=2
  60. Const ES_MULTILINE=4
  61. Const ES_UPPERCASE=8
  62. Const ES_LOWERCASE=$10
  63. Const ES_PASSWORD=$20
  64. Const ES_AUTOVSCROLL=$40
  65. Const ES_AUTOHSCROLL=$80
  66. Const ES_NOHIDESEL=$100
  67. Const ES_OEMCONVERT=$400
  68. Const ES_READONLY=$800
  69. Const ES_WANTRETURN=$1000
  70. Const ES_NUMBER=$2000
  71. Const ES_NOOLEDRAGDROP=8
  72. ' Edit Control Notification Codes
  73. Const EN_SETFOCUS=$100
  74. Const EN_KILLFOCUS=$200
  75. Const EN_CHANGE=$300
  76. Const EN_UPDATE=$400
  77. Const EN_ERRSPACE=$0500
  78. Const EN_MAXTEXT=$501
  79. Const EN_HSCROLL=$601
  80. Const EN_VSCROLL=$602
  81. Const EN_ALIGN_LTR_EC=$700
  82. Const EN_ALIGN_RTL_EC=$701
  83. ' Edit control EM_SETMARGIN parameters
  84. Const EC_LEFTMARGIN=1
  85. Const EC_RIGHTMARGIN=2
  86. Const EC_USEFONTINFO=$ffff
  87. ' wParam of EM_GET/SETIMESTATUS
  88. Const EMSIS_COMPOSITIONSTRING=1
  89. ' lParam For EMSIS_COMPOSITIONSTRING
  90. Const EIMES_GETCOMPSTRATONCE=1
  91. Const EIMES_CANCELCOMPSTRINFOCUS=2
  92. Const EIMES_COMPLETECOMPSTRKILLFOCUS=4
  93. ' EDITWORDBREAKPROC code values
  94. Const WB_LEFT=0
  95. Const WB_RIGHT=1
  96. Const WB_ISDELIMITER=2
  97. 'ComboBoxstyles
  98. Extern
  99. Function bmx_win32_COMBOBOXEXITEMW_new:Byte Ptr()
  100. Function bmx_win32_COMBOBOXEXITEMW_free(handle:Byte Ptr)
  101. Function bmx_win32_COMBOBOXEXITEMW_Setmask(handle:Byte Ptr, mask:UInt)
  102. Function bmx_win32_COMBOBOXEXITEMW_SetiItem(handle:Byte Ptr, iItem:Int Ptr)
  103. Function bmx_win32_COMBOBOXEXITEMW_SetpszText(handle:Byte Ptr, pszText:Short Ptr)
  104. Function bmx_win32_COMBOBOXEXITEMW_SetiImage(handle:Byte Ptr, iImage:Int)
  105. Function bmx_win32_COMBOBOXEXITEMW_SetiSelectedImage(handle:Byte Ptr, iSelectedImage:Int)
  106. Function bmx_win32_COMBOBOXEXITEMW_mask:UInt(handle:Byte Ptr)
  107. Function bmx_win32_COMBOBOXEXITEMW_pszText:Short Ptr(handle:Byte Ptr)
  108. End Extern
  109. Type COMBOBOXEXITEMW
  110. Field itemPtr:Byte Ptr
  111. Method New()
  112. itemPtr = bmx_win32_COMBOBOXEXITEMW_new()
  113. End Method
  114. Method Delete()
  115. Free()
  116. End Method
  117. Method Free()
  118. If itemPtr Then
  119. bmx_win32_COMBOBOXEXITEMW_free(itemPtr)
  120. itemPtr = Null
  121. End If
  122. End Method
  123. Method Setmask(mask:UInt)
  124. bmx_win32_COMBOBOXEXITEMW_Setmask(itemPtr, mask)
  125. End Method
  126. Method SetiItem(iItem:Int Ptr)
  127. bmx_win32_COMBOBOXEXITEMW_SetiItem(itemPtr, iItem)
  128. End Method
  129. Method SetpszText(pszText:Short Ptr)
  130. bmx_win32_COMBOBOXEXITEMW_SetpszText(itemPtr, pszText)
  131. End Method
  132. Method SetiImage(iImage:Int)
  133. bmx_win32_COMBOBOXEXITEMW_SetiImage(itemPtr, iImage)
  134. End Method
  135. Method SetiSelectedImage(iSelectedImage:Int)
  136. bmx_win32_COMBOBOXEXITEMW_SetiSelectedImage(itemPtr, iSelectedImage)
  137. End Method
  138. Method mask:UInt()
  139. Return bmx_win32_COMBOBOXEXITEMW_mask(itemPtr)
  140. End Method
  141. Method pszText:Short Ptr()
  142. Return bmx_win32_COMBOBOXEXITEMW_pszText(itemPtr)
  143. End Method
  144. ' Field mask
  145. ' Field iItem
  146. ' Field pszText:Short Ptr
  147. ' Field cchTextMax
  148. ' Field iImage
  149. ' Field iSelectedImage
  150. ' Field iOverlay
  151. ' Field iIndent
  152. ' Field lParam
  153. End Type
  154. Const CBS_SIMPLE=$0001
  155. Const CBS_DROPDOWN=$0002
  156. Const CBS_DROPDOWNLIST=$0003
  157. Const CBS_OWNERDRAWFIXED=$0010
  158. Const CBS_OWNERDRAWVARIABLE=$0020
  159. Const CBS_AUTOHSCROLL=$0040
  160. Const CBS_OEMCONVERT=$0080
  161. Const CBS_SORT=$0100
  162. Const CBS_HASSTRINGS=$0200
  163. Const CBS_NOINTEGRALHEIGHT=$0400
  164. Const CBS_DISABLENOSCROLL=$0800
  165. Const CBS_UPPERCASE=$2000
  166. Const CBS_LOWERCASE=$4000
  167. 'ComboBoxmessages
  168. Const CB_ERR=-1
  169. Const CB_ERRSPACE=-2
  170. Const CBN_ERRSPACE=-1
  171. Const CBN_SELCHANGE=1
  172. Const CBN_DBLCLK=2
  173. Const CBN_SETFOCUS=3
  174. Const CBN_KILLFOCUS=4
  175. Const CBN_EDITCHANGE=5
  176. Const CBN_EDITUPDATE=6
  177. Const CBN_DROPDOWN=7
  178. Const CBN_CLOSEUP=8
  179. Const CBN_SELENDOK=9
  180. Const CBN_SELENDCANCEL=10
  181. Const CB_GETEDITSEL=$0140
  182. Const CB_LIMITTEXT=$0141
  183. Const CB_SETEDITSEL=$0142
  184. Const CB_ADDSTRING=$0143
  185. Const CB_DELETESTRING=$0144
  186. Const CB_DIR=$0145
  187. Const CB_GETCOUNT=$0146
  188. Const CB_GETCURSEL=$0147
  189. Const CB_GETLBTEXT=$0148
  190. Const CB_GETLBTEXTLEN=$0149
  191. Const CB_INSERTSTRING=$014A
  192. Const CB_RESETCONTENT=$014B
  193. Const CB_FINDSTRING=$014C
  194. Const CB_SELECTSTRING=$014D
  195. Const CB_SETCURSEL=$014E
  196. Const CB_SHOWDROPDOWN=$014F
  197. Const CB_GETITEMDATA=$0150
  198. Const CB_SETITEMDATA=$0151
  199. Const CB_GETDROPPEDCONTROLRECT=$0152
  200. Const CB_SETITEMHEIGHT=$0153
  201. Const CB_GETITEMHEIGHT=$0154
  202. Const CB_SETEXTENDEDUI=$0155
  203. Const CB_GETEXTENDEDUI=$0156
  204. Const CB_GETDROPPEDSTATE=$0157
  205. Const CB_FINDSTRINGEXACT=$0158
  206. Const CB_SETLOCALE=$0159
  207. Const CB_GETLOCALE=$015A
  208. Const CB_GETTOPINDEX=$015b
  209. Const CB_SETTOPINDEX=$015c
  210. Const CB_GETHORIZONTALEXTENT=$015d
  211. Const CB_SETHORIZONTALEXTENT=$015e
  212. Const CB_GETDROPPEDWIDTH=$015f
  213. Const CB_SETDROPPEDWIDTH=$0160
  214. Const CB_INITSTORAGE=$0161
  215. Const CB_MULTIPLEADDSTRING=$0163
  216. Const CB_GETCOMBOBOXINFO=$0164
  217. Const CBEM_INSERTITEMA=WM_USER+1
  218. Const CBEM_SETIMAGELIST=WM_USER+2
  219. Const CBEM_GETIMAGELIST=WM_USER+3
  220. Const CBEM_GETITEMA=WM_USER+4
  221. Const CBEM_SETITEMA=WM_USER+5
  222. Const CBEM_DELETEITEM=CB_DELETESTRING
  223. Const CBEM_GETCOMBOCONTROL=WM_USER+6
  224. Const CBEM_GETEDITCONTROL=WM_USER+7
  225. Const CBEM_SETEXSTYLE=WM_USER+8 'use SETEXTENDEDSTYLE instead
  226. Const CBEM_GETEXSTYLE=WM_USER+9 'use GETEXTENDEDSTYLE instead
  227. Const CBEM_GETEXTENDEDSTYLE=WM_USER+9
  228. Const CBEM_HASEDITCHANGED=WM_USER+10
  229. Const CBEM_INSERTITEMW=WM_USER+11
  230. Const CBEM_SETITEMW=WM_USER+12
  231. Const CBEM_GETITEMW=WM_USER+13
  232. Const CBEM_SETEXTENDEDSTYLE=WM_USER+14 'lparam==Newstyle,wParam(optional)=mask
  233. Const CBEIF_TEXT=1
  234. Const CBEIF_IMAGE=2
  235. Const CBEIF_SELECTEDIMAGE=4
  236. Const CBEIF_OVERLAY=8
  237. Const CBEIF_INDENT=16
  238. Const CBEIF_LPARAM=32
  239. Const CBEIF_DI_SETITEM=$10000000
  240. 'Const CBEM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
  241. 'Const CBEM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
  242. 'Const CBEM_SETWINDOWTHEME=CCM_SETWINDOWTHEME
  243. ' Tab Control
  244. Extern
  245. Function bmx_win32_TCITEMW_new:Byte Ptr()
  246. Function bmx_win32_TCITEMW_free(handle:Byte Ptr)
  247. Function bmx_win32_TCITEMW_Setmask(handle:Byte Ptr, mask:UInt)
  248. Function bmx_win32_TCITEMW_SetpszText(handle:Byte Ptr, pszText:Short Ptr)
  249. Function bmx_win32_TCITEMW_SetiImage(handle:Byte Ptr, iImage:Int)
  250. Function bmx_win32_TCITEMW_pszText:Short Ptr(handle:Byte Ptr)
  251. End Extern
  252. Type TCITEMW
  253. Field itemPtr:Byte Ptr
  254. Method New()
  255. itemPtr = bmx_win32_TCITEMW_new()
  256. End Method
  257. Method Delete()
  258. Free()
  259. End Method
  260. Method Free()
  261. If itemPtr Then
  262. bmx_win32_TCITEMW_free(itemPtr)
  263. itemPtr = Null
  264. End If
  265. End Method
  266. Method Setmask(mask:UInt)
  267. bmx_win32_TCITEMW_Setmask(itemPtr, mask)
  268. End Method
  269. Method SetpszText(pszText:Short Ptr)
  270. bmx_win32_TCITEMW_SetpszText(itemPtr, pszText)
  271. End Method
  272. Method SetiImage(iImage:Int)
  273. bmx_win32_TCITEMW_SetiImage(itemPtr, iImage)
  274. End Method
  275. Method pszText:Short Ptr()
  276. Return bmx_win32_TCITEMW_pszText(itemPtr)
  277. End Method
  278. ' Field mask
  279. ' Field dwState
  280. ' Field dwStateMask
  281. ' Field pszText:Short Ptr
  282. ' Field cchTextMax
  283. ' Field iImage
  284. ' Field lParam
  285. End Type
  286. ' TabberMessages
  287. Const TCM_FIRST=$1300
  288. Const TCM_GETIMAGELIST=TCM_FIRST+2
  289. Const TCM_SETIMAGELIST=TCM_FIRST+3
  290. Const TCM_GETITEMCOUNT=TCM_FIRST+4
  291. Const TCM_GETITEMA=TCM_FIRST+5
  292. Const TCM_GETITEMW=TCM_FIRST+60
  293. Const TCM_SETITEMA=TCM_FIRST+6
  294. Const TCM_SETITEMW=TCM_FIRST+61
  295. Const TCM_INSERTITEMA=TCM_FIRST+7
  296. Const TCM_INSERTITEMW=TCM_FIRST+62
  297. Const TCM_DELETEITEM=TCM_FIRST+8
  298. Const TCM_DELETEALLITEMS=TCM_FIRST+9
  299. Const TCM_GETITEMRECT=TCM_FIRST+10
  300. Const TCM_GETCURSEL=TCM_FIRST+11
  301. Const TCM_SETCURSEL=TCM_FIRST+12
  302. Const TCM_HITTEST=TCM_FIRST+13
  303. Const TCM_SETITEMEXTRA=TCM_FIRST+14
  304. Const TCM_ADJUSTRECT=TCM_FIRST+40
  305. Const TCM_SETITEMSIZE=TCM_FIRST+41
  306. Const TCM_REMOVEIMAGE=TCM_FIRST+42
  307. Const TCM_SETPADDING=TCM_FIRST+43
  308. Const TCM_GETROWCOUNT=TCM_FIRST+44
  309. Const TCM_GETTOOLTIPS=TCM_FIRST+45
  310. Const TCM_SETTOOLTIPS=TCM_FIRST+46
  311. Const TCM_GETCURFOCUS=TCM_FIRST+47
  312. Const TCM_SETCURFOCUS=TCM_FIRST+48
  313. Const TCM_SETMINTABWIDTH=TCM_FIRST+49
  314. Const TCM_DESELECTALL=TCM_FIRST+50
  315. Const TCM_HIGHLIGHTITEM=TCM_FIRST+51
  316. Const TCM_SETEXTENDEDSTYLE=TCM_FIRST+52 'optional wParam=mask
  317. Const TCM_GETEXTENDEDSTYLE=TCM_FIRST+53
  318. 'Const TCM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
  319. 'Const TCM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
  320. Const TCHT_NOWHERE=1
  321. Const TCHT_ONITEMICON=2
  322. Const TCHT_ONITEMLABEL=4
  323. Const TCHT_ONITEM=TCHT_ONITEMICON|TCHT_ONITEMLABEL
  324. ' ListViewMessages
  325. Const LVS_ICON=$0000
  326. Const LVS_REPORT=$0001
  327. Const LVS_SMALLICON=$0002
  328. Const LVS_LIST=$0003
  329. Const LVS_TYPEMASK=$0003
  330. Const LVS_SINGLESEL=$0004
  331. Const LVS_SHOWSELALWAYS=$0008
  332. Const LVS_SORTASCENDING=$0010
  333. Const LVS_SORTDESCENDING=$0020
  334. Const LVS_SHAREIMAGELISTS=$0040
  335. Const LVS_NOLABELWRAP=$0080
  336. Const LVS_AUTOARRANGE=$0100
  337. Const LVS_EDITLABELS=$0200
  338. Const LVS_OWNERDATA=$1000
  339. Const LVS_NOSCROLL=$2000
  340. Const LVS_TYPESTYLEMASK=$fc00
  341. Const LVS_ALIGNTOP=$0000
  342. Const LVS_ALIGNLEFT=$0800
  343. Const LVS_ALIGNMASK=$0c00
  344. Const LVS_OWNERDRAWFIXED=$0400
  345. Const LVS_NOCOLUMNHEADER=$4000
  346. Const LVS_NOSORTHEADER=$8000
  347. ' TabControlMessages
  348. Const TCS_SCROLLOPPOSITE=$0001 'assumesmultilinetab
  349. Const TCS_BOTTOM=$0002
  350. Const TCS_RIGHT=$0002
  351. Const TCS_MULTISELECT=$0004 'allowmulti-Selectinbuttonmode
  352. Const TCS_FLATBUTTONS=$0008
  353. Const TCS_FORCEICONLEFT=$0010
  354. Const TCS_FORCELABELLEFT=$0020
  355. Const TCS_HOTTRACK=$0040
  356. Const TCS_VERTICAL=$0080
  357. Const TCS_TABS=$0000
  358. Const TCS_BUTTONS=$0100
  359. Const TCS_SINGLELINE=$0000
  360. Const TCS_MULTILINE=$0200
  361. Const TCS_RIGHTJUSTIFY=$0000
  362. Const TCS_FIXEDWIDTH=$0400
  363. Const TCS_RAGGEDRIGHT=$0800
  364. Const TCS_FOCUSONBUTTONDOWN=$1000
  365. Const TCS_OWNERDRAWFIXED=$2000
  366. Const TCS_TOOLTIPS=$4000
  367. Const TCS_FOCUSNEVER=$8000
  368. Const TCS_EX_FLATSEPARATORS=$00000001
  369. Const TCS_EX_REGISTERDROP=$00000002
  370. Const TCIF_TEXT=1
  371. Const TCIF_IMAGE=2
  372. Const TCIF_RTLREADING=4
  373. Const TCIF_PARAM=8
  374. Const TCIF_STATE=16
  375. 'TreeView Control
  376. Extern
  377. Function bmx_win32_TVITEMW_new:Byte Ptr()
  378. Function bmx_win32_TVITEMW_free(handle:Byte Ptr)
  379. Function bmx_win32_TVITEMW_Setmask(handle:Byte Ptr, mask:UInt)
  380. Function bmx_win32_TVITEMW_SethItem(handle:Byte Ptr, hItem:Byte Ptr)
  381. Function bmx_win32_TVITEMW_Setstate(handle:Byte Ptr, state:UInt)
  382. Function bmx_win32_TVITEMW_SetstateMask(handle:Byte Ptr, stateMask:UInt)
  383. Function bmx_win32_TVITEMW_SetpszText(handle:Byte Ptr, pszText:Short Ptr)
  384. Function bmx_win32_TVITEMW_SetcchTextMax(handle:Byte Ptr, cchTextMax:Int)
  385. Function bmx_win32_TVITEMW_SetiImage(handle:Byte Ptr, iImage:Int)
  386. Function bmx_win32_TVITEMW_SetiSelectedImage(handle:Byte Ptr, iSelectedImage:Int)
  387. Function bmx_win32_TVITEMW_SetcChildren(handle:Byte Ptr, cChildren:Int)
  388. Function bmx_win32_TVITEMW_SetlParam(handle:Byte Ptr, lp:LParam)
  389. Function bmx_win32_TVITEMW_mask:UInt(handle:Byte Ptr)
  390. Function bmx_win32_TVITEMW_hItem:Byte Ptr(handle:Byte Ptr)
  391. Function bmx_win32_TVITEMW_pszText:Short Ptr(handle:Byte Ptr)
  392. Function bmx_win32_TVITEMW_iImage:Int(handle:Byte Ptr)
  393. Function bmx_win32_TVITEMW_lParam:Byte Ptr(handle:Byte Ptr)
  394. End Extern
  395. Type TVITEMW
  396. Field itemPtr:Byte Ptr
  397. Method New()
  398. itemPtr = bmx_win32_TVITEMW_new()
  399. End Method
  400. Method Delete()
  401. Free()
  402. End Method
  403. Method Free()
  404. If itemPtr Then
  405. bmx_win32_TVITEMW_free(itemPtr)
  406. itemPtr = Null
  407. End If
  408. End Method
  409. Method Setmask(mask:UInt)
  410. bmx_win32_TVITEMW_Setmask(itemPtr, mask)
  411. End Method
  412. Method SethItem(hItem:Byte Ptr)
  413. bmx_win32_TVITEMW_SethItem(itemPtr, hItem)
  414. End Method
  415. Method Setstate(state:UInt)
  416. bmx_win32_TVITEMW_Setstate(itemPtr, state)
  417. End Method
  418. Method SetstateMask(stateMask:UInt)
  419. bmx_win32_TVITEMW_SetstateMask(itemPtr, stateMask)
  420. End Method
  421. Method SetpszText(pszText:Short Ptr)
  422. bmx_win32_TVITEMW_SetpszText(itemPtr, pszText)
  423. End Method
  424. Method SetcchTextMax(cchTextMax:Int)
  425. bmx_win32_TVITEMW_SetcchTextMax(itemPtr, cchTextMax)
  426. End Method
  427. Method SetiImage(iImage:Int)
  428. bmx_win32_TVITEMW_SetiImage(itemPtr, iImage)
  429. End Method
  430. Method SetiSelectedImage(iSelectedImage:Int)
  431. bmx_win32_TVITEMW_SetiSelectedImage(itemPtr, iSelectedImage)
  432. End Method
  433. Method SetcChildren(cChildren:Int)
  434. bmx_win32_TVITEMW_SetcChildren(itemPtr, cChildren)
  435. End Method
  436. Method SetlParam(lp:LParam)
  437. bmx_win32_TVITEMW_SetlParam(itemPtr, lp)
  438. End Method
  439. Method mask:UInt()
  440. Return bmx_win32_TVITEMW_mask(itemPtr)
  441. End Method
  442. Method hItem:Byte Ptr()
  443. Return bmx_win32_TVITEMW_hItem(itemPtr)
  444. End Method
  445. Method pszText:Short Ptr()
  446. Return bmx_win32_TVITEMW_pszText(itemPtr)
  447. End Method
  448. Method iImage:Int()
  449. Return bmx_win32_TVITEMW_iImage(itemPtr)
  450. End Method
  451. Method LParam:Byte Ptr()
  452. Return bmx_win32_TVITEMW_lParam(itemPtr)
  453. End Method
  454. ' Field mask
  455. ' Field hItem
  456. ' Field state
  457. ' Field stateMask
  458. ' Field pszText:Short Ptr
  459. ' Field cchTextMax
  460. ' Field iImage
  461. ' Field iSelectedImage
  462. ' Field cChildren
  463. ' Field lParam
  464. ' Field iIntegral
  465. End Type
  466. Extern
  467. Function bmx_win32_TVINSERTSTRUCTW_new:Byte Ptr()
  468. Function bmx_win32_TVINSERTSTRUCTW_free(handle:Byte Ptr)
  469. Function bmx_win32_TVINSERTSTRUCTW_SethParent(handle:Byte Ptr, hParent:Byte Ptr)
  470. Function bmx_win32_TVINSERTSTRUCTW_SethInsertAfter(handle:Byte Ptr, hInsertAfter:Byte Ptr)
  471. Function bmx_win32_TVINSERTSTRUCTW_Setitem_mask(handle:Byte Ptr, item_mask:UInt)
  472. Function bmx_win32_TVINSERTSTRUCTW_Setitem_hItem(handle:Byte Ptr, item_hItem:Byte Ptr)
  473. Function bmx_win32_TVINSERTSTRUCTW_Setitem_state(handle:Byte Ptr, item_state:UInt)
  474. Function bmx_win32_TVINSERTSTRUCTW_Setitem_stateMask(handle:Byte Ptr, item_stateMask:UInt)
  475. Function bmx_win32_TVINSERTSTRUCTW_Setitem_pszText(handle:Byte Ptr, item_pszText:Short Ptr)
  476. Function bmx_win32_TVINSERTSTRUCTW_Setitem_cchTextMax(handle:Byte Ptr, item_cchTextMax:Int)
  477. Function bmx_win32_TVINSERTSTRUCTW_Setitem_iImage(handle:Byte Ptr, item_iImage:Int)
  478. Function bmx_win32_TVINSERTSTRUCTW_Setitem_iSelectedImage(handle:Byte Ptr, item_iSelectedImage:Int)
  479. Function bmx_win32_TVINSERTSTRUCTW_Setitem_cChildren(handle:Byte Ptr, item_cChildren:Int)
  480. Function bmx_win32_TVINSERTSTRUCTW_Setitem_lParam(handle:Byte Ptr, item_lParam:Byte Ptr)
  481. Function bmx_win32_TVINSERTSTRUCTW_item_mask:UInt(handle:Byte Ptr)
  482. Function bmx_win32_TVINSERTSTRUCTW_item_iImage:Int(handle:Byte Ptr)
  483. Function bmx_win32_TVINSERTSTRUCTW_item_lparam:Byte Ptr(handle:Byte Ptr)
  484. Function bmx_win32_TVINSERTSTRUCTW_item_pszText:Short Ptr(handle:Byte Ptr)
  485. End Extern
  486. Type TVINSERTSTRUCTW
  487. Field structPtr:Byte Ptr
  488. Method New()
  489. structPtr = bmx_win32_TVINSERTSTRUCTW_new()
  490. End Method
  491. Method Delete()
  492. Free()
  493. End Method
  494. Method Free()
  495. If structPtr Then
  496. bmx_win32_TVINSERTSTRUCTW_free(structPtr)
  497. structPtr = Null
  498. End If
  499. End Method
  500. Method SethParent(hParent:Byte Ptr)
  501. bmx_win32_TVINSERTSTRUCTW_SethParent(structPtr, hParent)
  502. End Method
  503. Method SethInsertAfter(hInsertAfter:Byte Ptr)
  504. bmx_win32_TVINSERTSTRUCTW_SethInsertAfter(structPtr, hInsertAfter)
  505. End Method
  506. Method Setitem_mask(item_mask:UInt)
  507. bmx_win32_TVINSERTSTRUCTW_Setitem_mask(structPtr, item_mask)
  508. End Method
  509. Method Setitem_hItem(item_hItem:Byte Ptr)
  510. bmx_win32_TVINSERTSTRUCTW_Setitem_hItem(structPtr, item_hItem)
  511. End Method
  512. Method Setitem_state(item_state:UInt)
  513. bmx_win32_TVINSERTSTRUCTW_Setitem_state(structPtr, item_state)
  514. End Method
  515. Method Setitem_stateMask(item_stateMask:UInt)
  516. bmx_win32_TVINSERTSTRUCTW_Setitem_stateMask(structPtr, item_stateMask)
  517. End Method
  518. Method Setitem_pszText(item_pszText:Short Ptr)
  519. bmx_win32_TVINSERTSTRUCTW_Setitem_pszText(structPtr, item_pszText)
  520. End Method
  521. Method Setitem_cchTextMax(item_cchTextMax:Int)
  522. bmx_win32_TVINSERTSTRUCTW_Setitem_cchTextMax(structPtr, item_cchTextMax)
  523. End Method
  524. Method Setitem_iImage(item_iImage:Int)
  525. bmx_win32_TVINSERTSTRUCTW_Setitem_iImage(structPtr, item_iImage)
  526. End Method
  527. Method Setitem_iSelectedImage(item_iSelectedImage:Int)
  528. bmx_win32_TVINSERTSTRUCTW_Setitem_iSelectedImage(structPtr, item_iSelectedImage)
  529. End Method
  530. Method Setitem_cChildren(item_cChildren:Int)
  531. bmx_win32_TVINSERTSTRUCTW_Setitem_cChildren(structPtr, item_cChildren)
  532. End Method
  533. Method Setitem_lParam(item_lParam:Byte Ptr)
  534. bmx_win32_TVINSERTSTRUCTW_Setitem_lParam(structPtr, item_lParam)
  535. End Method
  536. Method item_mask:UInt()
  537. Return bmx_win32_TVINSERTSTRUCTW_item_mask(structPtr)
  538. End Method
  539. Method item_iImage:Int()
  540. Return bmx_win32_TVINSERTSTRUCTW_item_iImage(structPtr)
  541. End Method
  542. Method item_lparam:Byte Ptr()
  543. Return bmx_win32_TVINSERTSTRUCTW_item_lparam(structPtr)
  544. End Method
  545. Method item_pszText:Short Ptr()
  546. Return bmx_win32_TVINSERTSTRUCTW_item_pszText(structPtr)
  547. End Method
  548. ' Field hParent
  549. ' Field hInsertAfter
  550. ' TVITEMW
  551. ' Field item_mask
  552. ' Field item_hItem
  553. ' Field item_state
  554. ' Field item_stateMask
  555. ' Field item_pszText:Short Ptr
  556. ' Field item_cchTextMax
  557. ' Field item_iImage
  558. ' Field item_iSelectedImage
  559. ' Field item_cChildren
  560. ' Field item_lParam
  561. ' Field itemx_iIntegral
  562. End Type
  563. Const I_CHILDRENCALLBACK=-1
  564. Const TVS_HASBUTTONS=$0001
  565. Const TVS_HASLINES=$0002
  566. Const TVS_LINESATROOT=$0004
  567. Const TVS_EDITLABELS=$0008
  568. Const TVS_DISABLEDRAGDROP=$0010
  569. Const TVS_SHOWSELALWAYS=$0020
  570. Const TVS_RTLREADING=$0040
  571. Const TVS_NOTOOLTIPS=$0080
  572. Const TVS_CHECKBOXES=$0100
  573. Const TVS_TRACKSELECT=$0200
  574. Const TVS_SINGLEEXPAND=$0400
  575. Const TVS_INFOTIP=$0800
  576. Const TVS_FULLROWSELECT=$1000
  577. Const TVS_NOSCROLL=$2000
  578. Const TVS_NONEVENHEIGHT=$4000
  579. Const TVS_NOHSCROLL=$8000 'TVS_NOSCROLL overrides this
  580. Const TVIF_TEXT=$0001
  581. Const TVIF_IMAGE=$0002
  582. Const TVIF_PARAM=$0004
  583. Const TVIF_STATE=$0008
  584. Const TVIF_HANDLE=$0010
  585. Const TVIF_SELECTEDIMAGE=$0020
  586. Const TVIF_CHILDREN=$0040
  587. Const TVIF_INTEGRAL=$0080
  588. Const TVIS_SELECTED=$0002
  589. Const TVIS_CUT=$0004
  590. Const TVIS_DROPHILITED=$0008
  591. Const TVIS_BOLD=$0010
  592. Const TVIS_EXPANDED=$0020
  593. Const TVIS_EXPANDEDONCE=$0040
  594. Const TVIS_EXPANDPARTIAL=$0080
  595. Const TVIS_OVERLAYMASK=$0F00
  596. Const TVIS_STATEIMAGEMASK=$F000
  597. Const TVIS_USERMASK=$F000
  598. ' StaticControl
  599. Const SS_LEFT=$00000000
  600. Const SS_CENTER=$00000001
  601. Const SS_RIGHT=$00000002
  602. Const SS_ICON=$00000003
  603. Const SS_BLACKRECT=$00000004
  604. Const SS_GRAYRECT=$00000005
  605. Const SS_WHITERECT=$00000006
  606. Const SS_BLACKFRAME=$00000007
  607. Const SS_GRAYFRAME=$00000008
  608. Const SS_WHITEFRAME=$00000009
  609. Const SS_USERITEM=$0000000A
  610. Const SS_SIMPLE=$0000000B
  611. Const SS_LEFTNOWORDWRAP=$0000000C
  612. Const SS_OWNERDRAW=$0000000D
  613. Const SS_BITMAP=$0000000E
  614. Const SS_ENHMETAFILE=$0000000F
  615. Const SS_ETCHEDHORZ=$00000010
  616. Const SS_ETCHEDVERT=$00000011
  617. Const SS_ETCHEDFRAME=$00000012
  618. Const SS_TYPEMASK=$0000001F
  619. Const SS_REALSIZECONTROL=$00000040
  620. Const SS_NOPREFIX=$00000080 ' Don't do "&" character translation
  621. Const SS_NOTIFY=$00000100
  622. Const SS_CENTERIMAGE=$00000200
  623. Const SS_RIGHTJUST=$00000400
  624. Const SS_REALSIZEIMAGE=$00000800
  625. Const SS_SUNKEN=$00001000
  626. Const SS_EDITCONTROL=$00002000
  627. Const SS_ENDELLIPSIS=$00004000
  628. Const SS_PATHELLIPSIS=$00008000
  629. Const SS_WORDELLIPSIS=$0000C000
  630. Const SS_ELLIPSISMASK=$0000C000
  631. 'StaticControlMesages
  632. Const STM_SETICON=$0170
  633. Const STM_GETICON=$0171
  634. Const STM_SETIMAGE=$0172
  635. Const STM_GETIMAGE=$0173
  636. Const STN_CLICKED=0
  637. Const STN_DBLCLK=1
  638. Const STN_ENABLE=2
  639. Const STN_DISABLE=3
  640. Const STM_MSGMAX=$0174
  641. Const SBS_HORZ=$0000
  642. Const SBS_VERT=$0001
  643. Const SBS_TOPALIGN=$0002
  644. Const SBS_LEFTALIGN=$0002
  645. Const SBS_BOTTOMALIGN=$0004
  646. Const SBS_RIGHTALIGN=$0004
  647. Const SBS_SIZEBOXTOPLEFTALIGN=$0002
  648. Const SBS_SIZEBOXBOTTOMRIGHTALIGN=$0004
  649. Const SBS_SIZEBOX=$0008
  650. Const SBS_SIZEGRIP=$0010
  651. ' Scroll Bar
  652. Const SBM_SETPOS=$00E0'Notinwin3.1
  653. Const SBM_GETPOS=$00E1'Notinwin3.1
  654. Const SBM_SETRANGE=$00E2'Notinwin3.1
  655. Const SBM_SETRANGEREDRAW=$00E6'Notinwin3.1
  656. Const SBM_GETRANGE=$00E3'Notinwin3.1
  657. Const SBM_ENABLE_ARROWS=$00E4'Notinwin3.1
  658. Const SBM_SETSCROLLINFO=$00E9
  659. Const SBM_GETSCROLLINFO=$00EA
  660. Const SBM_GETSCROLLBARINFO=$00EB
  661. Const TRACKBAR_CLASS:String="msctls_trackbar32"
  662. Const TBS_AUTOTICKS=$0001
  663. Const TBS_VERT=$0002
  664. Const TBS_HORZ=$0000
  665. Const TBS_TOP=$0004
  666. Const TBS_BOTTOM=$0000
  667. Const TBS_LEFT=$0004
  668. Const TBS_RIGHT=$0000
  669. Const TBS_BOTH=$0008
  670. Const TBS_NOTICKS=$0010
  671. Const TBS_ENABLESELRANGE=$0020
  672. Const TBS_FIXEDLENGTH=$0040
  673. Const TBS_NOTHUMB=$0080
  674. Const TBS_TOOLTIPS=$0100
  675. Const TBS_REVERSED=$0200
  676. Const TBS_DOWNISLEFT=$0400
  677. Const TBM_GETPOS=(WM_USER)
  678. Const TBM_GETRANGEMIN=(WM_USER+1)
  679. Const TBM_GETRANGEMAX=(WM_USER+2)
  680. Const TBM_GETTIC=(WM_USER+3)
  681. Const TBM_SETTIC=(WM_USER+4)
  682. Const TBM_SETPOS=(WM_USER+5)
  683. Const TBM_SETRANGE=(WM_USER+6)
  684. Const TBM_SETRANGEMIN=(WM_USER+7)
  685. Const TBM_SETRANGEMAX=(WM_USER+8)
  686. Const TBM_CLEARTICS=(WM_USER+9)
  687. Const TBM_SETSEL=(WM_USER+10)
  688. Const TBM_SETSELSTART=(WM_USER+11)
  689. Const TBM_SETSELEND=(WM_USER+12)
  690. Const TBM_GETPTICS=(WM_USER+14)
  691. Const TBM_GETTICPOS=(WM_USER+15)
  692. Const TBM_GETNUMTICS=(WM_USER+16)
  693. Const TBM_GETSELSTART=(WM_USER+17)
  694. Const TBM_GETSELEND=(WM_USER+18)
  695. Const TBM_CLEARSEL=(WM_USER+19)
  696. Const TBM_SETTICFREQ=(WM_USER+20)
  697. Const TBM_SETPAGESIZE=(WM_USER+21)
  698. Const TBM_GETPAGESIZE=(WM_USER+22)
  699. Const TBM_SETLINESIZE=(WM_USER+23)
  700. Const TBM_GETLINESIZE=(WM_USER+24)
  701. Const TBM_GETTHUMBRECT=(WM_USER+25)
  702. Const TBM_GETCHANNELRECT=(WM_USER+26)
  703. Const TBM_SETTHUMBLENGTH=(WM_USER+27)
  704. Const TBM_GETTHUMBLENGTH=(WM_USER+28)
  705. Const TBM_SETTOOLTIPS=(WM_USER+29)
  706. Const TBM_GETTOOLTIPS=(WM_USER+30)
  707. Const TBM_SETTIPSIDE=(WM_USER+31)
  708. Const TBTS_TOP=0
  709. Const TBTS_LEFT=1
  710. Const TBTS_BOTTOM=2
  711. Const TBTS_RIGHT=3
  712. Const TBM_SETBUDDY=(WM_USER+32)
  713. Const TBM_GETBUDDY=(WM_USER+33)
  714. 'Const TBM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
  715. 'Const TBM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
  716. Const TB_LINEUP=0
  717. Const TB_LINEDOWN=1
  718. Const TB_PAGEUP=2
  719. Const TB_PAGEDOWN=3
  720. Const TB_THUMBPOSITION=4
  721. Const TB_THUMBTRACK=5
  722. Const TB_TOP=6
  723. Const TB_BOTTOM=7
  724. Const TB_ENDTRACK=8
  725. Const TBCD_TICS=$0001
  726. Const TBCD_THUMB=$0002
  727. Const TBCD_CHANNEL=$0003
  728. Const UD_MAXVAL=$7fff
  729. Const UD_MINVAL=(-UD_MAXVAL)
  730. Const UDS_WRAP=$0001
  731. Const UDS_SETBUDDYINT=$0002
  732. Const UDS_ALIGNRIGHT=$0004
  733. Const UDS_ALIGNLEFT=$0008
  734. Const UDS_AUTOBUDDY=$0010
  735. Const UDS_ARROWKEYS=$0020
  736. Const UDS_HORZ=$0040
  737. Const UDS_NOTHOUSANDS=$0080
  738. Const UDS_HOTTRACK=$0100
  739. Const UDM_SETRANGE=(WM_USER+101)
  740. Const UDM_GETRANGE=(WM_USER+102)
  741. Const UDM_SETPOS=(WM_USER+103)
  742. Const UDM_GETPOS=(WM_USER+104)
  743. Const UDM_SETBUDDY=(WM_USER+105)
  744. Const UDM_GETBUDDY=(WM_USER+106)
  745. Const UDM_SETACCEL=(WM_USER+107)
  746. Const UDM_GETACCEL=(WM_USER+108)
  747. Const UDM_SETBASE=(WM_USER+109)
  748. Const UDM_GETBASE=(WM_USER+110)
  749. Const UDM_SETRANGE32=(WM_USER+111)
  750. Const UDM_GETRANGE32=(WM_USER+112)
  751. 'Const UDM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
  752. 'Const UDM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
  753. Const UDM_SETPOS32=(WM_USER+113)
  754. Const UDM_GETPOS32=(WM_USER+114)
  755. Const ESB_ENABLE_BOTH=0
  756. Const ESB_DISABLE_BOTH=3
  757. Const ESB_DISABLE_LEFT=1
  758. Const ESB_DISABLE_RIGHT=2
  759. Const ESB_DISABLE_UP=1
  760. Const ESB_DISABLE_DOWN=2
  761. Const ESB_DISABLE_LTUP=ESB_DISABLE_LEFT
  762. Const ESB_DISABLE_RTDN=ESB_DISABLE_RIGHT
  763. ' ProgressBar
  764. Const PBS_SMOOTH=01
  765. Const PBS_VERTICAL=4
  766. Const PBM_SETRANGE=(WM_USER+1)
  767. Const PBM_SETPOS=(WM_USER+2)
  768. Const PBM_DELTAPOS=(WM_USER+3)
  769. Const PBM_SETSTEP=(WM_USER+4)
  770. Const PBM_STEPIT=(WM_USER+5)
  771. Const PBM_SETRANGE32=(WM_USER+6)
  772. Const PBM_GETRANGE=(WM_USER+7)
  773. Const PBM_GETPOS=(WM_USER+8)
  774. Const PBM_SETBARCOLOR=(WM_USER+9)
  775. 'Const PBM_SETBKCOLOR=CCM_SETBKCOLOR
  776. Const PBS_MARQUEE=8
  777. Const PBM_SETMARQUEE=(WM_USER+10)
  778. Const IDOK=1
  779. Const IDCANCEL=2
  780. Const IDABORT=3
  781. Const IDRETRY=4
  782. Const IDIGNORE=5
  783. Const IDYES=6
  784. Const IDNO=7
  785. Const IDCLOSE=8
  786. Const IDHELP=9
  787. Const IDTRYAGAIN=10
  788. Const IDCONTINUE=11
  789. Const IDTIMEOUT=32000
  790. Const ICC_LISTVIEW_CLASSES=1 ' listview, header
  791. Const ICC_TREEVIEW_CLASSES=2 ' treeview, tooltips
  792. Const ICC_BAR_CLASSES=4 ' toolbar, statusbar, trackbar, tooltips
  793. Const ICC_TAB_CLASSES=8 ' tab, tooltips
  794. Const ICC_UPDOWN_CLASS=$10 ' updown
  795. Const ICC_PROGRESS_CLASS=$20 ' progress
  796. Const ICC_HOTKEY_CLASS=$40 ' hotkey
  797. Const ICC_ANIMATE_CLASS=$80 ' animate
  798. Const ICC_WIN95_CLASSES=$ff
  799. Const ICC_DATE_CLASSES=$100 ' month picker, date picker, time picker, updown
  800. Const ICC_USEREX_CLASSES=$200 ' comboex
  801. Const ICC_COOL_CLASSES=$400 ' rebar (coolbar) control
  802. Const ICC_INTERNET_CLASSES=$800
  803. Const ICC_PAGESCROLLER_CLASS=$1000 ' page scroller
  804. Const ICC_NATIVEFNTCTL_CLASS=$2000 ' native font control
  805. Const ICC_STANDARD_CLASSES=$4000
  806. Const ICC_LINK_CLASS=$8000
  807. Extern
  808. Function bmx_win32_TINITCOMMONCONTROLSEX_new:Byte Ptr()
  809. Function bmx_win32_TINITCOMMONCONTROLSEX_free(handle:Byte Ptr)
  810. Function bmx_win32_TINITCOMMONCONTROLSEX_SetdwICC(handle:Byte Ptr, dwICC:Int)
  811. End Extern
  812. Type TINITCOMMONCONTROLSEX
  813. Field controlPtr:Byte Ptr
  814. Method New()
  815. controlPtr = bmx_win32_TINITCOMMONCONTROLSEX_new()
  816. End Method
  817. Method Delete()
  818. Free()
  819. End Method
  820. Method Free()
  821. If controlPtr Then
  822. bmx_win32_TINITCOMMONCONTROLSEX_free(controlPtr)
  823. controlPtr = Null
  824. End If
  825. End Method
  826. Method SetdwICC(dwICC:Int)
  827. bmx_win32_TINITCOMMONCONTROLSEX_SetdwICC(controlPtr, dwICC)
  828. End Method
  829. 'Field dwSize
  830. 'Field dwICC
  831. End Type
  832. ' TreeView messages
  833. Const TVI_ROOT:Size_T=$FFFF0000
  834. Const TVI_FIRST:Size_T=$FFFF0001
  835. Const TVI_LAST:Size_T=$FFFF0002
  836. Const TVI_SORT:Size_T=$FFFF0003
  837. Const TV_FIRST=$1100
  838. Const TVM_INSERTITEMA=TV_FIRST+0
  839. Const TVM_INSERTITEMW=TV_FIRST+50
  840. Const TVM_DELETEITEM=TV_FIRST+1
  841. Const TVM_EXPAND=TV_FIRST+2
  842. Const TVE_COLLAPSE=$0001
  843. Const TVE_EXPAND=$0002
  844. Const TVE_TOGGLE=$0003
  845. Const TVE_EXPANDPARTIAL=$4000
  846. Const TVE_COLLAPSERESET=$8000
  847. Const TVM_GETITEMRECT=TV_FIRST+4
  848. Const TVM_GETCOUNT=TV_FIRST+5
  849. Const TVM_GETINDENT=TV_FIRST+6
  850. Const TVM_SETINDENT=TV_FIRST+7
  851. Const TVM_GETIMAGELIST=TV_FIRST+8
  852. Const TVSIL_NORMAL=0
  853. Const TVSIL_STATE=2
  854. Const TVM_SETIMAGELIST=TV_FIRST+9
  855. Const TVM_GETNEXTITEM=TV_FIRST+10
  856. Const TVGN_ROOT=$0000
  857. Const TVGN_NEXT=$0001
  858. Const TVGN_PREVIOUS=$0002
  859. Const TVGN_PARENT=$0003
  860. Const TVGN_CHILD=$0004
  861. Const TVGN_FIRSTVISIBLE=$0005
  862. Const TVGN_NEXTVISIBLE=$0006
  863. Const TVGN_PREVIOUSVISIBLE=$0007
  864. Const TVGN_DROPHILITE=$0008
  865. Const TVGN_CARET=$0009
  866. Const TVGN_LASTVISIBLE=$000A
  867. Const TVSI_NOSINGLEEXPAND=$8000 ' Should Not conflict with TVGN flags.
  868. Const TVM_SELECTITEM=TV_FIRST+11
  869. Const TVM_GETITEMA=TV_FIRST+12
  870. Const TVM_GETITEMW=TV_FIRST+62
  871. Const TVM_SETITEMA=TV_FIRST+13
  872. Const TVM_SETITEMW=TV_FIRST+63
  873. Const TVM_EDITLABELA=TV_FIRST+14
  874. Const TVM_EDITLABELW=TV_FIRST+65
  875. Const TVM_GETEDITCONTROL=TV_FIRST+15
  876. Const TVM_GETVISIBLECOUNT=TV_FIRST+16
  877. Const TVM_HITTEST=TV_FIRST+17
  878. Const TVHT_NOWHERE=$0001
  879. Const TVHT_ONITEMICON=$0002
  880. Const TVHT_ONITEMLABEL=$0004
  881. Const TVHT_ONITEMINDENT=$0008
  882. Const TVHT_ONITEMBUTTON=$0010
  883. Const TVHT_ONITEMRIGHT=$0020
  884. Const TVHT_ONITEMSTATEICON=$0040
  885. Const TVHT_ONITEM=TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON
  886. Const TVHT_ABOVE=$0100
  887. Const TVHT_BELOW=$0200
  888. Const TVHT_TORIGHT=$0400
  889. Const TVHT_TOLEFT=$0800
  890. Const TVM_CREATEDRAGIMAGE=TV_FIRST+18
  891. Const TVM_SORTCHILDREN=TV_FIRST+19
  892. Const TVM_ENSUREVISIBLE=TV_FIRST+20
  893. Const TVM_SORTCHILDRENCB=TV_FIRST+21
  894. Const TVM_ENDEDITLABELNOW=TV_FIRST+22
  895. Const TVM_GETISEARCHSTRINGA=TV_FIRST+23
  896. Const TVM_GETISEARCHSTRINGW=TV_FIRST+64
  897. Const TVM_SETTOOLTIPS=TV_FIRST+24
  898. Const TVM_GETTOOLTIPS=TV_FIRST+25
  899. Const TVM_SETINSERTMARK=TV_FIRST+26
  900. Const TVM_SETITEMHEIGHT=TV_FIRST+27
  901. Const TVM_GETITEMHEIGHT=TV_FIRST+28
  902. Const TVM_SETBKCOLOR=TV_FIRST+29
  903. Const TVM_SETTEXTCOLOR=TV_FIRST+30
  904. Const TVM_GETBKCOLOR=TV_FIRST+31
  905. Const TVM_GETTEXTCOLOR=TV_FIRST+32
  906. Const TVM_SETSCROLLTIME=TV_FIRST+33
  907. Const TVM_GETSCROLLTIME=TV_FIRST+34
  908. Const TVM_SETINSERTMARKCOLOR=TV_FIRST+37
  909. Extern
  910. Function bmx_win32_TOOLINFOW_new:Byte Ptr()
  911. Function bmx_win32_TOOLINFOW_free(handle:Byte Ptr)
  912. Function bmx_win32_TOOLINFOW_SetuFlags(handle:Byte Ptr, uFlags:UInt)
  913. Function bmx_win32_TOOLINFOW_Sethwnd(handle:Byte Ptr, hwnd:Byte Ptr)
  914. Function bmx_win32_TOOLINFOW_SetuId(handle:Byte Ptr, uId:Byte Ptr)
  915. Function bmx_win32_TOOLINFOW_Sethinst(handle:Byte Ptr, hinst:Byte Ptr)
  916. Function bmx_win32_TOOLINFOW_SetlpszText(handle:Byte Ptr, lpszText:Short Ptr)
  917. Function bmx_win32_TOOLINFOW_rect:Int Ptr(handle:Byte Ptr)
  918. Function bmx_win32_TOOLINFOW_lpszText:Short Ptr(handle:Byte Ptr)
  919. End Extern
  920. Type TOOLINFOW
  921. Field infoPtr:Byte Ptr
  922. Method New()
  923. infoPtr = bmx_win32_TOOLINFOW_new()
  924. End Method
  925. Method Delete()
  926. Free()
  927. End Method
  928. Method Free()
  929. If infoPtr Then
  930. bmx_win32_TOOLINFOW_free(infoPtr)
  931. infoPtr = Null
  932. End If
  933. End Method
  934. Method SetuFlags(uFlags:UInt)
  935. bmx_win32_TOOLINFOW_SetuFlags(infoPtr, uFlags)
  936. End Method
  937. Method Sethwnd(hwnd:Byte Ptr)
  938. bmx_win32_TOOLINFOW_Sethwnd(infoPtr, hwnd)
  939. End Method
  940. Method SetuId(uId:Byte Ptr)
  941. bmx_win32_TOOLINFOW_SetuId(infoPtr, uId)
  942. End Method
  943. Method Sethinst(hinst:Byte Ptr)
  944. bmx_win32_TOOLINFOW_Sethinst(infoPtr, hinst)
  945. End Method
  946. Method SetlpszText(lpszText:Short Ptr)
  947. bmx_win32_TOOLINFOW_SetlpszText(infoPtr, lpszText)
  948. End Method
  949. Method rect:Int Ptr()
  950. Return bmx_win32_TOOLINFOW_rect(infoPtr)
  951. End Method
  952. Method lpszText:Short Ptr()
  953. Return bmx_win32_TOOLINFOW_lpszText(infoPtr)
  954. End Method
  955. ' Field cbSize
  956. ' Field uFlags
  957. ' Field hwnd
  958. ' Field uId
  959. ' Field rect_left,rect_top,rect_right,rect_bottom
  960. ' Field hinst
  961. ' Field lpszText:Short Ptr
  962. ' Field lParam
  963. End Type
  964. Const TTM_ACTIVATE=WM_USER+1
  965. Const TTM_SETDELAYTIME=WM_USER+3
  966. Const TTM_ADDTOOLA=WM_USER+4
  967. Const TTM_ADDTOOLW=WM_USER+50
  968. Const TTM_DELTOOLA=WM_USER+5
  969. Const TTM_DELTOOLW=WM_USER+51
  970. Const TTM_NEWTOOLRECTA=WM_USER+6
  971. Const TTM_NEWTOOLRECTW=WM_USER+52
  972. Const TTM_RELAYEVENT=WM_USER+7
  973. Const TTM_GETTOOLINFOA=WM_USER+8
  974. Const TTM_GETTOOLINFOW=WM_USER+53
  975. Const TTM_SETTOOLINFOA=WM_USER+9
  976. Const TTM_SETTOOLINFOW=WM_USER+54
  977. Const TTM_HITTESTA=WM_USER +10
  978. Const TTM_HITTESTW=WM_USER +55
  979. Const TTM_GETTEXTA=WM_USER +11
  980. Const TTM_GETTEXTW=WM_USER +56
  981. Const TTM_UPDATETIPTEXTA=WM_USER +12
  982. Const TTM_UPDATETIPTEXTW=WM_USER +57
  983. Const TTM_GETTOOLCOUNT=WM_USER +13
  984. Const TTM_ENUMTOOLSA=WM_USER +14
  985. Const TTM_ENUMTOOLSW=WM_USER +58
  986. Const TTM_GETCURRENTTOOLA =WM_USER+15
  987. Const TTM_GETCURRENTTOOLW =WM_USER+59
  988. Const TTM_WINDOWFROMPOINT =WM_USER+16
  989. Const TTM_TRACKACTIVATE =WM_USER+17' wParam = True/False start Endlparam = LPTOOLINFO
  990. Const TTM_TRACKPOSITION =WM_USER+18' lParam = dwPos
  991. Const TTM_SETTIPBKCOLOR =WM_USER+19
  992. Const TTM_SETTIPTEXTCOLOR =WM_USER+20
  993. Const TTM_GETDELAYTIME=WM_USER+21
  994. Const TTM_GETTIPBKCOLOR =WM_USER+22
  995. Const TTM_GETTIPTEXTCOLOR =WM_USER+23
  996. Const TTM_SETMAXTIPWIDTH=WM_USER+24
  997. Const TTM_GETMAXTIPWIDTH=WM_USER+25
  998. Const TTM_SETMARGIN =WM_USER+26' lParam = lprc
  999. Const TTM_GETMARGIN =WM_USER+27' lParam = lprc
  1000. Const TTM_POP =WM_USER+28
  1001. Const TTM_UPDATE=WM_USER+29
  1002. Const TTM_GETBUBBLESIZE =WM_USER+30
  1003. Const TTM_ADJUSTRECT=WM_USER+31
  1004. Const TTM_SETTITLEA =WM_USER+32' wParam = TTI_*, lParam = char* szTitle
  1005. Const TTM_SETTITLEW =WM_USER+33' wParam = TTI_*, lParam = wchar* szTitle
  1006. Const TTM_POPUP =WM_USER+34
  1007. Const TTM_GETTITLE=WM_USER+35 ' wParam = 0, lParam = TTGETTITLE*
  1008. Const TTF_IDISHWND=1
  1009. Const TTF_CENTERTIP=2
  1010. Const TTF_RTLREADING=4
  1011. Const TTF_SUBCLASS=$10
  1012. Const TTF_TRACK=$20
  1013. Const TTF_ABSOLUTE=$80
  1014. Const TTF_TRANSPARENT=$100
  1015. Const TTF_PARSELINKS=$1000
  1016. Const TTF_DI_SETITEM=$8000
  1017. Const NM_FIRST=0
  1018. Const NM_OUTOFMEMORY=NM_FIRST-1
  1019. Const NM_CLICK=NM_FIRST-2' uses NMCLICK struct
  1020. Const NM_DBLCLK =NM_FIRST-3
  1021. Const NM_RETURN =NM_FIRST-4
  1022. Const NM_RCLICK =NM_FIRST-5' uses NMCLICK struct
  1023. Const NM_RDBLCLK=NM_FIRST-6
  1024. Const NM_SETFOCUS =NM_FIRST-7
  1025. Const NM_KILLFOCUS=NM_FIRST-8
  1026. Const NM_CUSTOMDRAW =NM_FIRST-12
  1027. Const NM_HOVER=NM_FIRST-13
  1028. Const NM_NCHITTEST=NM_FIRST-14 ' uses NMMOUSE struct
  1029. Const NM_KEYDOWN=NM_FIRST-15 ' uses NMKEY struct
  1030. Const NM_RELEASEDCAPTURE=NM_FIRST-16
  1031. Const NM_SETCURSOR=NM_FIRST-17 ' uses NMMOUSE struct
  1032. Const NM_CHAR =NM_FIRST-18 ' uses NMCHAR struct
  1033. Const NM_TOOLTIPSCREATED=NM_FIRST-19 ' Notify of when the tooltips window is create
  1034. Const NM_LDOWN=NM_FIRST-20
  1035. Const NM_RDOWN=NM_FIRST-21
  1036. Const NM_THEMECHANGED =NM_FIRST-22
  1037. Const TVN_FIRST=-400
  1038. Const TVN_SELCHANGINGA=TVN_FIRST-1
  1039. Const TVN_SELCHANGINGW=TVN_FIRST-50
  1040. Const TVN_SELCHANGEDA=TVN_FIRST-2
  1041. Const TVN_SELCHANGEDW=TVN_FIRST-51
  1042. Const TVC_UNKNOWN=0
  1043. Const TVC_BYMOUSE=1
  1044. Const TVC_BYKEYBOARD=2
  1045. Const TVN_GETDISPINFOA=TVN_FIRST-3
  1046. Const TVN_GETDISPINFOW=TVN_FIRST-52
  1047. Const TVN_SETDISPINFOA=TVN_FIRST-4
  1048. Const TVN_SETDISPINFOW=TVN_FIRST-53
  1049. Const TVIF_DI_SETITEM=$1000
  1050. Const TVN_ITEMEXPANDINGA=TVN_FIRST-5
  1051. Const TVN_ITEMEXPANDINGW=TVN_FIRST-54
  1052. Const TVN_ITEMEXPANDEDA=TVN_FIRST-6
  1053. Const TVN_ITEMEXPANDEDW=TVN_FIRST-55
  1054. Const TVN_BEGINDRAGA=TVN_FIRST-7
  1055. Const TVN_BEGINDRAGW=TVN_FIRST-56
  1056. Const TVN_BEGINRDRAGA=TVN_FIRST-8
  1057. Const TVN_BEGINRDRAGW=TVN_FIRST-57
  1058. Const TVN_DELETEITEMA=TVN_FIRST-9
  1059. Const TVN_DELETEITEMW=TVN_FIRST-58
  1060. Const TVN_BEGINLABELEDITA=TVN_FIRST-10
  1061. Const TVN_BEGINLABELEDITW=TVN_FIRST-59
  1062. Const TVN_ENDLABELEDITA=TVN_FIRST-11
  1063. Const TVN_ENDLABELEDITW=TVN_FIRST-60
  1064. Const TVN_KEYDOWN=TVN_FIRST-12
  1065. Const TVN_GETINFOTIPA =TVN_FIRST-13
  1066. Const TVN_GETINFOTIPW =TVN_FIRST-14
  1067. Const TVN_SINGLEEXPAND=TVN_FIRST-15
  1068. Const TVNRET_DEFAULT=0
  1069. Const TVNRET_SKIPOLD=1
  1070. Const TVNRET_SKIPNEW=2
  1071. ' tab control
  1072. Const TCN_FIRST=-550
  1073. Const TCN_SELCHANGE =(TCN_FIRST - 1)
  1074. Const TCN_SELCHANGING =(TCN_FIRST - 2)
  1075. Const TCN_GETOBJECT =(TCN_FIRST - 3)
  1076. Const TCN_FOCUSCHANGE =(TCN_FIRST - 4)
  1077. ' toolbar control
  1078. Const TBSTATE_CHECKED=$01
  1079. Const TBSTATE_PRESSED=$02
  1080. Const TBSTATE_ENABLED=$04
  1081. Const TBSTATE_HIDDEN=$08
  1082. Const TBSTATE_INDETERMINATE=$10
  1083. Const TBSTATE_WRAP=$20
  1084. Const TBSTATE_ELLIPSES=$40
  1085. Const TBSTATE_MARKED=$80
  1086. Const TBSTYLE_BUTTON=$0000
  1087. Const TBSTYLE_SEP=$0001
  1088. Const TBSTYLE_CHECK=$0002
  1089. Const TBSTYLE_GROUP=$0004
  1090. Const TBSTYLE_CHECKGROUP=(TBSTYLE_GROUP | TBSTYLE_CHECK)
  1091. Const TBSTYLE_DROPDOWN=$0008
  1092. Const TBSTYLE_AUTOSIZE=$0010
  1093. Const TBSTYLE_NOPREFIX=$0020
  1094. Const TBSTYLE_TOOLTIPS=$0100
  1095. Const TBSTYLE_WRAPABLE=$0200
  1096. Const TBSTYLE_ALTDRAG=$0400
  1097. Const TBSTYLE_FLAT=$0800
  1098. Const TBSTYLE_LIST=$1000
  1099. Const TBSTYLE_CUSTOMERASE=$2000
  1100. Const TBSTYLE_REGISTERDROP=$4000
  1101. Const TBSTYLE_TRANSPARENT=$8000
  1102. Const TBSTYLE_EX_DRAWDDARROWS=$00000001
  1103. Extern
  1104. Function bmx_win32_TBBUTTON_new:Byte Ptr()
  1105. Function bmx_win32_TBBUTTON_free(handle:Byte Ptr)
  1106. Function bmx_win32_TBBUTTON_SetiBitmap(handle:Byte Ptr, iBitmap:Int)
  1107. Function bmx_win32_TBBUTTON_SetidCommand(handle:Byte Ptr, idCommand:Int)
  1108. Function bmx_win32_TBBUTTON_SetfsState(handle:Byte Ptr, fsState:Int)
  1109. Function bmx_win32_TBBUTTON_SetfsStyle(handle:Byte Ptr, fsStyle:Int)
  1110. End Extern
  1111. Type TBBUTTON
  1112. Field buttonPtr:Byte Ptr
  1113. Method New()
  1114. buttonPtr = bmx_win32_TBBUTTON_new()
  1115. End Method
  1116. Method Delete()
  1117. Free()
  1118. End Method
  1119. Method Free()
  1120. If buttonPtr Then
  1121. bmx_win32_TBBUTTON_free(buttonPtr)
  1122. buttonPtr = Null
  1123. End If
  1124. End Method
  1125. Method SetiBitmap(iBitmap:Int)
  1126. bmx_win32_TBBUTTON_SetiBitmap(buttonPtr, iBitmap)
  1127. End Method
  1128. Method SetidCommand(idCommand:Int)
  1129. bmx_win32_TBBUTTON_SetidCommand(buttonPtr, idCommand)
  1130. End Method
  1131. Method SetfsState(fsState:Int)
  1132. bmx_win32_TBBUTTON_SetfsState(buttonPtr, fsState)
  1133. End Method
  1134. Method SetfsStyle(fsStyle:Int)
  1135. bmx_win32_TBBUTTON_SetfsStyle(buttonPtr, fsStyle)
  1136. End Method
  1137. ' Field iBitmap
  1138. ' Field idCommand;
  1139. ' Field fsState:Byte
  1140. ' Field fsStyle:Byte
  1141. ' Field pad0:Byte
  1142. ' Field pad1:Byte
  1143. ' Field dwData:Byte Ptr
  1144. ' Field iString:Byte Ptr
  1145. End Type
  1146. Const BTNS_BUTTON =TBSTYLE_BUTTON ' =$0000
  1147. Const BTNS_SEP =TBSTYLE_SEP ' =$0001
  1148. Const BTNS_CHECK =TBSTYLE_CHECK ' =$0002
  1149. Const BTNS_GROUP =TBSTYLE_GROUP ' =$0004
  1150. Const BTNS_CHECKGROUP =TBSTYLE_CHECKGROUP ' (TBSTYLE_GROUP | TBSTYLE_CHECK)
  1151. Const BTNS_DROPDOWN =TBSTYLE_DROPDOWN ' =$0008
  1152. Const BTNS_AUTOSIZE =TBSTYLE_AUTOSIZE ' =$0010; automatically calculate the cx of the button
  1153. Const BTNS_NOPREFIX =TBSTYLE_NOPREFIX ' =$0020; this button should Not have accel prefix
  1154. Const BTNS_SHOWTEXT =$0040 ' ignored unless TBSTYLE_EX_MIXEDBUTTONS is set
  1155. Const BTNS_WHOLEDROPDOWN =$0080 ' draw drop-down arrow, but without split arrow section
  1156. Const TBSTYLE_EX_MIXEDBUTTONS =$00000008
  1157. Const TBSTYLE_EX_HIDECLIPPEDBUTTONS =$00000010 ' don't show partially obscured buttons
  1158. Const TBSTYLE_EX_DOUBLEBUFFER =$00000080 ' Double Buffer the toolbar
  1159. ' Toolbar custom draw Return flags
  1160. Const TBCDRF_NOEDGES =$00010000 ' Don't draw button edges
  1161. Const TBCDRF_HILITEHOTTRACK =$00020000 ' Use color of the button bk when hottracked
  1162. Const TBCDRF_NOOFFSET =$00040000 ' Don't offset button if pressed
  1163. Const TBCDRF_NOMARK =$00080000 ' Don't draw default highlight of image/text for TBSTATE_MARKED
  1164. Const TBCDRF_NOETCHEDEFFECT =$00100000 ' Don't draw etched effect for disabled items
  1165. Const TBCDRF_BLENDICON =$00200000 ' Use ILD_BLEND50 on the icon image
  1166. Const TBCDRF_NOBACKGROUND =$00400000 ' Use ILD_BLEND50 on the icon image
  1167. Const TB_ENABLEBUTTON =(WM_USER + 1)
  1168. Const TB_CHECKBUTTON =(WM_USER + 2)
  1169. Const TB_PRESSBUTTON =(WM_USER + 3)
  1170. Const TB_HIDEBUTTON =(WM_USER + 4)
  1171. Const TB_INDETERMINATE =(WM_USER + 5)
  1172. Const TB_MARKBUTTON =(WM_USER + 6)
  1173. Const TB_ISBUTTONENABLED =(WM_USER + 9)
  1174. Const TB_ISBUTTONCHECKED =(WM_USER + 10)
  1175. Const TB_ISBUTTONPRESSED =(WM_USER + 11)
  1176. Const TB_ISBUTTONHIDDEN =(WM_USER + 12)
  1177. Const TB_ISBUTTONINDETERMINATE=(WM_USER + 13)
  1178. Const TB_ISBUTTONHIGHLIGHTED =(WM_USER + 14)
  1179. Const TB_SETSTATE =(WM_USER + 17)
  1180. Const TB_GETSTATE =(WM_USER + 18)
  1181. Const TB_ADDBITMAP =(WM_USER + 19)
  1182. Const HINST_COMMCTRL =-1
  1183. Const IDB_STD_SMALL_COLOR =0
  1184. Const IDB_STD_LARGE_COLOR =1
  1185. Const IDB_VIEW_SMALL_COLOR =4
  1186. Const IDB_VIEW_LARGE_COLOR =5
  1187. Const IDB_HIST_SMALL_COLOR =8
  1188. Const IDB_HIST_LARGE_COLOR =9
  1189. Const STD_CUT =0
  1190. Const STD_COPY =1
  1191. Const STD_PASTE =2
  1192. Const STD_UNDO =3
  1193. Const STD_REDOW =4
  1194. Const STD_DELETE =5
  1195. Const STD_FILENEW =6
  1196. Const STD_FILEOPEN =7
  1197. Const STD_FILESAVE =8
  1198. Const STD_PRINTPRE =9
  1199. Const STD_PROPERTIES =10
  1200. Const STD_HELP =11
  1201. Const STD_FIND =12
  1202. Const STD_REPLACE =13
  1203. Const STD_PRINT =14
  1204. Const VIEW_LARGEICONS =0
  1205. Const VIEW_SMALLICONS =1
  1206. Const VIEW_LIST =2
  1207. Const VIEW_DETAILS =3
  1208. Const VIEW_SORTNAME =4
  1209. Const VIEW_SORTSIZE =5
  1210. Const VIEW_SORTDATE =6
  1211. Const VIEW_SORTTYPE =7
  1212. Const VIEW_PARENTFOLDER =8
  1213. Const VIEW_NETCONNECT =9
  1214. Const VIEW_NETDISCONNECT =10
  1215. Const VIEW_NEWFOLDER =11
  1216. Const VIEW_VIEWMENU =12
  1217. Const HIST_BACK =0
  1218. Const HIST_FORWARD =1
  1219. Const HIST_FAVORITES =2
  1220. Const HIST_ADDTOFAVORITES =3
  1221. Const HIST_VIEWTREE =4
  1222. Const TB_ADDBUTTONS =(WM_USER + 20)
  1223. Const TB_INSERTBUTTON =(WM_USER + 21)
  1224. Const TB_DELETEBUTTON =(WM_USER + 22)
  1225. Const TB_GETBUTTON =(WM_USER + 23)
  1226. Const TB_BUTTONCOUNT =(WM_USER + 24)
  1227. Const TB_COMMANDTOINDEX =(WM_USER + 25)
  1228. Const TB_SAVERESTOREA =(WM_USER + 26)
  1229. Const TB_SAVERESTOREW =(WM_USER + 76)
  1230. Const TB_CUSTOMIZE =(WM_USER + 27)
  1231. Const TB_ADDSTRINGA =(WM_USER + 28)
  1232. Const TB_ADDSTRINGW =(WM_USER + 77)
  1233. Const TB_GETITEMRECT =(WM_USER + 29)
  1234. Const TB_BUTTONSTRUCTSIZE =(WM_USER + 30)
  1235. Const TB_SETBUTTONSIZE =(WM_USER + 31)
  1236. Const TB_SETBITMAPSIZE =(WM_USER + 32)
  1237. Const TB_AUTOSIZE =(WM_USER + 33)
  1238. Const TB_GETTOOLTIPS =(WM_USER + 35)
  1239. Const TB_SETTOOLTIPS =(WM_USER + 36)
  1240. Const TB_SETPARENT =(WM_USER + 37)
  1241. Const TB_SETROWS =(WM_USER + 39)
  1242. Const TB_GETROWS =(WM_USER + 40)
  1243. Const TB_SETCMDID =(WM_USER + 42)
  1244. Const TB_CHANGEBITMAP =(WM_USER + 43)
  1245. Const TB_GETBITMAP =(WM_USER + 44)
  1246. Const TB_GETBUTTONTEXTA =(WM_USER + 45)
  1247. Const TB_GETBUTTONTEXTW =(WM_USER + 75)
  1248. Const TB_REPLACEBITMAP =(WM_USER + 46)
  1249. Const TB_SETINDENT =(WM_USER + 47)
  1250. Const TB_SETIMAGELIST =(WM_USER + 48)
  1251. Const TB_GETIMAGELIST =(WM_USER + 49)
  1252. Const TB_LOADIMAGES =(WM_USER + 50)
  1253. Const TB_GETRECT =(WM_USER + 51) ' wParam is the Cmd instead of index
  1254. Const TB_SETHOTIMAGELIST =(WM_USER + 52)
  1255. Const TB_GETHOTIMAGELIST =(WM_USER + 53)
  1256. Const TB_SETDISABLEDIMAGELIST =(WM_USER + 54)
  1257. Const TB_GETDISABLEDIMAGELIST =(WM_USER + 55)
  1258. Const TB_SETSTYLE =(WM_USER + 56)
  1259. Const TB_GETSTYLE =(WM_USER + 57)
  1260. Const TB_GETBUTTONSIZE =(WM_USER + 58)
  1261. Const TB_SETBUTTONWIDTH =(WM_USER + 59)
  1262. Const TB_SETMAXTEXTROWS =(WM_USER + 60)
  1263. Const TB_GETTEXTROWS =(WM_USER + 61)
  1264. Const TB_GETOBJECT =(WM_USER + 62) ' wParam == IID, lParam void **ppv
  1265. Const TB_GETHOTITEM =(WM_USER + 71)
  1266. Const TB_SETHOTITEM =(WM_USER + 72) ' wParam == iHotItem
  1267. Const TB_SETANCHORHIGHLIGHT =(WM_USER + 73) ' wParam == True/False
  1268. Const TB_GETANCHORHIGHLIGHT =(WM_USER + 74)
  1269. Const TB_MAPACCELERATORA =(WM_USER + 78) ' wParam == ch, lParam Int * pidBtn
  1270. Const TBIMHT_AFTER =1 ' True = insert After iButton, otherwise before
  1271. Const TBIMHT_BACKGROUND =2 ' True iff missed buttons completely
  1272. Const TB_GETINSERTMARK =(WM_USER + 79) ' lParam == LPTBINSERTMARK
  1273. Const TB_SETINSERTMARK =(WM_USER + 80) ' lParam == LPTBINSERTMARK
  1274. Const TB_INSERTMARKHITTEST =(WM_USER + 81) ' wParam == LPPOINT lParam == LPTBINSERTMARK
  1275. Const TB_MOVEBUTTON =(WM_USER + 82)
  1276. Const TB_GETMAXSIZE =(WM_USER + 83) ' lParam == LPSIZE
  1277. Const TB_SETEXTENDEDSTYLE =(WM_USER + 84) ' For TBSTYLE_EX_*
  1278. Const TB_GETEXTENDEDSTYLE =(WM_USER + 85) ' For TBSTYLE_EX_*
  1279. Const TB_GETPADDING =(WM_USER + 86)
  1280. Const TB_SETPADDING =(WM_USER + 87)
  1281. Const TB_SETINSERTMARKCOLOR =(WM_USER + 88)
  1282. Const TB_GETINSERTMARKCOLOR =(WM_USER + 89)
  1283. 'Const TB_SETCOLORSCHEME =CCM_SETCOLORSCHEME ' lParam is color scheme
  1284. 'Const TB_GETCOLORSCHEME =CCM_GETCOLORSCHEME ' fills in COLORSCHEME pointed To by lParam
  1285. 'Const TB_SETUNICODEFORMAT =CCM_SETUNICODEFORMAT
  1286. 'Const TB_GETUNICODEFORMAT =CCM_GETUNICODEFORMAT
  1287. Const TB_MAPACCELERATORW =(WM_USER + 90) ' wParam == ch, lParam Int * pidBtn
  1288. ' imagelist
  1289. Const ILC_MASK=$0001
  1290. Const ILC_COLOR=$0000
  1291. Const ILC_COLORDDB=$00FE
  1292. Const ILC_COLOR4=$0004
  1293. Const ILC_COLOR8=$0008
  1294. Const ILC_COLOR16=$0010
  1295. Const ILC_COLOR24=$0018
  1296. Const ILC_COLOR32=$0020
  1297. Const ILC_PALETTE=$0800
  1298. Const ILC_MIRROR=$2000
  1299. Const ILC_PERITEMMIRROR=$8000
  1300. ' font
  1301. Const SIMULATED_FONTTYPE =$8000
  1302. Const PRINTER_FONTTYPE =$4000
  1303. Const SCREEN_FONTTYPE =$2000
  1304. Const BOLD_FONTTYPE =$0100
  1305. Const ITALIC_FONTTYPE =$0200
  1306. Const REGULAR_FONTTYPE =$0400
  1307. Const CCM_FIRST=$2000 ' Common control shared messages
  1308. Const CCM_SETBKCOLOR=(CCM_FIRST + 1) ' lParam is bkColor
  1309. Type COLORSCHEME
  1310. Field dwSize
  1311. Field clrBtnHighlight
  1312. Field clrBtnShadow
  1313. End Type
  1314. Const CCM_SETCOLORSCHEME =(CCM_FIRST + 2) ' lParam is color scheme
  1315. Const CCM_GETCOLORSCHEME =(CCM_FIRST + 3) ' fills in COLORSCHEME pointed To by lParam
  1316. Const CCM_GETDROPTARGET =(CCM_FIRST + 4)
  1317. Const CCM_SETUNICODEFORMAT =(CCM_FIRST + 5)
  1318. Const CCM_GETUNICODEFORMAT =(CCM_FIRST + 6)
  1319. Const CCM_SETVERSION =(CCM_FIRST + 7)
  1320. Const CCM_GETVERSION =(CCM_FIRST + 8)
  1321. Const CCM_SETNOTIFYWINDOW =(CCM_FIRST + 9) ' wParam == hwndParent.
  1322. Const CCM_SETWINDOWTHEME =(CCM_FIRST + 11)
  1323. Const CCM_DPISCALE =(CCM_FIRST + 12) ' wParam == Awareness
  1324. ' listview
  1325. Const LVM_FIRST =$1000 ' ListView messages
  1326. 'Const LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
  1327. 'Const LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
  1328. Const LVM_GETBKCOLOR =(LVM_FIRST + 0)
  1329. Const LVM_SETBKCOLOR =(LVM_FIRST + 1)
  1330. Const LVM_GETIMAGELIST =(LVM_FIRST + 2)
  1331. Const LVSIL_NORMAL =0
  1332. Const LVSIL_SMALL =1
  1333. Const LVSIL_STATE =2
  1334. Const LVM_SETIMAGELIST =(LVM_FIRST + 3)
  1335. Const LVM_GETITEMCOUNT =(LVM_FIRST + 4)
  1336. Const LVIF_TEXT =$0001
  1337. Const LVIF_IMAGE =$0002
  1338. Const LVIF_PARAM =$0004
  1339. Const LVIF_STATE =$0008
  1340. Const LVIF_INDENT =$0010
  1341. Const LVIF_NORECOMPUTE =$0800
  1342. Const LVIF_GROUPID =$0100
  1343. Const LVIF_COLUMNS =$0200
  1344. Const LVIS_FOCUSED =$0001
  1345. Const LVIS_SELECTED =$0002
  1346. Const LVIS_CUT =$0004
  1347. Const LVIS_DROPHILITED =$0008
  1348. Const LVIS_GLOW =$0010
  1349. Const LVIS_ACTIVATING =$0020
  1350. Const LVIS_OVERLAYMASK =$0F00
  1351. Const LVIS_STATEIMAGEMASK =$F000
  1352. Extern
  1353. Function bmx_win32_LVITEMW_new:Byte Ptr()
  1354. Function bmx_win32_LVITEMW_free(handle:Byte Ptr)
  1355. Function bmx_win32_LVITEMW_Setmask(handle:Byte Ptr, mask:UInt)
  1356. Function bmx_win32_LVITEMW_SetiItem(handle:Byte Ptr, iItem:Int)
  1357. Function bmx_win32_LVITEMW_Setstate(handle:Byte Ptr, state:UInt)
  1358. Function bmx_win32_LVITEMW_SetstateMask(handle:Byte Ptr, stateMask:UInt)
  1359. Function bmx_win32_LVITEMW_SetpszText(handle:Byte Ptr, pszText:Short Ptr)
  1360. Function bmx_win32_LVITEMW_SetiImage(handle:Byte Ptr, iImage:Int)
  1361. Function bmx_win32_LVITEMW_mask:UInt(handle:Byte Ptr)
  1362. Function bmx_win32_LVITEMW_state:UInt(handle:Byte Ptr)
  1363. Function bmx_win32_LVITEMW_pszText:Short Ptr(handle:Byte Ptr)
  1364. End Extern
  1365. Type LVITEMW
  1366. Field itemPtr:Byte Ptr
  1367. Method New()
  1368. itemPtr = bmx_win32_LVITEMW_new()
  1369. End Method
  1370. Method Delete()
  1371. Free()
  1372. End Method
  1373. Method Free()
  1374. If itemPtr Then
  1375. bmx_win32_LVITEMW_free(itemPtr)
  1376. itemPtr = Null
  1377. End If
  1378. End Method
  1379. Method Setmask(mask:UInt)
  1380. bmx_win32_LVITEMW_Setmask(itemPtr, mask)
  1381. End Method
  1382. Method SetiItem(iItem:Int)
  1383. bmx_win32_LVITEMW_SetiItem(itemPtr, iItem)
  1384. End Method
  1385. Method Setstate(state:UInt)
  1386. bmx_win32_LVITEMW_Setstate(itemPtr, state)
  1387. End Method
  1388. Method SetstateMask(stateMask:UInt)
  1389. bmx_win32_LVITEMW_SetstateMask(itemPtr, stateMask)
  1390. End Method
  1391. Method SetpszText(pszText:Short Ptr)
  1392. bmx_win32_LVITEMW_SetpszText(itemPtr, pszText)
  1393. End Method
  1394. Method SetiImage(iImage:Int)
  1395. bmx_win32_LVITEMW_SetiImage(itemPtr, iImage)
  1396. End Method
  1397. Method mask:UInt()
  1398. Return bmx_win32_LVITEMW_mask(itemPtr)
  1399. End Method
  1400. Method state:UInt()
  1401. Return bmx_win32_LVITEMW_state(itemPtr)
  1402. End Method
  1403. Method pszText:Short Ptr()
  1404. Return bmx_win32_LVITEMW_pszText(itemPtr)
  1405. End Method
  1406. ' Field mask
  1407. ' Field iItem
  1408. ' Field iSubItem
  1409. ' Field state
  1410. ' Field stateMask
  1411. ' Field pszText:Short Ptr
  1412. ' Field cchTextMax
  1413. ' Field iImage
  1414. ' Field lParam
  1415. ' Field iIndent
  1416. ' Field iGroupId
  1417. ' Field cColumns
  1418. ' Field puColumns:Int Ptr
  1419. End Type
  1420. Const I_IMAGECALLBACK =(-1)
  1421. Const I_IMAGENONE =(-2)
  1422. Const I_COLUMNSCALLBACK =(-1)
  1423. Const LVM_GETITEMA =(LVM_FIRST + 5)
  1424. Const LVM_GETITEMW =(LVM_FIRST + 75)
  1425. Const LVM_SETITEMA =(LVM_FIRST + 6)
  1426. Const LVM_SETITEMW =(LVM_FIRST + 76)
  1427. Const LVM_INSERTITEMA =(LVM_FIRST + 7)
  1428. Const LVM_INSERTITEMW =(LVM_FIRST + 77)
  1429. Const LVM_DELETEITEM =(LVM_FIRST + 8)
  1430. Const LVM_DELETEALLITEMS =(LVM_FIRST + 9)
  1431. Const LVM_GETCALLBACKMASK =(LVM_FIRST + 10)
  1432. Const LVM_SETCALLBACKMASK =(LVM_FIRST + 11)
  1433. Const LVNI_ALL =$0000
  1434. Const LVNI_FOCUSED =$0001
  1435. Const LVNI_SELECTED =$0002
  1436. Const LVNI_CUT =$0004
  1437. Const LVNI_DROPHILITED =$0008
  1438. Const LVNI_ABOVE =$0100
  1439. Const LVNI_BELOW =$0200
  1440. Const LVNI_TOLEFT =$0400
  1441. Const LVNI_TORIGHT =$0800
  1442. Const LVM_GETNEXTITEM =(LVM_FIRST + 12)
  1443. Const LVFI_PARAM =$0001
  1444. Const LVFI_STRING =$0002
  1445. Const LVFI_PARTIAL =$0008
  1446. Const LVFI_WRAP =$0020
  1447. Const LVFI_NEARESTXY =$0040
  1448. Type FINDINFOW
  1449. Field flags
  1450. Field psz:Short Ptr
  1451. Field LParam
  1452. Field pt_x,pt_y
  1453. Field vkDirection
  1454. End Type
  1455. Const LVM_FINDITEMA =(LVM_FIRST + 13)
  1456. Const LVM_FINDITEMW =(LVM_FIRST + 83)
  1457. Const LVIR_BOUNDS =0
  1458. Const LVIR_ICON =1
  1459. Const LVIR_LABEL =2
  1460. Const LVIR_SELECTBOUNDS =3
  1461. Const LVM_GETITEMRECT =(LVM_FIRST + 14)
  1462. Const LVM_SETITEMPOSITION =(LVM_FIRST + 15)
  1463. Const LVM_GETITEMPOSITION =(LVM_FIRST + 16)
  1464. Const LVM_GETSTRINGWIDTHA =(LVM_FIRST + 17)
  1465. Const LVM_GETSTRINGWIDTHW =(LVM_FIRST + 87)
  1466. Const LVHT_NOWHERE =$0001
  1467. Const LVHT_ONITEMICON =$0002
  1468. Const LVHT_ONITEMLABEL =$0004
  1469. Const LVHT_ONITEMSTATEICON =$0008
  1470. Const LVHT_ONITEM =(LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON)
  1471. Const LVHT_ABOVE =$0008
  1472. Const LVHT_BELOW =$0010
  1473. Const LVHT_TORIGHT =$0020
  1474. Const LVHT_TOLEFT =$0040
  1475. Type LVHITTESTINFO
  1476. Field pt_x,pt_y
  1477. Field flags
  1478. Field iItem
  1479. Field iSubItem
  1480. End Type
  1481. Const LVM_HITTEST =(LVM_FIRST + 18)
  1482. Const LVM_ENSUREVISIBLE =(LVM_FIRST + 19)
  1483. Const LVM_SCROLL =(LVM_FIRST + 20)
  1484. Const LVM_REDRAWITEMS =(LVM_FIRST + 21)
  1485. Const LVA_DEFAULT =$0000
  1486. Const LVA_ALIGNLEFT =$0001
  1487. Const LVA_ALIGNTOP =$0002
  1488. Const LVA_SNAPTOGRID =$0005
  1489. Const LVM_ARRANGE =(LVM_FIRST + 22)
  1490. Const LVM_EDITLABELA =(LVM_FIRST + 23)
  1491. Const LVM_EDITLABELW =(LVM_FIRST + 118)
  1492. Const LVM_GETEDITCONTROL =(LVM_FIRST + 24)
  1493. Extern
  1494. Function bmx_win32_LVCOLUMNW_new:Byte Ptr()
  1495. Function bmx_win32_LVCOLUMNW_free(handle:Byte Ptr)
  1496. End Extern
  1497. Type LVCOLUMNW
  1498. Field colPtr:Byte Ptr
  1499. Method New()
  1500. colPtr = bmx_win32_LVCOLUMNW_new()
  1501. End Method
  1502. Method Delete()
  1503. Free()
  1504. End Method
  1505. Method Free()
  1506. If colPtr Then
  1507. bmx_win32_LVCOLUMNW_free(colPtr)
  1508. colPtr = Null
  1509. End If
  1510. End Method
  1511. ' Field mask
  1512. ' Field fmt
  1513. ' Field cx
  1514. ' Field pszText:Short Ptr
  1515. ' Field cchTextMax
  1516. ' Field iSubItem
  1517. ' Field iImage
  1518. ' Field iOrder
  1519. End Type
  1520. Const LVCF_FMT =$0001
  1521. Const LVCF_WIDTH =$0002
  1522. Const LVCF_TEXT =$0004
  1523. Const LVCF_SUBITEM =$0008
  1524. Const LVCF_IMAGE =$0010
  1525. Const LVCF_ORDER =$0020
  1526. Const LVCFMT_LEFT =$0000
  1527. Const LVCFMT_RIGHT =$0001
  1528. Const LVCFMT_CENTER =$0002
  1529. Const LVCFMT_JUSTIFYMASK =$0003
  1530. Const LVCFMT_IMAGE =$0800
  1531. Const LVCFMT_BITMAP_ON_RIGHT =$1000
  1532. Const LVCFMT_COL_HAS_IMAGES =$8000
  1533. Const LVM_GETCOLUMNA =(LVM_FIRST + 25)
  1534. Const LVM_GETCOLUMNW =(LVM_FIRST + 95)
  1535. Const LVM_SETCOLUMNA =(LVM_FIRST + 26)
  1536. Const LVM_SETCOLUMNW =(LVM_FIRST + 96)
  1537. Const LVM_INSERTCOLUMNA =(LVM_FIRST + 27)
  1538. Const LVM_INSERTCOLUMNW =(LVM_FIRST + 97)
  1539. Const LVM_DELETECOLUMN =(LVM_FIRST + 28)
  1540. Const LVM_GETCOLUMNWIDTH =(LVM_FIRST + 29)
  1541. Const LVSCW_AUTOSIZE =-1
  1542. Const LVSCW_AUTOSIZE_USEHEADER = -2
  1543. Const LVM_SETCOLUMNWIDTH =(LVM_FIRST + 30)
  1544. Const LVM_GETHEADER =(LVM_FIRST + 31)
  1545. Const LVM_CREATEDRAGIMAGE =(LVM_FIRST + 33)
  1546. Const LVM_GETVIEWRECT =(LVM_FIRST + 34)
  1547. Const LVM_GETTEXTCOLOR =(LVM_FIRST + 35)
  1548. Const LVM_SETTEXTCOLOR =(LVM_FIRST + 36)
  1549. Const LVM_GETTEXTBKCOLOR =(LVM_FIRST + 37)
  1550. Const LVM_SETTEXTBKCOLOR =(LVM_FIRST + 38)
  1551. Const LVM_GETTOPINDEX =(LVM_FIRST + 39)
  1552. Const LVM_GETCOUNTPERPAGE =(LVM_FIRST + 40)
  1553. Const LVM_GETORIGIN =(LVM_FIRST + 41)
  1554. Const LVM_UPDATE =(LVM_FIRST + 42)
  1555. Const LVM_SETITEMSTATE =(LVM_FIRST + 43)
  1556. Const LVM_GETITEMSTATE =(LVM_FIRST + 44)
  1557. Const LVM_GETITEMTEXTA =(LVM_FIRST + 45)
  1558. Const LVM_GETITEMTEXTW =(LVM_FIRST + 115)
  1559. Const LVM_SETITEMTEXTA =(LVM_FIRST + 46)
  1560. Const LVM_SETITEMTEXTW =(LVM_FIRST + 116)
  1561. ' these flags only apply To LVS_OWNERDATA listviews in report Or list mode
  1562. Const LVSICF_NOINVALIDATEALL =$0001
  1563. Const LVSICF_NOSCROLL =$0002
  1564. Const LVM_SETITEMCOUNT =(LVM_FIRST + 47)
  1565. Const LVM_SORTITEMS =(LVM_FIRST + 48)
  1566. Const LVM_SETITEMPOSITION32 =(LVM_FIRST + 49)
  1567. Const LVM_GETSELECTEDCOUNT =(LVM_FIRST + 50)
  1568. Const LVM_GETITEMSPACING =(LVM_FIRST + 51)
  1569. Const LVM_GETISEARCHSTRINGA =(LVM_FIRST + 52)
  1570. Const LVM_GETISEARCHSTRINGW =(LVM_FIRST + 117)
  1571. Const LVM_SETICONSPACING =(LVM_FIRST + 53)
  1572. Const LVM_SETEXTENDEDLISTVIEWSTYLE =(LVM_FIRST + 54) ' optional wParam == mask
  1573. Const LVM_GETEXTENDEDLISTVIEWSTYLE =(LVM_FIRST + 55)
  1574. Const LVS_EX_GRIDLINES =$0001
  1575. Const LVS_EX_SUBITEMIMAGES =$0002
  1576. Const LVS_EX_CHECKBOXES =$0004
  1577. Const LVS_EX_TRACKSELECT =$0008
  1578. Const LVS_EX_HEADERDRAGDROP =$0010
  1579. Const LVS_EX_FULLROWSELECT =$0020 ' applies To report mode only
  1580. Const LVS_EX_ONECLICKACTIVATE =$0040
  1581. Const LVS_EX_TWOCLICKACTIVATE =$0080
  1582. Const LVS_EX_FLATSB =$0100
  1583. Const LVS_EX_REGIONAL =$0200
  1584. Const LVS_EX_INFOTIP =$0400 ' listview does InfoTips For you
  1585. Const LVS_EX_UNDERLINEHOT =$0800
  1586. Const LVS_EX_UNDERLINECOLD =$1000
  1587. Const LVS_EX_MULTIWORKAREAS =$2000
  1588. Const LVS_EX_LABELTIP =$4000 ' listview unfolds partly hidden labels If it does Not have infotip text
  1589. Const LVS_EX_BORDERSELECT =$8000 ' border selection style instead of highlight
  1590. Const LVS_EX_DOUBLEBUFFER =$00010000
  1591. Const LVS_EX_HIDELABELS =$00020000
  1592. Const LVS_EX_SINGLEROW =$00040000
  1593. Const LVS_EX_SNAPTOGRID =$00080000 ' Icons automatically snap To grid.
  1594. Const LVS_EX_SIMPLESELECT =$00100000 ' Also changes overlay rendering To top Right For icon mode.
  1595. Const LVM_GETSUBITEMRECT =(LVM_FIRST + 56)
  1596. Const LVM_SUBITEMHITTEST =(LVM_FIRST + 57)
  1597. Const LVM_SETCOLUMNORDERARRAY =(LVM_FIRST + 58)
  1598. Const LVM_GETCOLUMNORDERARRAY =(LVM_FIRST + 59)
  1599. Const LVM_SETHOTITEM =(LVM_FIRST + 60)
  1600. Const LVM_GETHOTITEM =(LVM_FIRST + 61)
  1601. Const LVM_SETHOTCURSOR =(LVM_FIRST + 62)
  1602. Const LVM_GETHOTCURSOR =(LVM_FIRST + 63)
  1603. Const LVM_APPROXIMATEVIEWRECT =(LVM_FIRST + 64)
  1604. Const LV_MAX_WORKAREAS =16
  1605. Const LVM_SETWORKAREAS =(LVM_FIRST + 65)
  1606. Const LVM_GETWORKAREAS =(LVM_FIRST + 70)
  1607. Const LVM_GETNUMBEROFWORKAREAS =(LVM_FIRST + 73)
  1608. Const LVM_GETSELECTIONMARK =(LVM_FIRST + 66)
  1609. Const LVM_SETSELECTIONMARK =(LVM_FIRST + 67)
  1610. Const LVM_SETHOVERTIME =(LVM_FIRST + 71)
  1611. Const LVM_GETHOVERTIME =(LVM_FIRST + 72)
  1612. Const LVM_SETTOOLTIPS =(LVM_FIRST + 74)
  1613. Const LVM_GETTOOLTIPS =(LVM_FIRST + 78)
  1614. Const LVM_SORTITEMSEX =(LVM_FIRST + 81)
  1615. Const LVBKIF_SOURCE_NONE =$0000
  1616. Const LVBKIF_SOURCE_HBITMAP =$0001
  1617. Const LVBKIF_SOURCE_URL =$0002
  1618. Const LVBKIF_SOURCE_MASK =$0003
  1619. Const LVBKIF_STYLE_NORMAL =$0000
  1620. Const LVBKIF_STYLE_TILE =$0010
  1621. Const LVBKIF_STYLE_MASK =$0010
  1622. Const LVBKIF_FLAG_TILEOFFSET =$0100
  1623. Const LVBKIF_TYPE_WATERMARK =$10000000
  1624. Const LVM_SETBKIMAGEA =(LVM_FIRST + 68)
  1625. Const LVM_SETBKIMAGEW =(LVM_FIRST + 138)
  1626. Const LVM_GETBKIMAGEA =(LVM_FIRST + 69)
  1627. Const LVM_GETBKIMAGEW =(LVM_FIRST + 139)
  1628. Const LVM_SETSELECTEDCOLUMN =(LVM_FIRST + 140)
  1629. Const LVM_SETTILEWIDTH =(LVM_FIRST + 141)
  1630. Const LV_VIEW_ICON =$0000
  1631. Const LV_VIEW_DETAILS =$0001
  1632. Const LV_VIEW_SMALLICON =$0002
  1633. Const LV_VIEW_LIST =$0003
  1634. Const LV_VIEW_TILE =$0004
  1635. Const LV_VIEW_MAX =$0004
  1636. Const LVM_SETVIEW =(LVM_FIRST + 142)
  1637. Const LVM_GETVIEW =(LVM_FIRST + 143)
  1638. Const LVGF_NONE =$0000
  1639. Const LVGF_HEADER =$0001
  1640. Const LVGF_FOOTER =$0002
  1641. Const LVGF_STATE =$0004
  1642. Const LVGF_ALIGN =$0008
  1643. Const LVGF_GROUPID =$0010
  1644. Const LVGS_NORMAL =$0000
  1645. Const LVGS_COLLAPSED =$0001
  1646. Const LVGS_HIDDEN =$0002
  1647. Const LVGA_HEADER_LEFT =$0001
  1648. Const LVGA_HEADER_CENTER =$0002
  1649. Const LVGA_HEADER_RIGHT =$0004 ' Don't forget to validate exclusivity
  1650. Const LVGA_FOOTER_LEFT =$0008
  1651. Const LVGA_FOOTER_CENTER =$0010
  1652. Const LVGA_FOOTER_RIGHT =$0020 ' Don't forget to validate exclusivity
  1653. Const LVM_INSERTGROUP =(LVM_FIRST + 145)
  1654. Const LVM_SETGROUPINFO =(LVM_FIRST + 147)
  1655. Const LVM_GETGROUPINFO =(LVM_FIRST + 149)
  1656. Const LVM_REMOVEGROUP =(LVM_FIRST + 150)
  1657. Const LVM_MOVEGROUP =(LVM_FIRST + 151)
  1658. Const LVM_MOVEITEMTOGROUP =(LVM_FIRST + 154)
  1659. Const LVGMF_NONE =$0000
  1660. Const LVGMF_BORDERSIZE =$0001
  1661. Const LVGMF_BORDERCOLOR =$0002
  1662. Const LVGMF_TEXTCOLOR =$0004
  1663. Const LVM_SETGROUPMETRICS =(LVM_FIRST + 155)
  1664. Const LVM_GETGROUPMETRICS =(LVM_FIRST + 156)
  1665. Const LVM_ENABLEGROUPVIEW =(LVM_FIRST + 157)
  1666. Const LVM_SORTGROUPS =(LVM_FIRST + 158)
  1667. Const LVM_INSERTGROUPSORTED =(LVM_FIRST + 159)
  1668. Const LVM_REMOVEALLGROUPS =(LVM_FIRST + 160)
  1669. Const LVM_HASGROUP =(LVM_FIRST + 161)
  1670. Const LVTVIF_AUTOSIZE =$0000
  1671. Const LVTVIF_FIXEDWIDTH =$0001
  1672. Const LVTVIF_FIXEDHEIGHT =$0002
  1673. Const LVTVIF_FIXEDSIZE =$0003
  1674. Const LVTVIM_TILESIZE =$0001
  1675. Const LVTVIM_COLUMNS =$0002
  1676. Const LVTVIM_LABELMARGIN =$0004
  1677. Const LVM_SETTILEVIEWINFO =(LVM_FIRST + 162)
  1678. Const LVM_GETTILEVIEWINFO =(LVM_FIRST + 163)
  1679. Const LVM_SETTILEINFO =(LVM_FIRST + 164)
  1680. Const LVM_GETTILEINFO =(LVM_FIRST + 165)
  1681. Const LVIM_AFTER =$0001 ' True = insert After iItem, otherwise before
  1682. Const LVM_SETINSERTMARK =(LVM_FIRST + 166)
  1683. Const LVM_GETINSERTMARK =(LVM_FIRST + 167)
  1684. Const LVM_INSERTMARKHITTEST =(LVM_FIRST + 168)
  1685. Const LVM_GETINSERTMARKRECT =(LVM_FIRST + 169)
  1686. Const LVM_SETINSERTMARKCOLOR =(LVM_FIRST + 170)
  1687. Const LVM_GETINSERTMARKCOLOR =(LVM_FIRST + 171)
  1688. Const LVM_SETINFOTIP =(LVM_FIRST + 173)
  1689. Const LVM_GETSELECTEDCOLUMN =(LVM_FIRST + 174)
  1690. Const LVM_ISGROUPVIEWENABLED =(LVM_FIRST + 175)
  1691. Const LVM_GETOUTLINECOLOR =(LVM_FIRST + 176)
  1692. Const LVM_SETOUTLINECOLOR =(LVM_FIRST + 177)
  1693. Const LVM_CANCELEDITLABEL =(LVM_FIRST + 179)
  1694. Const LVM_MAPINDEXTOID =(LVM_FIRST + 180)
  1695. Const LVM_MAPIDTOINDEX =(LVM_FIRST + 181)
  1696. Const LVN_FIRST =-100
  1697. Const LVN_ITEMCHANGING =(LVN_FIRST-0)
  1698. Const LVN_ITEMCHANGED =(LVN_FIRST-1)
  1699. Const LVN_INSERTITEM =(LVN_FIRST-2)
  1700. Const LVN_DELETEITEM =(LVN_FIRST-3)
  1701. Const LVN_DELETEALLITEMS =(LVN_FIRST-4)
  1702. Const LVN_BEGINLABELEDITA =(LVN_FIRST-5)
  1703. Const LVN_BEGINLABELEDITW =(LVN_FIRST-75)
  1704. Const LVN_ENDLABELEDITA =(LVN_FIRST-6)
  1705. Const LVN_ENDLABELEDITW =(LVN_FIRST-76)
  1706. Const LVN_COLUMNCLICK =(LVN_FIRST-8)
  1707. Const LVN_BEGINDRAG =(LVN_FIRST-9)
  1708. Const LVN_BEGINRDRAG =(LVN_FIRST-11)
  1709. Const LVN_ODCACHEHINT =(LVN_FIRST-13)
  1710. Const LVN_ODFINDITEMA =(LVN_FIRST-52)
  1711. Const LVN_ODFINDITEMW =(LVN_FIRST-79)
  1712. Const LVN_ITEMACTIVATE =(LVN_FIRST-14)
  1713. Const LVN_ODSTATECHANGED =(LVN_FIRST-15)
  1714. Const LVN_HOTTRACK =(LVN_FIRST-21)
  1715. Const LVN_GETDISPINFOA =(LVN_FIRST-50)
  1716. Const LVN_GETDISPINFOW =(LVN_FIRST-77)
  1717. Const LVN_SETDISPINFOA =(LVN_FIRST-51)
  1718. Const LVN_SETDISPINFOW =(LVN_FIRST-78)
  1719. Const LVIF_DI_SETITEM =$1000
  1720. Const LVN_KEYDOWN =(LVN_FIRST-55)
  1721. Const LVN_MARQUEEBEGIN =(LVN_FIRST-56)
  1722. Const LVN_GETINFOTIPA =(LVN_FIRST-57)
  1723. Const LVN_GETINFOTIPW =(LVN_FIRST-58)
  1724. Const LVN_BEGINSCROLL =(LVN_FIRST-80)
  1725. Const LVN_ENDSCROLL =(LVN_FIRST-81)
  1726. Const CMB_MASKED =$02
  1727. Extern "Win32"
  1728. Function ImageList_Create:Byte Ptr(cx,cy,flags:UInt,cInitial,cGrow)="HIMAGELIST __stdcall ImageList_Create(int ,int ,UINT ,int ,int )!"
  1729. Function ImageList_AddMasked(himl:Byte Ptr,hbmImage:Byte Ptr,crMask:Byte Ptr)="int __stdcall ImageList_AddMasked(HIMAGELIST ,HBITMAP ,COLORREF )!"
  1730. Function ImageList_Add(himl:Byte Ptr,hbmImage:Byte Ptr,crMask:Byte Ptr)="int __stdcall ImageList_Add(HIMAGELIST ,HBITMAP ,HBITMAP )!"
  1731. Function ImageList_Destroy( hImageList:Byte Ptr )="WINBOOL __stdcall ImageList_Destroy(HIMAGELIST )!"
  1732. Function ImageList_GetImageCount( hImageList:Byte Ptr )="int __stdcall ImageList_GetImageCount(HIMAGELIST )!"
  1733. End Extern
  1734. Extern
  1735. Function bmx_win32_BUTTON_IMAGELIST_new:Byte Ptr()
  1736. Function bmx_win32_BUTTON_IMAGELIST_free(handle:Byte Ptr)
  1737. Function bmx_win32_BUTTON_IMAGELIST_Sethiml(handle:Byte Ptr, himl:Byte Ptr)
  1738. Function bmx_win32_BUTTON_IMAGELIST_SetuAlign(handle:Byte Ptr, uAlign:UInt)
  1739. Function bmx_win32_BUTTON_IMAGELIST_himl:Byte Ptr(handle:Byte Ptr)
  1740. Function bmx_win32_NMHDR_hwndFrom:Byte Ptr(handle:Byte Ptr)
  1741. Function bmx_win32_NMHDR_code:UInt(handle:Byte Ptr)
  1742. Function bmx_win32_NMTTDISPINFOW_SetlpszText(handle:Byte Ptr, lpszText:Short Ptr)
  1743. Function bmx_win32_NMLVGETINFOTIPW_pszText:Short Ptr(handle:Byte Ptr)
  1744. Function bmx_win32_NMLVGETINFOTIPW_cchTextMax:Int(handle:Byte Ptr)
  1745. Function bmx_win32_NMLVGETINFOTIPW_iItem:Int(handle:Byte Ptr)
  1746. Function bmx_win32_NMLISTVIEW_uChanged:UInt(handle:Byte Ptr)
  1747. Function bmx_win32_NMITEMACTIVATE_iItem:Int(handle:Byte Ptr)
  1748. Function bmx_win32_NMTREEVIEW_itemNew:Byte Ptr(handle:Byte Ptr)
  1749. Function bmx_win32_NMTREEVIEW_action:UInt(handle:Byte Ptr)
  1750. Function bmx_win32_NMTREEVIEW_x:Int(handle:Byte Ptr)
  1751. Function bmx_win32_NMTREEVIEW_y:Int(handle:Byte Ptr)
  1752. Function bmx_win32_MSGFILTER_msg:UInt(handle:Byte Ptr)
  1753. Function bmx_win32_MSGFILTER_wParam:WParam(handle:Byte Ptr)
  1754. Function bmx_win32_MSGFILTER_lParam:LParam(handle:Byte Ptr)
  1755. Function bmx_win32_MSGFILTER_Setmsg(handle:Byte Ptr, msg:UInt)
  1756. End Extern
  1757. Extern
  1758. Function bmx_win32_TCHITTESTINFO_new:Byte Ptr()
  1759. Function bmx_win32_TCHITTESTINFO_free(handle:Byte Ptr)
  1760. Function bmx_win32_TCHITTESTINFO_pt:Byte Ptr(handle:Byte Ptr)
  1761. Function bmx_win32_TCHITTESTINFO_flags:UInt(handle:Byte Ptr)
  1762. Function bmx_win32_TCHITTESTINFO_Setx(handle:Byte Ptr, x:Int)
  1763. Function bmx_win32_TCHITTESTINFO_Sety(handle:Byte Ptr, y:Int)
  1764. Function bmx_win32_TCHITTESTINFO_x:Int(handle:Byte Ptr)
  1765. Function bmx_win32_TCHITTESTINFO_y:Int(handle:Byte Ptr)
  1766. Function bmx_win32_TCHITTESTINFO_Setflags(handle:Byte Ptr, flags:UInt)
  1767. End Extern
  1768. Type TCHITTESTINFO
  1769. Field infoPtr:Byte Ptr
  1770. Method New()
  1771. infoPtr = bmx_win32_TCHITTESTINFO_new()
  1772. End Method
  1773. Method Delete()
  1774. Free()
  1775. End Method
  1776. Method Free()
  1777. If infoPtr Then
  1778. bmx_win32_TCHITTESTINFO_free(infoPtr)
  1779. infoPtr = Null
  1780. End If
  1781. End Method
  1782. Method Setx(x:Int)
  1783. bmx_win32_TCHITTESTINFO_Setx(infoPtr, x)
  1784. End Method
  1785. Method Sety(y:Int)
  1786. bmx_win32_TCHITTESTINFO_Sety(infoPtr, y)
  1787. End Method
  1788. Method Setflags(flags:UInt)
  1789. bmx_win32_TCHITTESTINFO_Setflags(infoPtr, flags)
  1790. End Method
  1791. Method pt:Byte Ptr()
  1792. Return bmx_win32_TCHITTESTINFO_pt(infoPtr)
  1793. End Method
  1794. Method x:Int()
  1795. Return bmx_win32_TCHITTESTINFO_x(infoPtr)
  1796. End Method
  1797. Method y:Int()
  1798. Return bmx_win32_TCHITTESTINFO_y(infoPtr)
  1799. End Method
  1800. Method flags:UInt()
  1801. Return bmx_win32_TCHITTESTINFO_flags(infoPtr)
  1802. End Method
  1803. End Type
  1804. Extern
  1805. Function bmx_win32_TVHITTESTINFO_new:Byte Ptr()
  1806. Function bmx_win32_TVHITTESTINFO_free(handle:Byte Ptr)
  1807. Function bmx_win32_TVHITTESTINFO_Setx(handle:Byte Ptr, x:Int)
  1808. Function bmx_win32_TVHITTESTINFO_Sety(handle:Byte Ptr, y:Int)
  1809. Function bmx_win32_TVHITTESTINFO_x:Int(handle:Byte Ptr)
  1810. Function bmx_win32_TVHITTESTINFO_y:Int(handle:Byte Ptr)
  1811. Function bmx_win32_TVHITTESTINFO_Setflags(handle:Byte Ptr, flags:UInt)
  1812. Function bmx_win32_TVHITTESTINFO_flags:UInt(handle:Byte Ptr)
  1813. Function bmx_win32_TVHITTESTINFO_hItem:Byte Ptr(handle:Byte Ptr)
  1814. End Extern
  1815. Type TVHITTESTINFO
  1816. Field infoPtr:Byte Ptr
  1817. Method New()
  1818. infoPtr = bmx_win32_TVHITTESTINFO_new()
  1819. End Method
  1820. Method Delete()
  1821. Free()
  1822. End Method
  1823. Method Free()
  1824. If infoPtr Then
  1825. bmx_win32_TVHITTESTINFO_free(infoPtr)
  1826. infoPtr = Null
  1827. End If
  1828. End Method
  1829. Method Setx(x:Int)
  1830. bmx_win32_TVHITTESTINFO_Setx(infoPtr, x)
  1831. End Method
  1832. Method Sety(y:Int)
  1833. bmx_win32_TVHITTESTINFO_Sety(infoPtr, y)
  1834. End Method
  1835. Method Setflags(flags:UInt)
  1836. bmx_win32_TVHITTESTINFO_Setflags(infoPtr, flags)
  1837. End Method
  1838. Method x:Int()
  1839. Return bmx_win32_TVHITTESTINFO_x(infoPtr)
  1840. End Method
  1841. Method y:Int()
  1842. Return bmx_win32_TVHITTESTINFO_y(infoPtr)
  1843. End Method
  1844. Method flags:UInt()
  1845. Return bmx_win32_TVHITTESTINFO_flags(infoPtr)
  1846. End Method
  1847. Method hItem:Byte Ptr()
  1848. Return bmx_win32_TVHITTESTINFO_hItem(infoPtr)
  1849. End Method
  1850. End Type