28
Re-order the cell's caption, icons and images/pictures

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumn,oColumn1
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oExplorerTree:Images("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDcD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB")
		oGroup := oExplorerTree:Groups():Add("Group")
			oGroup:Expanded := .T.
			oGroup:AutoHeight := .T.
			oGroup:Columns():Clear()
			oColumn := oGroup:Columns():Add("ToLeft")
				oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
			oColumn1 := oGroup:Columns():Add("ToRight")
				oColumn1:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn1:SetProperty("Def",34/*exCellDrawPartsOrder*/,"caption,picture,icons,icon,check")
			oGroup:DefaultItemHeight := 32
			oGroup:DrawGridLines := 2/*exVLines*/
			oGroup:HeaderAppearance := 4/*Etched*/
			oItems := oGroup:Items()
				h := oItems:AddItem("Caption")
				oItems:SetProperty("CellImage",h,0,2)
				oItems:SetProperty("CellImages",h,0,"1,2")
				oItems:SetProperty("CellPicture",h,0,oExplorerTree:ExecuteTemplate("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsGL2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7FXI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FCjVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4" +;
		"wG8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQJAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZenEVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFpTheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5si" +;
		"qbZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxXhIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DPH8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAmBgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCM" +;
		"EgSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByjJGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0WgLhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHCBwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB" +;
		"1iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0FqGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdguhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCG" +;
		"USNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhAFaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZQS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gm" +;
		"iXE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAYAah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARASA/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9A" +;
		"IBdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAdAcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJBPhSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAhhLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARB" +;
		"vgjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAGhvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sUhMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4A" +;
		"fgZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xMhgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBWhFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBag" +;
		"xAkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9BtnWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqBUgphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAjAjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBih" +;
		"Fh7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAuAXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAFBNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhch" +;
		"ug3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQAcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhTg9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5WgZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJA" +;
		"kgqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgqgqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyhVgmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBWh3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMA" +;
		"GAshzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOrC0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTWP1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8" +;
		"PiPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLCs8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyDQCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOApDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj" +;
		"5Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)"))
				oItems:SetProperty("CellCaption",h,1,oItems:CellCaption(h,0))
				oItems:SetProperty("CellHAlignment",h,1,2/*RightAlignment*/)
				oItems:SetProperty("CellImage",h,1,oItems:CellImage(h,0))
				oItems:SetProperty("CellImages",h,1,"2,1")
				oItems:SetProperty("CellPicture",h,1,oItems:CellPicture(h,0))
				h := oItems:AddItem("<b>HTML</b> <off 4>Caption")
				oItems:SetProperty("CellCaptionFormat",h,0,1/*exHTML*/)
				oItems:SetProperty("CellImage",h,0,2)
				oItems:SetProperty("CellImages",h,0,"1,2")
				oItems:SetProperty("CellPicture",h,0,oExplorerTree:ExecuteTemplate("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsGL2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7FXI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FCjVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4" +;
		"wG8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQJAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZenEVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFpTheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5si" +;
		"qbZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxXhIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DPH8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAmBgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCM" +;
		"EgSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByjJGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0WgLhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHCBwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB" +;
		"1iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0FqGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdguhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCG" +;
		"USNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhAFaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZQS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gm" +;
		"iXE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAYAah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARASA/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9A" +;
		"IBdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAdAcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJBPhSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAhhLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARB" +;
		"vgjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAGhvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sUhMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4A" +;
		"fgZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xMhgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBWhFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBag" +;
		"xAkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9BtnWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqBUgphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAjAjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBih" +;
		"Fh7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAuAXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAFBNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhch" +;
		"ug3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQAcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhTg9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5WgZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJA" +;
		"kgqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgqgqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyhVgmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBWh3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMA" +;
		"GAshzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOrC0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTWP1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8" +;
		"PiPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLCs8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyDQCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOApDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj" +;
		"5Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)"))
				oItems:SetProperty("CellCaption",h,1,oItems:CellCaption(h,0))
				oItems:SetProperty("CellCaptionFormat",h,1,1/*exHTML*/)
				oItems:SetProperty("CellHAlignment",h,1,2/*RightAlignment*/)
				oItems:SetProperty("CellImage",h,1,oItems:CellImage(h,0))
				oItems:SetProperty("CellImages",h,1,"2,1")
				oItems:SetProperty("CellPicture",h,1,oItems:CellPicture(h,0))
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
27
ImageSize property on 32 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

PROCEDURE OnAddGroup(oExplorerTree,Group)

RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oAppearance
	LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5,oColumn6,oColumn7,oColumn8
	LOCAL oColumns
	LOCAL oGroup,oGroup1,oGroup2
	LOCAL oItems,oItems1
	LOCAL h,h1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:AddGroup := {|Group| OnAddGroup(oExplorerTree,Group)} /*Occurs when a new group is added to collection.*/

		oExplorerTree:BeginUpdate()
		oExplorerTree:ShowShortcutBar := .T.
		oExplorerTree:ImageSize := 32
		oExplorerTree:GroupHeight := 32
		oExplorerTree:Font():Size := 16
		oExplorerTree:Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9" +;
		"FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkFgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xi" +;
		"oW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVDNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" +;
		"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVW" +;
		"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
		oAppearance := oExplorerTree:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +;
		"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +;
		"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
			oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnS" +;
		"cg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDRDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQB" +;
		"gk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" +;
		"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4g" +;
		"aBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0M" +;
		"gRBCCQAgQEA==")
			oAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnS" +;
		"eQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4" +;
		"ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" +;
		"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYj" +;
		"VHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
			oAppearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +;
		"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +;
		"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
		oExplorerTree:SetProperty("Background",20/*exSelBackColorFilter*/,0x4000000)
		oExplorerTree:SetProperty("Background",21/*exSelForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oExplorerTree:SetProperty("Background",26/*exBackColorFilter*/,oExplorerTree:BackColor())
		oExplorerTree:SetProperty("Background",27/*exForeColorFilter*/,oExplorerTree:ForeColor())
		oExplorerTree:SetProperty("Background",32/*exCursorHoverColumn*/,-1)
		oExplorerTree:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x4000000)
		oExplorerTree:SetProperty("Background",41/*exHeaderFilterBarActive*/,0x4010101)
		oExplorerTree:SetProperty("Background",1/*exFooterFilterBarButton*/,0x40000ff)
		oGroup := oExplorerTree:Groups():Add("Classament <b>A</b>")
			oGroup:Columns():Clear()
			oGroup:Shortcut := "<img>1</img>"
			oGroup:HasLines := 0/*exNoLine*/
			oColumns := oGroup:Columns()
				oColumns:Add("Group")
				oColumn := oColumns:Add("P1")
					oColumn:Width := 32
					oColumn:AllowSizing := .F.
				oColumn1 := oColumns:Add("P2")
					oColumn1:Width := 32
					oColumn1:AllowSizing := .F.
				oColumn2 := oColumns:Add("P3")
					oColumn2:Width := 32
					oColumn2:AllowSizing := .F.
				oColumn3 := oColumns:Add("P4")
					oColumn3:Width := 32
					oColumn3:AllowSizing := .F.
			oItems := oGroup:Items()
				h := oItems:AddItem("Group 1")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Team 1")
				oItems:SetProperty("CellCaption",h1,1,11)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				oItems:SetProperty("CellCaption",h1,4,12)
				h1 := oItems:InsertItem(h,,"Team 2")
				oItems:SetProperty("CellCaption",h1,1,2)
				oItems:SetProperty("CellCaption",h1,2,3)
				oItems:SetProperty("CellCaption",h1,3,4)
				oItems:SetProperty("CellCaption",h1,4,2)
				oItems:SetProperty("ExpandItem",h,.T.)
				h := oItems:AddItem("Group 2")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Team 1")
				oItems:SetProperty("CellCaption",h1,1,1)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				oItems:SetProperty("CellCaption",h1,4,4)
				h1 := oItems:InsertItem(h,,"Team 2")
				oItems:SetProperty("CellCaption",h1,1,5)
				oItems:SetProperty("CellCaption",h1,2,6)
				oItems:SetProperty("CellCaption",h1,3,6)
				oItems:SetProperty("CellCaption",h1,4,16)
				oItems:SetProperty("ExpandItem",h,.T.)
			oGroup:Expanded := .T.
		oExplorerTree:Groups():Add("Classament <b>D"):Shortcut := "<img>3</img>"
		oGroup1 := oExplorerTree:Groups():Add("Classament <b>B")
			oGroup1:Shortcut := "<img>1</img>"
			oGroup1:CaptionFormat := 1/*exHTML*/
			oGroup1:Columns():Clear()
		oGroup2 := oExplorerTree:Groups():Add("Classament <b>C")
			oGroup2:Shortcut := "<img>1</img>"
			oGroup2:Columns():Clear()
			oColumn4 := oGroup2:Columns():Add("Group")
				oColumn4:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn4:PartialCheck := .T.
			oColumn5 := oGroup2:Columns():Add("P1")
				oColumn5:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn5:PartialCheck := .T.
				oColumn5:Width := 32
				oColumn5:AllowSizing := .F.
				oColumn5:LevelKey := 1
			oColumn6 := oGroup2:Columns():Add("P2")
				oColumn6:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn6:PartialCheck := .T.
				oColumn6:Width := 32
				oColumn6:AllowSizing := .F.
				oColumn6:LevelKey := 1
			oColumn7 := oGroup2:Columns():Add("P3")
				oColumn7:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn7:PartialCheck := .T.
				oColumn7:Width := 32
				oColumn7:AllowSizing := .F.
				oColumn7:LevelKey := 2
			oColumn8 := oGroup2:Columns():Add("P4")
				oColumn8:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn8:PartialCheck := .T.
				oColumn8:Width := 32
				oColumn8:AllowSizing := .F.
				oColumn8:LevelKey := 2
			oItems1 := oGroup2:Items()
				h := oItems1:AddItem("Group 1")
				oItems1:SetProperty("CellMerge",h,0,1)
				oItems1:SetProperty("CellMerge",h,0,2)
				oItems1:SetProperty("CellMerge",h,0,3)
				oItems1:SetProperty("CellMerge",h,0,4)
				oItems1:InsertItem(h,,"Team 1")
				oItems1:SetProperty("CellState",oItems1:InsertItem(h,,"Team 2"),0,1)
				oItems1:SetProperty("ExpandItem",h,.T.)
				h := oItems1:AddItem("Group 2")
				oItems1:SetProperty("CellMerge",h,0,1)
				oItems1:SetProperty("CellMerge",h,0,2)
				oItems1:SetProperty("CellMerge",h,0,3)
				oItems1:SetProperty("CellMerge",h,0,4)
				oItems1:InsertItem(h,,"Team 1")
				oItems1:InsertItem(h,,"Team 2")
				oItems1:SetProperty("ExpandItem",h,.T.)
			oGroup2:AutoHeight := .T.
			oGroup2:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
26
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

PROCEDURE OnAddGroup(oExplorerTree,Group)

RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oAppearance
	LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5,oColumn6,oColumn7,oColumn8
	LOCAL oColumns
	LOCAL oGroup,oGroup1,oGroup2
	LOCAL oItems,oItems1
	LOCAL h,h1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:AddGroup := {|Group| OnAddGroup(oExplorerTree,Group)} /*Occurs when a new group is added to collection.*/

		oExplorerTree:BeginUpdate()
		oExplorerTree:ShowShortcutBar := .T.
		oExplorerTree:ImageSize := 16
		oExplorerTree:Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9" +;
		"FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkFgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xi" +;
		"oW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVDNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" +;
		"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVW" +;
		"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
		oAppearance := oExplorerTree:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +;
		"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +;
		"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
			oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnS" +;
		"cg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDRDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQB" +;
		"gk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" +;
		"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4g" +;
		"aBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0M" +;
		"gRBCCQAgQEA==")
			oAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnS" +;
		"eQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4" +;
		"ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" +;
		"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYj" +;
		"VHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
			oAppearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +;
		"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +;
		"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
		oExplorerTree:SetProperty("Background",20/*exSelBackColorFilter*/,0x4000000)
		oExplorerTree:SetProperty("Background",21/*exSelForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oExplorerTree:SetProperty("Background",26/*exBackColorFilter*/,oExplorerTree:BackColor())
		oExplorerTree:SetProperty("Background",27/*exForeColorFilter*/,oExplorerTree:ForeColor())
		oExplorerTree:SetProperty("Background",32/*exCursorHoverColumn*/,-1)
		oExplorerTree:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x4000000)
		oExplorerTree:SetProperty("Background",41/*exHeaderFilterBarActive*/,0x4010101)
		oExplorerTree:SetProperty("Background",1/*exFooterFilterBarButton*/,0x40000ff)
		oGroup := oExplorerTree:Groups():Add("Classament <b>A</b>")
			oGroup:Columns():Clear()
			oGroup:Shortcut := "<img>1</img>"
			oGroup:HasLines := 0/*exNoLine*/
			oColumns := oGroup:Columns()
				oColumns:Add("Group")
				oColumn := oColumns:Add("P1")
					oColumn:Width := 32
					oColumn:AllowSizing := .F.
				oColumn1 := oColumns:Add("P2")
					oColumn1:Width := 32
					oColumn1:AllowSizing := .F.
				oColumn2 := oColumns:Add("P3")
					oColumn2:Width := 32
					oColumn2:AllowSizing := .F.
				oColumn3 := oColumns:Add("P4")
					oColumn3:Width := 32
					oColumn3:AllowSizing := .F.
			oItems := oGroup:Items()
				h := oItems:AddItem("Group 1")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Team 1")
				oItems:SetProperty("CellCaption",h1,1,11)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				oItems:SetProperty("CellCaption",h1,4,12)
				h1 := oItems:InsertItem(h,,"Team 2")
				oItems:SetProperty("CellCaption",h1,1,2)
				oItems:SetProperty("CellCaption",h1,2,3)
				oItems:SetProperty("CellCaption",h1,3,4)
				oItems:SetProperty("CellCaption",h1,4,2)
				oItems:SetProperty("ExpandItem",h,.T.)
				h := oItems:AddItem("Group 2")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Team 1")
				oItems:SetProperty("CellCaption",h1,1,1)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				oItems:SetProperty("CellCaption",h1,4,4)
				h1 := oItems:InsertItem(h,,"Team 2")
				oItems:SetProperty("CellCaption",h1,1,5)
				oItems:SetProperty("CellCaption",h1,2,6)
				oItems:SetProperty("CellCaption",h1,3,6)
				oItems:SetProperty("CellCaption",h1,4,16)
				oItems:SetProperty("ExpandItem",h,.T.)
			oGroup:Expanded := .T.
		oExplorerTree:Groups():Add("Classament <b>D"):Shortcut := "<img>3</img>"
		oGroup1 := oExplorerTree:Groups():Add("Classament <b>B")
			oGroup1:Shortcut := "<img>1</img>"
			oGroup1:CaptionFormat := 1/*exHTML*/
			oGroup1:Columns():Clear()
		oGroup2 := oExplorerTree:Groups():Add("Classament <b>C")
			oGroup2:Shortcut := "<img>1</img>"
			oGroup2:Columns():Clear()
			oColumn4 := oGroup2:Columns():Add("Group")
				oColumn4:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn4:PartialCheck := .T.
			oColumn5 := oGroup2:Columns():Add("P1")
				oColumn5:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn5:PartialCheck := .T.
				oColumn5:Width := 32
				oColumn5:AllowSizing := .F.
				oColumn5:LevelKey := 1
			oColumn6 := oGroup2:Columns():Add("P2")
				oColumn6:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn6:PartialCheck := .T.
				oColumn6:Width := 32
				oColumn6:AllowSizing := .F.
				oColumn6:LevelKey := 1
			oColumn7 := oGroup2:Columns():Add("P3")
				oColumn7:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn7:PartialCheck := .T.
				oColumn7:Width := 32
				oColumn7:AllowSizing := .F.
				oColumn7:LevelKey := 2
			oColumn8 := oGroup2:Columns():Add("P4")
				oColumn8:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn8:PartialCheck := .T.
				oColumn8:Width := 32
				oColumn8:AllowSizing := .F.
				oColumn8:LevelKey := 2
			oItems1 := oGroup2:Items()
				h := oItems1:AddItem("Group 1")
				oItems1:SetProperty("CellMerge",h,0,1)
				oItems1:SetProperty("CellMerge",h,0,2)
				oItems1:SetProperty("CellMerge",h,0,3)
				oItems1:SetProperty("CellMerge",h,0,4)
				oItems1:InsertItem(h,,"Team 1")
				oItems1:SetProperty("CellState",oItems1:InsertItem(h,,"Team 2"),0,1)
				oItems1:SetProperty("ExpandItem",h,.T.)
				h := oItems1:AddItem("Group 2")
				oItems1:SetProperty("CellMerge",h,0,1)
				oItems1:SetProperty("CellMerge",h,0,2)
				oItems1:SetProperty("CellMerge",h,0,3)
				oItems1:SetProperty("CellMerge",h,0,4)
				oItems1:InsertItem(h,,"Team 1")
				oItems1:InsertItem(h,,"Team 2")
				oItems1:SetProperty("ExpandItem",h,.T.)
			oGroup2:AutoHeight := .T.
			oGroup2:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
25
Highlight the item from the cursor

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup,oGroup1
	LOCAL oItems
	LOCAL h,hotback,selback

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		hotback := 16748574
		selback := 16736256
		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Group 1")
			oGroup:LinesAtRoot := -1/*exLinesAtRoot*/
			oGroup:HasLines := 0/*exNoLine*/
			oGroup:ShowFocusRect := .F.
			oItems := oGroup:Items()
				oItems:AddItem("Item A")
				h := oItems:AddItem("Item B")
				oItems:InsertItem(h,,"Child 1")
				oItems:InsertItem(h,,"Child 2")
				oItems:AddItem("Item C")
			oGroup:SetProperty("SelBackColor",selback)
			oGroup:SetProperty("HotBackColor",hotback)
			oGroup:SetProperty("HotForeColor",oGroup:SelForeColor())
			oGroup:Expanded := .T.
			oGroup:AutoHeight := .T.
		oGroup1 := oExplorerTree:Groups():Add("Group 2")
			oGroup1:Items():AddItem("Item A")
			oGroup1:Items():AddItem("Item B")
			oGroup1:Items():AddItem("Item C")
			oGroup1:ShowFocusRect := .F.
			oGroup1:SetProperty("SelBackColor",selback)
			oGroup1:SetProperty("HotBackColor",hotback)
			oGroup1:SetProperty("HotForeColor",oGroup1:SelForeColor())
			oGroup1:Expanded := .T.
			oGroup1:AutoHeight := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
