562 |
ADOR, MDB (JET)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oList LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:ColumnAutoResize := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExList\Sample\Access\sample.mdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oList:DataSource := rs oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
561 |
Highlight the match once the filter is applied
PROCEDURE OnFilterChange(oList) LOCAL format format := oList:FormatABC("`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>'`",oList:FilterBarPromptPattern()) oList:Columns:Item(0):FormatColumn := Transform(format,"") oList:Columns:Item(1):FormatColumn := Transform(format,"") oList:Columns:Item(2):FormatColumn := Transform(format,"") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2 LOCAL oColumns LOCAL oItems LOCAL oList LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:FilterChange := {|| OnFilterChange(oList)} /*Occurs when filter was changed.*/ oList:BeginUpdate() oList:SetProperty("SelBackColor",oList:BackColor()) oList:SetProperty("SelForeColor",oList:ForeColor()) oList:ColumnAutoResize := .T. oList:ContinueColumnScroll := .F. oList:MarkSearchColumn := .F. oList:SearchColumnIndex := 1 oList:HeaderAppearance := 4/*Etched*/ oList:HeaderHeight := 23 oList:SetProperty("BackColorLevelHeader",oList:BackColor()) oList:FilterBarCaption := "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)" oList:FilterBarPromptVisible := 2055/*exFilterBarCompact+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oList:SetProperty("FilterBarBackColor",oList:BackColor()) oList:FilterBarPromptPattern := "and" oColumns := oList:Columns() oColumn := oColumns:Add("Name") oColumn:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn:FormatColumn := "lower(value)" oColumn1 := oColumns:Add("Title") oColumn1:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn1:FormatColumn := "lower(value)" oColumn2 := oColumns:Add("City") oColumn2:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn2:FormatColumn := "lower(value)" oItems := oList:Items() h0 := oItems:Add("Nancy Davolio") oItems:SetProperty("Caption",h0,1,"Sales Representative") oItems:SetProperty("Caption",h0,2,"Seattle") h0 := oItems:Add("Andrew Fuller") oItems:SetProperty("Caption",h0,1,"Vice President, Sales") oItems:SetProperty("Caption",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:Add("Janet Leverling") oItems:SetProperty("Caption",h0,1,"Sales Representative") oItems:SetProperty("Caption",h0,2,"Kirkland") h0 := oItems:Add("Margaret Peacock") oItems:SetProperty("Caption",h0,1,"Sales Representative") oItems:SetProperty("Caption",h0,2,"Redmond") h0 := oItems:Add("Steven Buchanan") oItems:SetProperty("Caption",h0,1,"Sales Manager") oItems:SetProperty("Caption",h0,2,"London") h0 := oItems:Add("Michael Suyama") oItems:SetProperty("Caption",h0,1,"Sales Representative") oItems:SetProperty("Caption",h0,2,"London") h0 := oItems:Add("Robert King") oItems:SetProperty("Caption",h0,1,"Sales Representative") oItems:SetProperty("Caption",h0,2,"London") h0 := oItems:Add("Laura Callahan") oItems:SetProperty("Caption",h0,1,"Inside Sales Coordinator") oItems:SetProperty("Caption",h0,2,"Seattle") h0 := oItems:Add("Anne Dodsworth") oItems:SetProperty("Caption",h0,1,"Sales Representative") oItems:SetProperty("Caption",h0,2,"London") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
560 |
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 oColumn,oColumn1 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:ColumnAutoResize := .T. oList:Images("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDcD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB") oColumn := oList:Columns():Add("ToLeft") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn1 := oList:Columns():Add("ToRight") oColumn1:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn1:SetProperty("Def",34/*exCellDrawPartsOrder*/,"caption,picture,icons,icon,check") oList:DefaultItemHeight := 32 oList:DrawGridLines := 2/*exVLines*/ oList:HeaderAppearance := 4/*Etched*/ oItems := oList:Items() h := oItems:Add("Caption") oItems:SetProperty("CellImage",h,0,2) oItems:SetProperty("CellImages",h,0,"1,2") oItems:SetProperty("CellPicture",h,0,oList: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("Caption",h,1,oItems:Caption(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:Add("<b>HTML</b> <off 4>Caption") oItems:SetProperty("CaptionFormat",h,0,1/*exHTML*/) oItems:SetProperty("CellImage",h,0,2) oItems:SetProperty("CellImages",h,0,"1,2") oItems:SetProperty("CellPicture",h,0,oList: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("Caption",h,1,oItems:Caption(h,0)) oItems:SetProperty("CaptionFormat",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)) oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
559 |
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)
PROCEDURE OnAddColumn(oList,Column) /*Column.Def(48) = 2*/ /*Column.Def(49) = 2*/ RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oAppearance LOCAL oColumn,oColumn1,oColumn2,oColumn3 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddColumn := {|Column| OnAddColumn(oList,Column)} /*Fired after a new column is added.*/ oList:BeginUpdate() oList:ImageSize := 32 oList:DefaultItemHeight := 36 oList:HeaderHeight := oList:DefaultItemHeight() oList:SortBarHeight := oList:DefaultItemHeight() oList:Font():Size := 16 oList:FilterBarFont():Size := oList:Font():Size() oList:ToolTipFont():Size := oList:Font():Size() oList: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 := oList: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==") oList:SetProperty("BackColorHeader",0x4c6c6c6) oList:SetProperty("SelBackColor",0x4000000) oList:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. )) oList:SetProperty("CheckImage",0/*Unchecked*/,16777216) oList:SetProperty("CheckImage",1/*Checked*/,33554432) oList:SetProperty("CheckImage",2/*PartialChecked*/,50331648) oList:SetProperty("Background",20/*exSelBackColorFilter*/,oList:SelBackColor()) oList:SetProperty("Background",21/*exSelForeColorFilter*/,oList:SelForeColor()) oList:SetProperty("Background",26/*exBackColorFilter*/,oList:BackColor()) oList:SetProperty("Background",27/*exForeColorFilter*/,oList:ForeColor()) oList:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oList:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x4000000) oList:SetProperty("Background",41/*exHeaderFilterBarActive*/,0x4010101) oList:SetProperty("Background",1/*exFooterFilterBarButton*/,0x40000ff) oList:HeaderAppearance := 4/*Etched*/ oList:ShowFocusRect := .F. oList:SortBarVisible := .T. oList:SetProperty("BackColorSortBar",oList:BackColor()) oList:SetProperty("BackColorLevelHeader",oList:BackColor()) oList:FilterBarDropDownHeight := 1 oColumn := oList:Columns():Add("Check") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:Width := 128 oColumn:DisplayFilterButton := .T. oColumn:FilterList := 256/*exShowCheckBox*/ oColumn1 := oList:Columns():Add("Pos") oColumn1:FormatColumn := "1 pos ``" oColumn1:AllowSort := .F. oColumn1:Width := 48 oColumn1:AllowSizing := .F. oColumn1:Alignment := 1/*CenterAlignment*/ oColumn1:HeaderAlignment := 1/*CenterAlignment*/ oColumn2 := oList:Columns():Add("Image") oColumn2:DisplayFilterButton := .T. oColumn2:FilterList := 8480/*exShowExclude+exShowCheckBox+exSortItemsAsc*/ oColumn2:FilterType := 10/*exImage*/ oColumn2:Width := 128 oColumn2:HeaderImage := 1 oColumn3 := oList:Columns():Add("Images") oColumn3:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn3:Width := 196 oColumn3:HTMLCaption := "<img>1</img><img>2</img><img>3</img> Images" oList:Columns:Item("Pos"):Position := 3 oItems := oList:Items() h := oItems:Add("Child A") oItems:SetProperty("CellImage",h,2,1) oItems:SetProperty("CellImages",h,3,"1,2,3") oItems:SetProperty("Caption",h,3,"123") h := oItems:Add("Child B") oItems:SetProperty("CellState",h,0,1) oItems:SetProperty("CellImage",h,2,3) oItems:SetProperty("CellImages",h,3,"2,3,1") oItems:SetProperty("Caption",h,3,"231") oItems:SetProperty("SelectItem",h,.T.) h := oItems:Add("Child C") oItems:SetProperty("CellImage",h,2,2) oItems:SetProperty("CellState",h,3,1) oItems:SetProperty("Caption",h,3,"312") oItems:SetProperty("CellImages",h,3,"3,1,2") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
558 |
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)
PROCEDURE OnAddColumn(oList,Column) /*Column.Def(48) = 2*/ /*Column.Def(49) = 2*/ RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oAppearance LOCAL oColumn,oColumn1,oColumn2,oColumn3 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddColumn := {|Column| OnAddColumn(oList,Column)} /*Fired after a new column is added.*/ oList:BeginUpdate() oList:ImageSize := 16 oList:Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +; "GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==") oAppearance := oList:VisualAppearance() oAppearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +; "YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +; "FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==") oList:SetProperty("BackColorHeader",0x4c6c6c6) oList:SetProperty("SelBackColor",0x4000000) oList:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. )) oList:SetProperty("Background",20/*exSelBackColorFilter*/,oList:SelBackColor()) oList:SetProperty("Background",21/*exSelForeColorFilter*/,oList:SelForeColor()) oList:SetProperty("Background",26/*exBackColorFilter*/,oList:BackColor()) oList:SetProperty("Background",27/*exForeColorFilter*/,oList:ForeColor()) oList:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oList:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x4000000) oList:SetProperty("Background",41/*exHeaderFilterBarActive*/,0x4010101) oList:SetProperty("Background",1/*exFooterFilterBarButton*/,0x40000ff) oList:HeaderAppearance := 4/*Etched*/ oList:ShowFocusRect := .F. oList:SortBarVisible := .T. oList:SetProperty("BackColorSortBar",oList:BackColor()) oList:SetProperty("BackColorLevelHeader",oList:BackColor()) oList:FilterBarDropDownHeight := 1 oColumn := oList:Columns():Add("Check") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:Width := 128 oColumn:DisplayFilterButton := .T. oColumn:FilterList := 256/*exShowCheckBox*/ oColumn1 := oList:Columns():Add("Pos") oColumn1:FormatColumn := "1 pos ``" oColumn1:AllowSort := .F. oColumn1:Width := 48 oColumn1:AllowSizing := .F. oColumn1:Alignment := 1/*CenterAlignment*/ oColumn1:HeaderAlignment := 1/*CenterAlignment*/ oColumn2 := oList:Columns():Add("Image") oColumn2:DisplayFilterButton := .T. oColumn2:FilterList := 8480/*exShowExclude+exShowCheckBox+exSortItemsAsc*/ oColumn2:FilterType := 10/*exImage*/ oColumn2:Width := 128 oColumn2:HeaderImage := 1 oColumn3 := oList:Columns():Add("Images") oColumn3:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn3:Width := 196 oColumn3:HTMLCaption := "<img>1</img><img>2</img><img>3</img> Images" oList:Columns:Item("Pos"):Position := 3 oItems := oList:Items() h := oItems:Add("Child A") oItems:SetProperty("CellImage",h,2,1) oItems:SetProperty("CellImages",h,3,"1,2,3") oItems:SetProperty("Caption",h,3,"123") h := oItems:Add("Child B") oItems:SetProperty("CellState",h,0,1) oItems:SetProperty("CellImage",h,2,3) oItems:SetProperty("CellImages",h,3,"2,3,1") oItems:SetProperty("Caption",h,3,"231") oItems:SetProperty("SelectItem",h,.T.) h := oItems:Add("Child C") oItems:SetProperty("CellImage",h,2,2) oItems:SetProperty("CellState",h,3,1) oItems:SetProperty("Caption",h,3,"312") oItems:SetProperty("CellImages",h,3,"3,1,2") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
557 |
The user clicks the drop-down filter, select a value and the control's list filters for the selected item(s). Is there a way for when the user then goes to the next column to add another filter and the drop down arrow is clicked for the list of values they can filter by to be limited to what is being displayed in the list due to the first filter they set
PROCEDURE OnAddColumn(oList,Column) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oList LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddColumn := {|Column| OnAddColumn(oList,Column)} /*Fired after a new column is added.*/ oList:BeginUpdate() oList:ColumnAutoResize := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExList\Sample\Access\sample.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oList:DataSource := rs oList:Columns:Item("ShipVia"):Position := 2 oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
556 |
Is it possible to set from code, a column sort without being inserted in the sortbar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oList LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:ColumnAutoResize := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExList\Sample\Access\SAMPLE.ACCDB",3/*adOpenStatic*/,3/*adLockOptimistic*/) oList:DataSource := rs oList:SortBarVisible := .T. oList:Layout := "singlesort=" + CHR(34) + "C1:1" + CHR(34) + "" oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
555 |
Is it possible to highligth the match while a filter is applied
PROCEDURE OnAddColumn(oList,Column) /*Column.Def(17) = 1*/ RETURN PROCEDURE OnFilterChange(oList) LOCAL format format := oList:FormatABC("`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>'`",oList:FilterBarPromptPattern()) oList:Columns:Item(0):FormatColumn := Transform(format,"") oList:Columns:Item(1):FormatColumn := Transform(format,"") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddColumn := {|Column| OnAddColumn(oList,Column)} /*Fired after a new column is added.*/ oList:FilterChange := {|| OnFilterChange(oList)} /*Occurs when filter was changed.*/ oList:BeginUpdate() oList:DrawGridLines := 2/*exVLines*/ oList:HeaderAppearance := 4/*Etched*/ oList:Columns():Add("Col 1") oList:Columns():Add("Col 2") oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("219 Smith"),1,"Ignacio 1234") oItems:SetProperty("Caption",oItems:Add("1666 County Road 309A"),1,"897 Manassa") oItems:SetProperty("Caption",oItems:Add("38 Lone Pine"),1,"Durango 11") oItems:SetProperty("Caption",oItems:Add("612 Jachim Street"),1,"Lamar 222") oList:FilterBarPromptPattern := "1" oList:FilterBarPromptVisible := 2067/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oList:FilterBarPromptType := 257/*exFilterPromptCaseSensitive+exFilterPromptContainsAll*/ oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
554 |
Is it possible to highlight the column's header once a filter is applied
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oAppearance LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oAppearance := oList:VisualAppearance() oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +; "bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=") oAppearance:Add(1,"CP:2 -8 -4 2 4") oList:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x1fefefe) oList:SetProperty("Background",41/*exHeaderFilterBarActive*/,0x1010101) oList:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oList:HeaderHeight := 28 oList:SetProperty("BackColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oList:DrawGridLines := -1/*exAllLines*/ oList:HeaderVisible := .T. oColumns := oList:Columns() oColumns:Add("C1"):DisplayFilterButton := .T. oColumn := oColumns:Add("C2") oColumn:DisplayFilterButton := .T. oColumn:Filter := "Item 2" oColumn:FilterType := 240/*exFilter*/ oColumns:Add("C3"):DisplayFilterButton := .T. oItems := oList:Items() h := oItems:Add("Item 1") oItems:SetProperty("Caption",h,1,"Item 2") oItems:SetProperty("Caption",h,2,"Item 3") h := oItems:Add("Item 4") oItems:SetProperty("Caption",h,1,"Item 5") oItems:SetProperty("Caption",h,2,"Item 6") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
553 |
Is it possible to show the filterbar on top of the rows
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:FilterBarPromptVisible := 8192/*exFilterBarTop*/ oList:HeaderHeight := 24 oList:FilterBarHeight := oList:HeaderHeight() oList:HeaderAppearance := 1/*Flat*/ oList:DrawGridLines := -1/*exAllLines*/ oList:GridLineStyle := 512/*exGridLinesGeometric*/ oColumn := oList:Columns():Add("Column") oColumn:DisplayFilterButton := .T. oColumn:FilterType := 3/*exPattern*/ oColumn:Filter := "B*" oColumn1 := oList:Columns():Add("Index") oColumn1:FormatColumn := "1 index ``" oColumn1:Position := 0 oColumn1:Width := 48 oColumn1:AllowSizing := .F. oColumn1:SortType := 1/*SortNumeric*/ oColumn1:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oItems := oList:Items() oItems:Add("A.1") oItems:Add("A.2") oItems:Add("B.1") oItems:Add("B.2") oItems:Add("B.3") oItems:Add("C") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
552 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:HeaderAppearance := 4/*Etched*/ oColumns := oList:Columns() oColumns:Add("Item") oColumn := oColumns:Add("Pos") oColumn:Position := 0 oColumn:Width := 32 oColumn:AllowSizing := .F. oColumn:FormatColumn := "1 index ``" oColumn:AllowSort := .F. oColumn:AllowDragging := .F. oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
551 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header
|
550 |
How do I get notified once the user clicks the cell's button
PROCEDURE OnCellButtonClick(oList,ItemIndex,ColIndex) LOCAL oItems oItems := oList:Items() DevOut( Transform(oItems:Caption(ItemIndex,0),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:CellButtonClick := {|ItemIndex,ColIndex| OnCellButtonClick(oList,ItemIndex,ColIndex)} /*Fired after the user clicks the cell's button.*/ oList:BeginUpdate() oList:Columns():Add("Item") oColumn := oList:Columns():Add("...") oColumn:SetProperty("Def",2/*exCellHasButton*/,.T.) oColumn:Alignment := 1/*CenterAlignment*/ oColumn:HeaderAlignment := 1/*CenterAlignment*/ oColumn:FormatColumn := "` ... `" oColumn:Width := 32 oColumn:AllowSizing := .F. oColumn:Position := 0 oList:SelBackMode := 1/*exTransparent*/ oItems := oList:Items() oItems:Add("Item 1") oItems:Add("Item 2") oItems:Add("Item 3") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
549 |
How do I set an extra data for each item
PROCEDURE OnMouseMove(oList,Button,Shift,X,Y) LOCAL i i := oList:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(i,"") ) DevOut( Transform(oList:Items:ItemData(i),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oList,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oList:BeginUpdate() oList:ColumnAutoResize := .T. oList:Columns():Add("Default") oItems := oList:Items() oItems:SetProperty("ItemData",oItems:Add("method"),"your extra data of method") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
548 |
I do not like to specify the item padding for every column I add. The question is how can I do it automatically
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}") oList:HeaderAppearance := 4/*Etched*/ oList:DrawGridLines := -1/*exAllLines*/ oList:GridLineStyle := 32/*exGridLinesVSolid*/ oColumns := oList:Columns() oColumns:Add("Item") oColumn := oColumns:Add("Pos") oColumn:Position := 0 oColumn:Width := 32 oColumn:AllowSizing := .F. oColumn:FormatColumn := "1 index ``" oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
547 |
Can I sort the column by check-state
|
546 |
Can I sort the column by image
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oList:Columns():Add("Image") oColumn:SortType := 48/*exSortByImage*/ oItems := oList:Items() oItems:SetProperty("CellImage",oItems:Add(),0,3) oItems:Add() oItems:SetProperty("CellImage",oItems:Add(),0,1) oItems:SetProperty("CellImage",oItems:Add(),0,2) oList:Columns:Item(0):SortOrder := 1/*SortAscending*/ oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
545 |
How can I display UNICODE characters
|
544 |
How do I display the position of the item with 0-padding
|
543 |
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oAppearance LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oAppearance := oList:VisualAppearance() oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxPF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" +; "b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" +; "pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAMR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=") oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBaEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" +; "BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeEmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==") oList:SetProperty("BackColorHeader",0x1000000) oList:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. )) oList:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x2000000) oList:SetProperty("Background",26/*exBackColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oList:SetProperty("Background",27/*exForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. )) oList:SetProperty("Background",20/*exSelBackColorFilter*/,0x1ff8000) oList:SetProperty("Background",21/*exSelForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oList:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oList:HeaderHeight := 24 oList:SetProperty("BackColorLevelHeader",oList:BackColor()) oColumn := oList:Columns():Add("Filter") oColumn:DisplayFilterButton := .T. oColumn:DisplayFilterPattern := .F. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn:SetProperty("Def",52/*exHeaderPaddingLeft*/,2) oColumn:SetProperty("Def",53/*exHeaderPaddingRight*/,2) oItems := oList:Items() oItems:Add("A") oItems:Add("B") oItems:Add("C") oItems:Add("D") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
542 |
Type of wraps the cell's caption support (Sample 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2 LOCAL oColumns LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:HeaderSingleLine := .F. oList:HeaderHeight := 36 oList:DrawGridLines := -1/*exAllLines*/ oList:ColumnAutoResize := .F. oList:ScrollBySingleLine := .T. oColumns := oList:Columns() oColumn := oColumns:Add("Single-Line (exCaptionSingleLine)") oColumn:Width := 96 oColumn:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn:SetProperty("Def",16/*exCellSingleLine*/,-1) oColumn1 := oColumns:Add("Word-Wrap (exCaptionWordWrap)") oColumn1:Width := 96 oColumn1:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn1:SetProperty("Def",16/*exCellSingleLine*/,0) oColumn1:FormatColumn := "%0" oColumn2 := oColumns:Add("Break-Wrap (exCaptionBreakWrap)") oColumn2:Width := 96 oColumn2:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn2:SetProperty("Def",16/*exCellSingleLine*/,1) oColumn2:FormatColumn := "%0" oItems := oList:Items() oItems:Add("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:Add("This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
541 |
Type of wraps the cell's caption support (Sample 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:DrawGridLines := -1/*exAllLines*/ oList:ColumnAutoResize := .F. oList:ScrollBySingleLine := .T. oList:Columns():Add("Default"):Width := 128 oItems := oList:Items() h := oItems:Add("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") h := oItems:Add("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:SetProperty("CaptionFormat",h,0,1/*exHTML*/) h := oItems:Add("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/) h := oItems:Add("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:SetProperty("CaptionFormat",h,0,1/*exHTML*/) oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/) h := oItems:Add("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oItems:SetProperty("CellSingleLine",h,0,1/*exCaptionBreakWrap*/) h := oItems:Add("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:SetProperty("CaptionFormat",h,0,1/*exHTML*/) oItems:SetProperty("CellSingleLine",h,0,1/*exCaptionBreakWrap*/) oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
540 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:DrawGridLines := -1/*exAllLines*/ oList:ColumnAutoResize := .F. oList:ScrollBySingleLine := .T. oList:Columns():Add("Default"):Width := 128 oItems := oList:Items() oItems:SetProperty("CellSingleLine",oItems:Add("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0,1/*exCaptionBreakWrap*/) oItems:Add("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
539 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:DrawGridLines := -1/*exAllLines*/ oList:ColumnAutoResize := .F. oList:ScrollBySingleLine := .T. oColumn := oList:Columns():Add("Default") oColumn:Width := 128 oColumn:SetProperty("Def",16/*exCellSingleLine*/,1) oItems := oList:Items() oItems:Add("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oItems:Add("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
538 |
How can I change the visual appearance/color of the Filter For ... field
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:SetProperty("BackColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 1,0,0 } ) , .F. )) oList:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oList:SetProperty("Background",26/*exBackColorFilter*/,oList:BackColorHeader()) oList:SetProperty("Background",27/*exForeColorFilter*/,oList:ForeColorHeader()) oList:SetProperty("Background",0/*exHeaderFilterBarButton*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oList:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oList:HeaderAppearance := 5/*Bump*/ oColumn := oList:Columns():Add("Items") oColumn:FilterOnType := .T. oColumn:DisplayFilterButton := .T. oColumn:FilterList := 2/*exNoItems*/ oItems := oList:Items() oItems:Add("Item 1") oItems:Add("Item 2") oItems:Add("Item 3") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
537 |
How can I display the cell's caption without spaces on both sides
|
536 |
How can I highlight the spaces within the column (sample 2)
|
535 |
How can I highlight the spaces within the column (sample 1)
|
534 |
How can I change the visual aspect of the drop down filter-calendar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:SetProperty("Background",26/*exBackColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. )) oList:SetProperty("Background",27/*exForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oList:SetProperty("Background",12/*exDateScrollRange*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oList:SetProperty("Background",8/*exDateHeader*/,oList:Background(26/*exBackColorFilter*/)) oList:SetProperty("Background",11/*exDateScrollThumb*/,AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. )) oColumn := oList:Columns():Add("Date") oColumn:FilterType := 4/*exDate*/ oColumn:DisplayFilterButton := .T. oColumn:DisplayFilterDate := .T. oColumn:DisplayFilterPattern := .F. oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
533 |
Export Data in HTML format
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5,oColumn6 LOCAL oColumns LOCAL oConditionalFormat,oConditionalFormat1 LOCAL oConditionalFormats LOCAL oItems LOCAL oShellBrowserWindow LOCAL oList LOCAL sFile oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oList:DrawGridLines := -1/*exAllLines*/ oList:HeaderAppearance := 4/*Etched*/ oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oList:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oList:FilterBarPromptType := 2/*exFilterPromptContainsAny*/ oConditionalFormats := oList:ConditionalFormats() oConditionalFormats:Add("%0 like `*AA*`","aa"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 192,192,192 } ) , .F. )) oConditionalFormat := oConditionalFormats:Add("%0 like `*D*`","d") oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,128,128 } ) , .F. )) oConditionalFormat:ApplyTo := 0/*exFormatToColumns*/ oConditionalFormat1 := oConditionalFormats:Add("%0 like `*b*`","b") oConditionalFormat1:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oConditionalFormat1:Bold := .T. oConditionalFormat1:Italic := .T. oConditionalFormat1:ApplyTo := 0/*exFormatToColumns*/ oColumns := oList:Columns() oColumn := oColumns:Add("Value") oColumn:Width := 128 oColumn:HTMLCaption := "<b>VA</b><r>sko" oColumn1 := oColumns:Add("APos") oColumn1:FormatColumn := "0 apos ``" oColumn1:AllowSort := .F. oColumn1:SetProperty("Def",4/*exCellBackColor*/,15790320) oColumn1:SetProperty("Def",5/*exCellForeColor*/,8421504) oColumn1:SetProperty("Def",8/*exHeaderForeColor*/,oColumn1:Def(5/*exCellForeColor*/)) oColumn1:Position := 0 oColumn2 := oColumns:Add("RPos") oColumn2:FormatColumn := "0 rpos ``" oColumn2:AllowSort := .F. oColumn2:Position := 1 oColumn3 := oColumns:Add("Index") oColumn3:FormatColumn := "0 index ``" oColumn3:DisplayFilterButton := .T. oColumn3:FilterList := 256/*exShowCheckBox*/ oColumn3:Position := 2 oColumn4 := oColumns:Add("Data 1") oColumn4:FormatColumn := "0 index `A-Z`" oColumn4:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn5 := oColumns:Add("Data 2") oColumn5:FormatColumn := "0 index `AB` replace `A` with `<off -4>A</off>`" oColumn5:SetProperty("Def",16/*exCellSingleLine*/,.F.) oColumn5:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn5:SetProperty("Def",1/*exCellHasRadioButton*/,.T.) oColumn6 := oColumns:Add("Data 3") oColumn6:FormatColumn := "0 index `CDC` replace `D` with `<b>D</b>`" oColumn6:SetProperty("Def",17/*exCaptionFormat*/,1) oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oItems:SetProperty("CellState",2,4,1) oItems:Add("Item AA") oItems:Add("Item BB") oItems:Add("Item CC") oItems:SetProperty("CellState",5,5,1) oItems:Add("Item D") oItems:Add("Item EE") oItems:Add("Item FFF") oList:EndUpdate() sFile := "c:/temp/export.html" oList:Export(sFile,"vis") oShellBrowserWindow := CreateObject("InternetExplorer.Application") oShellBrowserWindow:Navigate2(sFile) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
532 |
Export Data in CSV format
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5,oColumn6 LOCAL oColumns LOCAL oConditionalFormat,oConditionalFormat1 LOCAL oConditionalFormats LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oList:DrawGridLines := -1/*exAllLines*/ oList:HeaderAppearance := 4/*Etched*/ oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oList:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oList:FilterBarPromptType := 2/*exFilterPromptContainsAny*/ oConditionalFormats := oList:ConditionalFormats() oConditionalFormats:Add("%0 like `*AA*`","aa"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 192,192,192 } ) , .F. )) oConditionalFormat := oConditionalFormats:Add("%0 like `*D*`","d") oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,128,128 } ) , .F. )) oConditionalFormat:ApplyTo := 0/*exFormatToColumns*/ oConditionalFormat1 := oConditionalFormats:Add("%0 like `*b*`","b") oConditionalFormat1:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oConditionalFormat1:Bold := .T. oConditionalFormat1:Italic := .T. oConditionalFormat1:ApplyTo := 0/*exFormatToColumns*/ oColumns := oList:Columns() oColumn := oColumns:Add("Value") oColumn:Width := 128 oColumn:HTMLCaption := "<b>VA</b><r>sko" oColumn1 := oColumns:Add("APos") oColumn1:FormatColumn := "0 apos ``" oColumn1:AllowSort := .F. oColumn1:SetProperty("Def",4/*exCellBackColor*/,15790320) oColumn1:SetProperty("Def",5/*exCellForeColor*/,8421504) oColumn1:SetProperty("Def",8/*exHeaderForeColor*/,oColumn1:Def(5/*exCellForeColor*/)) oColumn1:Position := 0 oColumn2 := oColumns:Add("RPos") oColumn2:FormatColumn := "0 rpos ``" oColumn2:AllowSort := .F. oColumn2:Position := 1 oColumn3 := oColumns:Add("Index") oColumn3:FormatColumn := "0 index ``" oColumn3:DisplayFilterButton := .T. oColumn3:FilterList := 256/*exShowCheckBox*/ oColumn3:Position := 2 oColumn4 := oColumns:Add("Data 1") oColumn4:FormatColumn := "0 index `A-Z`" oColumn4:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn5 := oColumns:Add("Data 2") oColumn5:FormatColumn := "0 index `AB` replace `A` with `<off -4>A</off>`" oColumn5:SetProperty("Def",16/*exCellSingleLine*/,.F.) oColumn5:SetProperty("Def",17/*exCaptionFormat*/,1) oColumn5:SetProperty("Def",1/*exCellHasRadioButton*/,.T.) oColumn6 := oColumns:Add("Data 3") oColumn6:FormatColumn := "0 index `CDC` replace `D` with `<b>D</b>`" oColumn6:SetProperty("Def",17/*exCaptionFormat*/,1) oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oItems:SetProperty("CellState",2,4,1) oItems:Add("Item AA") oItems:Add("Item BB") oItems:Add("Item CC") oItems:SetProperty("CellState",5,5,1) oItems:Add("Item D") oItems:Add("Item EE") oItems:Add("Item FFF") oList:EndUpdate() DevOut( Transform(oList:Export("","vis"),"") ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
531 |
How can I get the icon from the cell when using the Items.CellImages property (icon index)
PROCEDURE OnMouseMove(oList,Button,Shift,X,Y) LOCAL i i := oList:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oList:FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` ) : `no image`",hit,oList:Items:CellImages(i,c)),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oList,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oList:Columns():Add("Default") oItems := oList:Items() oItems:SetProperty("CellImages",oItems:Add("Item 1"),0,"3,2,1") oItems:SetProperty("CellImages",oItems:Add("Item 2"),0,"2,3") oItems:SetProperty("CellImages",oItems:Add("Item 3"),0,"2,") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
530 |
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)
PROCEDURE OnMouseMove(oList,Button,Shift,X,Y) LOCAL i i := oList:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oList:FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oList,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oList:Columns():Add("Default") oItems := oList:Items() oItems:SetProperty("CellImages",oItems:Add("Item 1"),0,"3,2,1") oItems:SetProperty("CellImages",oItems:Add("Item 2"),0,"2,3") oItems:SetProperty("CellImages",oItems:Add("Item 3"),0,"2") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
529 |
How can I get the index of icon from the cell, if using the CellImages property
PROCEDURE OnMouseMove(oList,Button,Shift,X,Y) LOCAL i i := oList:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oList:FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oList,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oList:Columns():Add("Default") oItems := oList:Items() oItems:SetProperty("CellImages",oItems:Add("Item 1"),0,"1,2,3") oItems:SetProperty("CellImages",oItems:Add("Item 2"),0,"2,3,1") oItems:SetProperty("CellImages",oItems:Add("Item 3"),0,"3,2,1") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
528 |
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
|
527 |
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oConditionalFormat LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:ColumnAutoResize := .T. oList:DefaultItemHeight := 20 oList:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hhWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +; "JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==") oList:Columns():Add("Default"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn := oList:Columns():Add("Position") oColumn:FormatColumn := "1 rindex ``" oColumn:Visible := .F. oConditionalFormat := oList:ConditionalFormats():Add("%C1 mod 2") oConditionalFormat:SetProperty("BackColor",0x1000000) oItems := oList:Items() oItems:Add("Item 1") oItems:Add("Item 2") oItems:Add("Item 3") oItems:Add("Item 4") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
526 |
Is it possible to change the caption from a column without to remove the column and add it with the new caption
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:Columns():Add("ColumnName"):Caption := "NewName" oList:Columns():Add("ColumnName"):HTMLCaption := "<b>New</b>Name" oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
525 |
FilterBarCaption ALL Keyword ( sample 2, result )
PROCEDURE OnAddItem(oList,Item) /*i = FormatABC("value + 1", Items.ItemToIndex(Item))*/ oList:Items():SetProperty("CellImage",Item,3,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddItem := {|Item| OnAddItem(oList,Item)} /*Occurs after a new Item is inserted to Items collection.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Check") oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oList:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oList:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") h := oItems:Add("Item B") oItems:SetProperty("Caption",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oList:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oList:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oList:Columns:Item(2):Filter := Transform(1,"") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
524 |
FilterBarCaption ALL Keyword ( sample 1 )
PROCEDURE OnAddItem(oList,Item) /*i = FormatABC("value + 1", Items.ItemToIndex(Item))*/ oList:Items():SetProperty("CellImage",Item,3,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddItem := {|Item| OnAddItem(oList,Item)} /*Occurs after a new Item is inserted to Items collection.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Check") oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oList:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oList:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") h := oItems:Add("Item B") oItems:SetProperty("Caption",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "all" oList:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oList:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oList:Columns:Item(2):Filter := Transform(1,"") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
523 |
FilterBarCaption ALLUI Keyword ( sample 2, result )
PROCEDURE OnAddItem(oList,Item) /*i = FormatABC("value + 1", Items.ItemToIndex(Item))*/ oList:Items():SetProperty("CellImage",Item,3,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddItem := {|Item| OnAddItem(oList,Item)} /*Occurs after a new Item is inserted to Items collection.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Check") oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oList:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oList:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") h := oItems:Add("Item B") oItems:SetProperty("Caption",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oList:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oList:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oList:Columns:Item(2):Filter := Transform(1,"") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
522 |
FilterBarCaption ALLUI Keyword ( sample 1 )
PROCEDURE OnAddItem(oList,Item) /*i = FormatABC("value + 1", Items.ItemToIndex(Item))*/ oList:Items():SetProperty("CellImage",Item,3,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddItem := {|Item| OnAddItem(oList,Item)} /*Occurs after a new Item is inserted to Items collection.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Check") oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oList:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oList:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") h := oItems:Add("Item B") oItems:SetProperty("Caption",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "allui" oList:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oList:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oList:Columns:Item(2):Filter := Transform(1,"") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
521 |
FilterBarCaption AVAILABLE Keyword ( sample 2, result )
PROCEDURE OnAddItem(oList,Item) /*i = FormatABC("value + 1", Items.ItemToIndex(Item))*/ oList:Items():SetProperty("CellImage",Item,3,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddItem := {|Item| OnAddItem(oList,Item)} /*Occurs after a new Item is inserted to Items collection.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Check") oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oList:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oList:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") h := oItems:Add("Item B") oItems:SetProperty("Caption",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oList:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oList:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oList:Columns:Item(2):Filter := Transform(1,"") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
520 |
FilterBarCaption AVAILABLE Keyword ( sample 1 )
PROCEDURE OnAddItem(oList,Item) /*i = FormatABC("value + 1", Items.ItemToIndex(Item))*/ oList:Items():SetProperty("CellImage",Item,3,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oItems LOCAL oList LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:AddItem := {|Item| OnAddItem(oList,Item)} /*Occurs after a new Item is inserted to Items collection.*/ oList:BeginUpdate() oList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Check") oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oList:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oList:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") h := oItems:Add("Item B") oItems:SetProperty("Caption",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "value + ` ` + available" oList:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oList:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oList:Columns:Item(2):Filter := Transform(1,"") oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
519 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Pos") oColumn2:AllowSizing := .F. oColumn2:AllowSort := .F. oColumn2:Width := 32 oColumn2:FormatColumn := "1 apos ``" oColumn2:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") oItems:SetProperty("Caption",oItems:Add("Item B"),1,"Sub-Item B") oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`" oList:FilterBarPromptVisible := 256/*exFilterBarToggle*/ oColumn3 := oList:Columns:Item(0) oColumn3:FilterType := 240/*exFilter*/ oColumn3:Filter := "Item A|Item B" oColumn4 := oList:Columns:Item(1) oColumn4:FilterType := 3/*exPattern*/ oColumn4:Filter := "*B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
518 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Pos") oColumn2:AllowSizing := .F. oColumn2:AllowSort := .F. oColumn2:Width := 32 oColumn2:FormatColumn := "1 apos ``" oColumn2:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") oItems:SetProperty("Caption",oItems:Add("Item B"),1,"Sub-Item B") oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:FilterBarFont := oList:Font() oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`" oList:FilterBarPromptVisible := 256/*exFilterBarToggle*/ oColumn3 := oList:Columns:Item(0) oColumn3:FilterType := 240/*exFilter*/ oColumn3:Filter := "Item A|Item B" oColumn4 := oList:Columns:Item(1) oColumn4:FilterType := 3/*exPattern*/ oColumn4:Filter := "*B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
517 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oColumn := oList:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oList:Columns():Add("Pos") oColumn2:AllowSizing := .F. oColumn2:AllowSort := .F. oColumn2:Width := 32 oColumn2:FormatColumn := "1 apos ``" oColumn2:Position := 0 oItems := oList:Items() oItems:SetProperty("Caption",oItems:Add("Item A"),1,"Sub-Item A") oItems:SetProperty("Caption",oItems:Add("Item B"),1,"Sub-Item B") oItems:SetProperty("Caption",oItems:Add("Item C"),1,"Sub-Item C") oList:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oList:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oList:Description(11/*exFilterBarAnd*/)),"")) oList:FilterBarCaption := "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`" oList:FilterBarPromptVisible := 256/*exFilterBarToggle*/ oColumn3 := oList:Columns:Item(0) oColumn3:FilterType := 240/*exFilter*/ oColumn3:Filter := "Item A|Item B" oColumn4 := oList:Columns:Item(1) oColumn4:FilterType := 3/*exPattern*/ oColumn4:Filter := "*B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
516 |
Is it possible to automatically displays the control's filter label to the right
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oColumn := oList:Columns():Add("Item") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Pos") oColumn1:AllowSizing := .F. oColumn1:AllowSort := .F. oColumn1:Width := 32 oColumn1:FormatColumn := "1 apos ``" oColumn1:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarCaption := "`<r>` + value" oList:FilterBarPromptVisible := 1280/*exFilterBarShowCloseOnRight+exFilterBarToggle*/ oColumn2 := oList:Columns:Item(0) oColumn2:FilterType := 240/*exFilter*/ oColumn2:Filter := "Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
515 |
How can I get the number of results/items being shown in the control's filter bar (sample 4)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oColumn := oList:Columns():Add("Item") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oList:Columns():Add("Pos") oColumn1:AllowSizing := .F. oColumn1:AllowSort := .F. oColumn1:Width := 32 oColumn1:FormatColumn := "1 apos ``" oColumn1:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarFont := oList:Font() oList:FilterBarPrompt := Transform(oList:FormatABC("`<b>` + value",oList:FilterBarPrompt()),"") oList:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )" oList:FilterBarPromptVisible := 3591/*exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
514 |
How can I get the number of results being shown in the control's filter bar (sample 3)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarFont := oList:Font() oList:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : ``)" oList:FilterBarPromptVisible := 2055/*exFilterBarCompact+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oList:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
513 |
How can I get the number of results being shown in the control's filter bar (sample 2, compact)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarFont := oList:Font() oList:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)" oList:FilterBarPromptVisible := 2071/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oList:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
512 |
How can I get the number of results being shown in the control's filter bar (sample 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarFont := oList:Font() oList:FilterBarCaption := "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)" oList:FilterBarPromptVisible := 7/*exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oList:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
511 |
FilterBarCaption Predefined Keywords
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1,oColumn2 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Check") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:DisplayFilterButton := .T. oColumn:DisplayFilterPattern := .F. oColumn:FilterType := 6/*exCheck*/ oColumn1 := oList:Columns():Add("Pos") oColumn1:AllowSizing := .F. oColumn1:AllowSort := .F. oColumn1:Width := 32 oColumn1:FormatColumn := "1 apos ``" oColumn1:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarFont := oList:Font() oList:FilterBarCaption := "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" +; "i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`" oList:FilterBarPromptPattern := "B" oList:FilterBarPromptVisible := 7/*exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn2 := oList:Columns:Item(0) oColumn2:FilterType := 240/*exFilter*/ oColumn2:Filter := "Item A|Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
510 |
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarFont := oList:Font() oList:FilterBarCaption := "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value" oList:FilterBarPromptPattern := "B" oList:FilterBarPromptVisible := 2067/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oList:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
509 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarPromptVisible := 1281/*exFilterBarShowCloseOnRight+exFilterBarToggle+exFilterBarPromptVisible*/ oList:FilterBarPrompt := Transform(oList:FormatABC("`<r>` + value",oList:FilterBarPrompt()),"") oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
508 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:RightToLeft := .T. oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarPromptVisible := 257/*exFilterBarToggle+exFilterBarPromptVisible*/ oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
507 |
How can I change the visual appearance of the filter bar's close button (EBN)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oAppearance LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oAppearance := oList:VisualAppearance() oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +; "DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +; "kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ") oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarPromptVisible := 257/*exFilterBarToggle+exFilterBarPromptVisible*/ oList:SetProperty("Background",1/*exFooterFilterBarButton*/,0x1000000) oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
506 |
How can I change the visual appearance of the filter bar's close button (solid)
|
505 |
Is it possible to prevent definitely showing the filter bar's close button
|
504 |
Is it possible to show the close button only if there is a filter applied
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarPromptVisible := 513/*exFilterBarShowCloseIfRequired+exFilterBarPromptVisible*/ oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
503 |
The control's filter bar is not closed once I click the close button (toggle)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarCaption := "`<r><fgcolor=808080>` + value" oList:FilterBarPromptPattern := "B" oList:FilterBarPromptVisible := 2323/*exFilterBarCompact+exFilterBarToggle+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oList:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
502 |
How can I display the control's filter on a single line
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarCaption := "len(value) ? `filter for: <fgcolor 808080>` + value : `<fgcolor 808080>no filter`" oList:FilterBarPromptVisible := 18/*exFilterBarSingleLine+exFilterBarVisible*/ oColumn1 := oList:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
501 |
How can I display the control's filter on a single line (prompt-combined)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oColumn,oColumn1 LOCAL oItems LOCAL oList oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oList := XbpActiveXControl():new( oForm:drawingArea ) oList:CLSID := "Exontrol.List.1" /*{1B0CA5A8-2107-4460-BBEE-F25F8801B2F6}*/ oList:create(,, {10,60},{610,370} ) oList:BeginUpdate() oList:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oList:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oList:Items() oItems:Add("Item A") oItems:Add("Item B") oItems:Add("Item C") oList:FilterBarCaption := "`<r>` + value" oList:FilterBarPromptVisible := 2067/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oList:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oList:ApplyFilter() oList:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |