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
|