24
Classament

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5,oColumn6,oColumn7,oColumn8
	LOCAL oColumns
	LOCAL oGroup,oGroup1,oGroup2
	LOCAL oItems,oItems1
	LOCAL h,h1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:Images("gBJJgBAIEAAGAEGCAAhb/hz/EIAh8Tf5CJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1BAmBhOCwMGwuDw2ExWJxmIx2HyGLv+TlykUCgABmGYzzObzuczWcKujzOa0ug02hz+r1Wtz2qoCA2QAYG1yk02YA3NMy2Yh8Sh202zx4gA4jxADM5XG4vHACy6ESdjM6XUZiZTMS5bwZSm1c83+yQHCYHk81Q8O7qW18u/9NG3vAf/y83u4PQWQA0ZVADq/z6um6rkuw7TqH+5bYJu+z5vE8z2N02cGweoDfwfCrbQfBqkNzBb6QfDLxp6+LlOs5cSOTEzlm7FYACFFwADvGIAGvGjzOu7MbwHHECQSmUOvS8cGwk20gQc2ycQs4MLvL" +;
		"D8MNtDSfyS+cmyZJzywa96axzDsTw6/x1AAL8xRbF8Vm65jkH/AL8QFNTqR6lsfuDIb2uDKTzTo88FTtIk+PK3SNRDKiew5JVDSnK08NnOUGRClkt0PFEDUjMwAENS4AM2zj4udNznujT1PTgjdGQg8c71RPtESvCL1JrO8lozQUj1nP6d1TKtc0U8dS1jCaNRzGhrxnGthWJYdjUrYwc2ZMMx2NB8czZNk4VLPMstzXD6Q6mltVjPNAT0m1CvnDtBxBXlI3PRKNzZDtjQ6cd5TQ/TSU0/r/udC0A1Ez1SUja8/QhWVavrSLfpxWNzXZR2CygmVtXXVl03Lg+BV+lV3UjeDgzEL4AXkcb6Pje5LZNDzhuLfrOX/RtT0TQbc5lENSvBi2K5xlFdUHhN1ZhJ9F59WybOU7NjWTFkvxhGT9zIIQAWYHIABFqmnABSsT0HUaNYlI1dZmjNuUDRybzvIVWyDoOc54n8Oyxm9Ta9cSUaLbbg44+b4xiO9nY/pt" +;
		"73u38Tuc52tpdruYxDVyUbBV+gYpu2c7PyGMKTt21cjnW6OvzO8PppUvP/Ljlt/wt/Vvn+v8V1eCdbgaa7fnMi8vyD0TnzGEJXyp/wJ3js98iXe+F3/hwGM3jeQZjTeUznmOT5bTKJyqYcbm2c5bzXpqvsWw4FUkCO473wgB8cD9/znzO14n1+D4/efcTP4fl5+WKvxbbptmqV+B/ni/68R4514AvxeTAR50B3oPNei/iBhFgfErgeR4kBIiSAAJKSiC7PT5wMKIQ4fwfyHDzg2PwD4/B/jgg2PgA48AfjgB+RkeAARwAPGAA8jI4AADgAOMAAZGTyw6YbDkA7ZDaAHgxDyCxGgBw8EBBmJcS4LjAATDweBGoqjgAGP4jQ/AcjwAHBsiQex8gPH+MF7pDxxkB")
		oExplorerTree:VisualAppearance():Add(1,"E:\Exontrol\ExG2antt\sample\EBN\vistasel.ebn")
		oExplorerTree:BeginUpdate()
		oExplorerTree:ShowShortcutBar := .T.
		oGroup := oExplorerTree:Groups():Add("Classament <b>A</b>")
			oGroup:IndentGroupLeft := 18
			oGroup:IndentGroupRight := 18
			oGroup:SelBackMode := 1/*exTransparent*/
			oGroup:ShowFocusRect := .F.
			oGroup:SetProperty("SelBackColor",0x1000000)
			oGroup:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
			oGroup:CaptionFormat := 1/*exHTML*/
			oGroup:Shortcut := "<img>1</img>"
			oGroup:AutoHeight := .T.
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:HasLines := 0/*exNoLine*/
			oGroup:ScrollBySingleLine := .T.
			oGroup:MarkSearchColumn := .F.
			oColumns := oGroup:Columns()
				oColumns:Add("Group")
				oColumn := oColumns:Add("P1")
					oColumn:Width := 32
					oColumn:AllowSizing := .F.
				oColumn1 := oColumns:Add("P2")
					oColumn1:Width := 32
					oColumn1:AllowSizing := .F.
				oColumn2 := oColumns:Add("P3")
					oColumn2:Width := 32
					oColumn2:AllowSizing := .F.
				oColumn3 := oColumns:Add("P4")
					oColumn3:Width := 32
					oColumn3:AllowSizing := .F.
			oItems := oGroup:Items()
				h := oItems:AddItem("Group 1")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Team 1")
				oItems:SetProperty("CellCaption",h1,1,11)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				oItems:SetProperty("CellCaption",h1,4,12)
				h1 := oItems:InsertItem(h,,"Team 2")
				oItems:SetProperty("CellCaption",h1,1,2)
				oItems:SetProperty("CellCaption",h1,2,3)
				oItems:SetProperty("CellCaption",h1,3,4)
				oItems:SetProperty("CellCaption",h1,4,2)
				oItems:SetProperty("ExpandItem",h,.T.)
				h := oItems:AddItem("Group 2")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Team 1")
				oItems:SetProperty("CellCaption",h1,1,1)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				oItems:SetProperty("CellCaption",h1,4,4)
				h1 := oItems:InsertItem(h,,"Team 2")
				oItems:SetProperty("CellCaption",h1,1,5)
				oItems:SetProperty("CellCaption",h1,2,6)
				oItems:SetProperty("CellCaption",h1,3,6)
				oItems:SetProperty("CellCaption",h1,4,16)
				oItems:SetProperty("ExpandItem",h,.T.)
			oGroup:Expanded := .T.
		oExplorerTree:Groups():Add("Classament 4"):Shortcut := "<img>4</img>"
		oGroup1 := oExplorerTree:Groups():Add("Classament <b>B")
			oGroup1:Shortcut := "<img>1</img>"
			oGroup1:CaptionFormat := 1/*exHTML*/
		oGroup2 := oExplorerTree:Groups():Add("Classament <b>C")
			oGroup2:IndentGroupLeft := 18
			oGroup2:IndentGroupRight := 18
			oGroup2:SelBackMode := 1/*exTransparent*/
			oGroup2:ShowFocusRect := .F.
			oGroup2:SetProperty("SelBackColor",0x1000000)
			oGroup2:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
			oGroup2:CaptionFormat := 1/*exHTML*/
			oGroup2:Shortcut := "<img>1</img>"
			oGroup2:HeaderVisible := .T.
			oGroup2:MarkSearchColumn := .F.
			oGroup2:Columns():Clear()
			oGroup2:LinesAtRoot := -1/*exLinesAtRoot*/
			oColumn4 := oGroup2:Columns():Add("Group")
				oColumn4:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn4:PartialCheck := .T.
			oColumn5 := oGroup2:Columns():Add("P1")
				oColumn5:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn5:PartialCheck := .T.
				oColumn5:Width := 32
				oColumn5:AllowSizing := .F.
				oColumn5:LevelKey := 1
			oColumn6 := oGroup2:Columns():Add("P2")
				oColumn6:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn6:PartialCheck := .T.
				oColumn6:Width := 32
				oColumn6:AllowSizing := .F.
				oColumn6:LevelKey := 1
			oColumn7 := oGroup2:Columns():Add("P3")
				oColumn7:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn7:PartialCheck := .T.
				oColumn7:Width := 32
				oColumn7:AllowSizing := .F.
				oColumn7:LevelKey := 2
			oColumn8 := oGroup2:Columns():Add("P4")
				oColumn8:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn8:PartialCheck := .T.
				oColumn8:Width := 32
				oColumn8:AllowSizing := .F.
				oColumn8:LevelKey := 2
			oItems1 := oGroup2:Items()
				h := oItems1:AddItem("Group 1")
				oItems1:SetProperty("CellMerge",h,0,1)
				oItems1:SetProperty("CellMerge",h,0,2)
				oItems1:SetProperty("CellMerge",h,0,3)
				oItems1:SetProperty("CellMerge",h,0,4)
				oItems1:InsertItem(h,,"Team 1")
				oItems1:InsertItem(h,,"Team 2")
				oItems1:SetProperty("ExpandItem",h,.T.)
				h := oItems1:AddItem("Group 2")
				oItems1:SetProperty("CellMerge",h,0,1)
				oItems1:SetProperty("CellMerge",h,0,2)
				oItems1:SetProperty("CellMerge",h,0,3)
				oItems1:SetProperty("CellMerge",h,0,4)
				oItems1:InsertItem(h,,"Team 1")
				oItems1:InsertItem(h,,"Team 2")
				oItems1:SetProperty("ExpandItem",h,.T.)
			oGroup2:AutoHeight := .T.
			oGroup2:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
23
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oAppearance
	LOCAL oColumns
	LOCAL oGroup

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oAppearance := oExplorerTree:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +;
		"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
			oAppearance:Add(2,"CP:1 0 -36 0 0")
		oExplorerTree:SetProperty("Background",182/*exColumnsPositionSign*/,0x2000000)
		oGroup := oExplorerTree:Groups():Add("New")
			oGroup:HeaderVisible := .T.
			oGroup:HeaderHeight := 22
			oColumns := oGroup:Columns()
				oColumns:Clear()
				oColumns:Add("Column 1")
				oColumns:Add("Column 2")
				oColumns:Add("Column 3")
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
22
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Group")
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oColumn := oGroup:Columns():Add("Date")
				oColumn:SortType := 2/*SortDate*/
				oColumn:DisplayFilterButton := .T.
				oColumn:DisplayFilterPattern := .F.
				oColumn:DisplayFilterDate := .T.
				oColumn:FilterList := 1296/*exShowFocusItem+exShowCheckBox+exSortItemsDesc*/
			oColumn1 := oGroup:Columns():Add("DateTime")
				oColumn1:SortType := 3/*SortDateTime*/
				oColumn1:DisplayFilterButton := .T.
				oColumn1:DisplayFilterPattern := .F.
				oColumn1:FilterList := 1296/*exShowFocusItem+exShowCheckBox+exSortItemsDesc*/
			oColumn2 := oGroup:Columns():Add("Time")
				oColumn2:SortType := 4/*SortTime*/
				oColumn2:DisplayFilterButton := .T.
				oColumn2:DisplayFilterPattern := .F.
				oColumn2:FilterList := 1296/*exShowFocusItem+exShowCheckBox+exSortItemsDesc*/
				oColumn2:FormatColumn := "time(value)"
			oColumn3 := oGroup:Columns():Add("Numeric")
				oColumn3:SortType := 1/*SortNumeric*/
				oColumn3:DisplayFilterButton := .T.
				oColumn3:FilterList := 1296/*exShowFocusItem+exShowCheckBox+exSortItemsDesc*/
			oColumn4 := oGroup:Columns():Add("String")
				oColumn4:DisplayFilterButton := .T.
				oColumn4:FilterList := 1296/*exShowFocusItem+exShowCheckBox+exSortItemsDesc*/
			oItems := oGroup:Items()
				h := oItems:AddItem("01/27/2010")
				oItems:SetProperty("CellCaption",h,1,"01/27/2010 10:00:00")
				oItems:SetProperty("CellCaption",h,2,oItems:CellCaption(h,1))
				oItems:SetProperty("CellCaption",h,3,1)
				oItems:SetProperty("CellCaption",h,4,oItems:CellCaption(h,3))
				h := oItems:AddItem("01/27/2011")
				oItems:SetProperty("CellCaption",h,1,"01/27/2011 09:00:00")
				oItems:SetProperty("CellCaption",h,2,oItems:CellCaption(h,1))
				oItems:SetProperty("CellCaption",h,3,11)
				oItems:SetProperty("CellCaption",h,4,oItems:CellCaption(h,3))
				h := oItems:AddItem("11/02/2010")
				oItems:SetProperty("CellCaption",h,1,"11/02/2010 09:00:00")
				oItems:SetProperty("CellCaption",h,2,oItems:CellCaption(h,1))
				oItems:SetProperty("CellCaption",h,3,2)
				oItems:SetProperty("CellCaption",h,4,oItems:CellCaption(h,3))
			oGroup:Columns:Item("DateTime"):DisplayFilterDate := .F.
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
21
How do I get the caption of the cell/item from the point

PROCEDURE OnMouseMove(oExplorerTree,Button,Shift,X,Y)
	LOCAL oObject
	oObject := oExplorerTree:GroupListFromPoint(-1,-1)
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup,oGroup1
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oExplorerTree,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Group 1")
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:Columns():Add("Number")
			oGroup:Columns():Add("Round"):ComputedField := "round(%0)"
			oItems := oGroup:Items()
				oItems:AddItem("-1.98")
				oItems:AddItem("0.99")
				oItems:AddItem("1.23")
				oItems:AddItem("2.34")
			oGroup:Expanded := .T.
		oGroup1 := oExplorerTree:Groups():Add("Group 2")
			oGroup1:HeaderVisible := .T.
			oGroup1:Columns():Clear()
			oGroup1:Columns():Add("Number")
			oGroup1:Columns():Add("Round"):ComputedField := "round(%0)"
			oItems1 := oGroup1:Items()
				oItems1:AddItem("-1.98")
				oItems1:AddItem("0.99")
				oItems1:AddItem("1.23")
				oItems1:AddItem("2.34")
			oGroup1:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
20
How can I ensure that a specified item is visible

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oGroups
	LOCAL oItems,oItems1
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroups := oExplorerTree:Groups()
			oGroup := oGroups:Add("Group")
				oGroup:Expanded := .T.
				oItems := oGroup:Items()
					oItems:AddItem("Item")
					oItems:AddItem("Item")
					oItems:AddItem("Item")
					oItems:AddItem("Item")
				oGroup:PutItems(oGroup:GetItems(0),0)
				oGroup:PutItems(oGroup:GetItems(0),0)
				oGroup:Items():AddItem("Ensure")
		oItems1 := oExplorerTree:Groups:Item(0):Items()
			h := oItems1:ItemByIndex(16)
			oItems1:SetProperty("ItemBackColor",h,AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,0 } )  , .F. ))
			oItems1:EnsureVisibleItem(h)
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
19
is it possible to display icons in the control's shortcut bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroups

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oExplorerTree:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oExplorerTree:ShowShortcutBar := .T.
		oGroups := oExplorerTree:Groups()
			oGroups:Add("Group A.1"):Shortcut := "<img>1</img> First Group"
			oGroups:Add("Group A.2"):Shortcut := "<img>1</img> First Group"
			oGroups:Add("Group B.1"):Shortcut := "<img>2</img> Second Group"
			oGroups:Add("Group B.2"):Shortcut := "<img>2</img> Second Group"
			oGroups:Add("Group B.3"):Shortcut := "<img>2</img> Second Group"
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
18
How can I display the control's shortcut bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroups

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oExplorerTree:ShowShortcutBar := .T.
		oGroups := oExplorerTree:Groups()
			oGroups:Add("Group A.1"):Shortcut := "A"
			oGroups:Add("Group A.2"):Shortcut := "A"
			oGroups:Add("Group B.1"):Shortcut := "B"
			oGroups:Add("Group B.2"):Shortcut := "B"
			oGroups:Add("Group B.3"):Shortcut := "B"
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
17
Can I display the cell's check box after the text

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumn
	LOCAL oGroup
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:Expanded := .T.
			oColumn := oGroup:Columns:Item(0)
				oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.)
				oColumn:SetProperty("Def",34/*exCellDrawPartsOrder*/,"caption,check")
			oItems := oGroup:Items()
				oItems:SetProperty("CellHasCheckBox",oItems:AddItem("Caption 1"),0,.T.)
				oItems:SetProperty("CellHasCheckBox",oItems:AddItem("Caption 2"),0,.T.)
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
16
Can I change the order of the parts in the cell, as checkbox after the text, and so on

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:Expanded := .T.
			oGroup:Columns:Item(0):SetProperty("Def",34/*exCellDrawPartsOrder*/,"caption,check,icon,icons,picture")
			oItems := oGroup:Items()
				h := oItems:AddItem("Text")
				oItems:SetProperty("CellImage",h,0,1)
				oItems:SetProperty("CellHasCheckBox",h,0,.T.)
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15
Can I have an image displayed after the text. Can I get that effect without using HTML content

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:Expanded := .T.
			oGroup:Columns:Item(0):SetProperty("Def",34/*exCellDrawPartsOrder*/,"caption,icon,check,icons,picture")
			oItems := oGroup:Items()
				h := oItems:AddItem("Text")
				oItems:SetProperty("CellImage",h,0,1)
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14
How do I enable the filter prompt feature

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumns
	LOCAL oGroup
	LOCAL oItems
	LOCAL h0

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oExplorerTree:Groups():Add("Group 1")
		oGroup := oExplorerTree:Groups():Add("Group 2")
			oGroup:AutoHeight := .T.
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:ColumnAutoResize := .T.
			oGroup:ContinueColumnScroll := .F.
			oGroup:MarkSearchColumn := .F.
			oGroup:SearchColumnIndex := 1
			oGroup:FilterBarPromptVisible := -1/*0xffffd0e8+exFilterBarTop+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
			oColumns := oGroup:Columns()
				oColumns:Add("Name"):Width := 96
				oColumns:Add("Title"):Width := 96
				oColumns:Add("City")
			oItems := oGroup:Items()
				h0 := oItems:AddItem("Nancy Davolio")
				oItems:SetProperty("CellCaption",h0,1,"Sales Representative")
				oItems:SetProperty("CellCaption",h0,2,"Seattle")
				h0 := oItems:AddItem("Andrew Fuller")
				oItems:SetProperty("CellCaption",h0,1,"Vice President, Sales")
				oItems:SetProperty("CellCaption",h0,2,"Tacoma")
				oItems:SetProperty("SelectItem",h0,.T.)
				h0 := oItems:AddItem("Janet Leverling")
				oItems:SetProperty("CellCaption",h0,1,"Sales Representative")
				oItems:SetProperty("CellCaption",h0,2,"Kirkland")
				h0 := oItems:AddItem("Margaret Peacock")
				oItems:SetProperty("CellCaption",h0,1,"Sales Representative")
				oItems:SetProperty("CellCaption",h0,2,"Redmond")
				h0 := oItems:AddItem("Steven Buchanan")
				oItems:SetProperty("CellCaption",h0,1,"Sales Manager")
				oItems:SetProperty("CellCaption",h0,2,"London")
				h0 := oItems:AddItem("Michael Suyama")
				oItems:SetProperty("CellCaption",h0,1,"Sales Representative")
				oItems:SetProperty("CellCaption",h0,2,"London")
				h0 := oItems:AddItem("Robert King")
				oItems:SetProperty("CellCaption",h0,1,"Sales Representative")
				oItems:SetProperty("CellCaption",h0,2,"London")
				h0 := oItems:AddItem("Laura Callahan")
				oItems:SetProperty("CellCaption",h0,1,"Inside Sales Coordinator")
				oItems:SetProperty("CellCaption",h0,2,"Seattle")
				h0 := oItems:AddItem("Anne Dodsworth")
				oItems:SetProperty("CellCaption",h0,1,"Sales Representative")
				oItems:SetProperty("CellCaption",h0,2,"London")
			oGroup:Expanded := .T.
		oExplorerTree:Groups():Add("Group 3")
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13
Can I specify unsortable items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumns
	LOCAL oGroup
	LOCAL oItems
	LOCAL h,h1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:AutoHeight := .T.
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:HasLines := 0/*exNoLine*/
			oGroup:ScrollBySingleLine := .T.
			oGroup:MarkSearchColumn := .F.
			oColumns := oGroup:Columns()
				oColumns:Add("Name")
				oColumns:Add("A")
				oColumns:Add("B")
				oColumns:Add("C")
			oItems := oGroup:Items()
				h := oItems:AddItem("Group 1")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,3/*DividerBoth*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Child 1")
				oItems:SetProperty("CellCaption",h1,1,1)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				h1 := oItems:InsertItem(h,,"Child 2")
				oItems:SetProperty("CellCaption",h1,1,4)
				oItems:SetProperty("CellCaption",h1,2,5)
				oItems:SetProperty("CellCaption",h1,3,6)
				oItems:SetProperty("ExpandItem",h,.T.)
				h := oItems:AddItem("Group 2")
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLineAlignment",h,3/*DividerBoth*/)
				oItems:SetProperty("ItemHeight",h,24)
				oItems:SetProperty("SortableItem",h,.F.)
				h1 := oItems:InsertItem(h,,"Child 1")
				oItems:SetProperty("CellCaption",h1,1,1)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,3)
				h1 := oItems:InsertItem(h,,"Child 2")
				oItems:SetProperty("CellCaption",h1,1,4)
				oItems:SetProperty("CellCaption",h1,2,5)
				oItems:SetProperty("CellCaption",h1,3,6)
				oItems:SetProperty("ExpandItem",h,.T.)
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12
Can I change the style of the line being displayed by a divider item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:MarkSearchColumn := .F.
			oGroup:TreeColumnIndex := -1
			oGroup:ScrollBySingleLine := .F.
			oGroup:Columns():Add("C1")
			oGroup:Columns():Add("C2")
			oGroup:SelBackMode := 1/*exTransparent*/
			oItems := oGroup:Items()
				h := oItems:AddItem("Cell 1")
				oItems:SetProperty("CellCaption",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
				oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
				h := oItems:AddItem("This is bit of text that's displayed on the entire item, divider.")
				oItems:SetProperty("ItemDivider",h,0)
				oItems:SetProperty("ItemDividerLine",h,4/*DoubleDotLine*/)
				oItems:SetProperty("ItemDividerLineAlignment",h,3/*DividerBoth*/)
				oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
				oItems:SetProperty("ItemHeight",h,24)
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11
How can I expand all items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:LinesAtRoot := -1/*exLinesAtRoot*/
			oGroup:Columns():Add("Items")
			oItems := oGroup:Items()
				h := oItems:AddItem("Root 1")
				oItems:InsertItem(h,,"Child 1")
				oItems:InsertItem(h,,"Child 2")
				h := oItems:AddItem("Root 2")
				oItems:InsertItem(h,,"Child 1")
				oItems:InsertItem(h,,"Child 2")
				oItems:SetProperty("ExpandItem",0,.T.)
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10
Is it possible display numbers in the same format no matter of regional settings in the control panel

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:Columns():Add("Def"):SetProperty("Def",17/*exCellCaptionFormat*/,1)
			oItems := oGroup:Items()
				h := oItems:AddItem(100000.27)
				oItems:SetProperty("FormatCell",h,0,"(value format '') +  ' <fgcolor=808080>(default positive)'")
				h := oItems:AddItem(100000.27)
				oItems:SetProperty("FormatCell",h,0,"(value format '2|.|3|,|1|1')")
				h := oItems:AddItem(-100000.27)
				oItems:SetProperty("FormatCell",h,0,"(value format '') +  ' <fgcolor=808080>(default negative)'")
				h := oItems:AddItem(-100000.27)
				oItems:SetProperty("FormatCell",h,0,"(value format '2|.|3|,|1|1')")
			oGroup:Expanded := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9
Is it possible to format numbers

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumn,oColumn1,oColumn2,oColumn3
	LOCAL oColumns
	LOCAL oGroup
	LOCAL oItems
	LOCAL h,h1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:HeaderVisible := .T.
			oGroup:MarkSearchColumn := .F.
			oGroup:Columns():Clear()
			oColumns := oGroup:Columns()
				oColumns:Add("Name")
				oColumn := oColumns:Add("A")
					oColumn:SortType := 1/*SortNumeric*/
					oColumn:AllowSizing := .F.
					oColumn:Width := 36
					oColumn:FormatColumn := "len(value) ? value + ' +'"
				oColumn1 := oColumns:Add("B")
					oColumn1:SortType := 1/*SortNumeric*/
					oColumn1:AllowSizing := .F.
					oColumn1:Width := 36
					oColumn1:FormatColumn := "len(value) ? value + ' +'"
				oColumn2 := oColumns:Add("C")
					oColumn2:SortType := 1/*SortNumeric*/
					oColumn2:AllowSizing := .F.
					oColumn2:Width := 36
					oColumn2:FormatColumn := "len(value) ? value + ' ='"
				oColumn3 := oColumns:Add("A+B+C")
					oColumn3:SortType := 1/*SortNumeric*/
					oColumn3:Width := 64
					oColumn3:ComputedField := "dbl(%1)+dbl(%2)+dbl(%3)"
					oColumn3:FormatColumn := "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=0000FF>+'+(value format '2|.|3|,' ): '0.00') )"
					oColumn3:SetProperty("Def",17/*exCellCaptionFormat*/,1)
			oItems := oGroup:Items()
				h := oItems:AddItem("Root")
				oItems:SetProperty("CellCaptionFormat",h,4,2/*exComputedField*/)
				h1 := oItems:InsertItem(h,,"Child 1")
				oItems:SetProperty("CellCaption",h1,1,7)
				oItems:SetProperty("CellCaption",h1,2,3)
				oItems:SetProperty("CellCaption",h1,3,1)
				h1 := oItems:InsertItem(h,,"Child 2")
				oItems:SetProperty("CellCaption",h1,1,-2)
				oItems:SetProperty("CellCaption",h1,2,-2)
				oItems:SetProperty("CellCaption",h1,3,-4)
				h1 := oItems:InsertItem(h,,"Child 3")
				oItems:SetProperty("CellCaption",h1,1,2)
				oItems:SetProperty("CellCaption",h1,2,2)
				oItems:SetProperty("CellCaption",h1,3,-4)
				oItems:SetProperty("ExpandItem",h,.T.)
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8
Is there any function to round the values base on the .5 value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Clear()
			oGroup:Columns():Add("Number")
			oGroup:Columns():Add("Round"):ComputedField := "round(%0)"
			oItems := oGroup:Items()
				oItems:AddItem("-1.98")
				oItems:AddItem("0.99")
				oItems:AddItem("1.23")
				oItems:AddItem("2.34")
			oGroup:Expanded := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7
How can I show a column that adds values in the cells

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:Columns():Clear()
			oGroup:HeaderVisible := .T.
			oGroup:Columns():Add("A")
			oGroup:Columns():Add("B")
			oGroup:Columns():Add("A+B"):ComputedField := "dbl(%0) + dbl(%1)"
			oItems := oGroup:Items()
				oItems:SetProperty("CellCaption",oItems:AddItem(1),1,2)
			oItems1 := oGroup:Items()
				oItems1:SetProperty("CellCaption",oItems1:AddItem(10),1,20)
			oGroup:Expanded := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6
How do I change the item's background color for numbers less than a value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:ConditionalFormats():Add("dbl(%0) < 10"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
			oGroup:Items():AddItem(1)
			oGroup:Items():AddItem(2)
			oGroup:Items():AddItem(10)
			oGroup:Items():AddItem(20)
			oGroup:Expanded := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
5
How do I highlight in bold the numbers greater than a value

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:ConditionalFormats():Add("dbl(%0) >= 10"):Bold := .T.
			oGroup:Items():AddItem(1)
			oGroup:Items():AddItem(2)
			oGroup:Items():AddItem(10)
			oGroup:Items():AddItem(20)
			oGroup:Expanded := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4
How do I change the caption being displayed in the control's filter bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumn
	LOCAL oGroup

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:FilterBarCaption := "your filter caption"
			oColumn := oGroup:Columns():Add("Column")
				oColumn:DisplayFilterButton := .T.
				oColumn:FilterType := 1/*exBlanks*/
			oGroup:ApplyFilter()
			oGroup:Expanded := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3
Is it possible to change the style for the vertical or horizontal grid lines, in the list area

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oColumn
	LOCAL oGroup
	LOCAL oItems
	LOCAL h

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:AutoHeight := .T.
			oGroup:DrawGridLines := -1/*exAllLines*/
			oGroup:GridLineStyle := 33/*exGridLinesVSolid+exGridLinesHDot4*/
			oGroup:ColumnAutoResize := .F.
			oColumn := oGroup:Columns:Item(0)
				oColumn:Caption := "C1"
				oColumn:Width := 64
			oGroup:Columns():Add("C2")
			oGroup:Columns():Add("C3")
			oGroup:ColumnAutoResize := .T.
			oItems := oGroup:Items()
				h := oItems:AddItem("Item 1")
				oItems:SetProperty("CellCaption",h,1,"SubItem 1.2")
				oItems:SetProperty("CellCaption",h,2,"SubItem 1.3")
				h := oItems:AddItem("Item 2")
				oItems:SetProperty("CellCaption",h,1,"SubItem 2.2")
				oItems:SetProperty("CellCaption",h,2,"SubItem 2.3")
				h := oItems:AddItem("Item 3")
				oItems:SetProperty("CellCaption",h,1,"SubItem 3.2")
				oItems:SetProperty("CellCaption",h,2,"SubItem 3.3")
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2
Is it possible to change the style for the grid lines, for instance to be solid not dotted

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroup

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oGroup := oExplorerTree:Groups():Add("Default")
			oGroup:DrawGridLines := -1/*exAllLines*/
			oGroup:GridLineStyle := 48/*exGridLinesSolid*/
			oGroup:Expanded := .T.
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1
How can I change the visual appearance for the groups, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExplorerTree
	LOCAL oGroups

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExplorerTree := XbpActiveXControl():new( oForm:drawingArea )
	oExplorerTree:CLSID  := "Exontrol.ExplorerTree.1" /*{1036744E-4103-4987-BA7A-BB6C35BD5852}*/
	oExplorerTree:create(,, {10,60},{610,370} )

		oExplorerTree:BeginUpdate()
		oExplorerTree:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oExplorerTree:SetProperty("BackColorGroup",0x1000000)
		oGroups := oExplorerTree:Groups()
			oGroups:Add("Group 1")
			oGroups:Add("Group 2")
			oGroups:Add("Group 3")
		oExplorerTree:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN