79
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Items.ItemHeight(0) = View.DefaultItemHeight */
	/* FilterBarFont.Size = Me.Font.Size */
	/* ToolTipFont.Size = Me.Font.Size */
	local var_Columns,var_Object,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.DefaultItemHeight = 36
		var_View.HeaderHeight = var_View.DefaultItemHeight
		var_View.SortBarHeight = var_View.DefaultItemHeight
		var_View.Indent = 26
		// var_View.CheckImage(0) = 16777216
		with (oCascadeTree)
			TemplateDef = [dim var_View]
			TemplateDef = var_View
			Template = [var_View.CheckImage(0) = 16777216]
		endwith
		// var_View.CheckImage(1) = 33554432
		with (oCascadeTree)
			TemplateDef = [dim var_View]
			TemplateDef = var_View
			Template = [var_View.CheckImage(1) = 33554432]
		endwith
		// var_View.CheckImage(2) = 50331648
		with (oCascadeTree)
			TemplateDef = [dim var_View]
			TemplateDef = var_View
			Template = [var_View.CheckImage(2) = 50331648]
		endwith
		var_View.EnsureVisibleColumn("Function")
		var_Object = var_View.Columns.Item("Function")
		// var_View.Columns.Item(0).Def(0) = true
		var_Columns = var_View.Columns.Item(0)
		with (oCascadeTree)
			TemplateDef = [dim var_Columns]
			TemplateDef = var_Columns
			Template = [var_Columns.Def(0) = True]
		endwith
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Appearance

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.ImageSize = 32
oCascadeTree.Font.Size = 16
oCascadeTree.Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIk" ;
 +"FgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/XioW5rD8ZbrUZuVg6n1dsE/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/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWRJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" ;
 +"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaD" ;
 +"RDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" &
 +"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBt" &
 +"YQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSeQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMa" ;
 +"J9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" &
 +"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjVHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBs" &
 +"H0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oCascadeTree.BackColorHeader = 0x4c6c6c6
oCascadeTree.SelBackColor = 0x4000000
oCascadeTree.SelForeColor = 0x10000
oCascadeTree.Template = [Background(20) = SelBackColor] // oCascadeTree.Background(20 /*0x14 | */) = oCascadeTree.SelBackColor
oCascadeTree.Template = [Background(21) = SelForeColor] // oCascadeTree.Background(21 /*0x15 | */) = oCascadeTree.SelForeColor
oCascadeTree.Template = [Background(26) = BackColor] // oCascadeTree.Background(26 /*0x8 | exSplitBar*/) = oCascadeTree.BackColor
oCascadeTree.Template = [Background(27) = ForeColor] // oCascadeTree.Background(27 /*0x9 | exSplitBar*/) = oCascadeTree.ForeColor
oCascadeTree.Template = [Background(32) = -1] // oCascadeTree.Background(32 /*0x20 | */) = -1
oCascadeTree.Template = [Background(0) = 67108864] // oCascadeTree.Background(0 /*0x0 | */) = 0x4000000
oCascadeTree.Template = [Background(41) = 67174657] // oCascadeTree.Background(41) = 0x4010101
oCascadeTree.Template = [Background(1) = 67109119] // oCascadeTree.Background(1 /*0x1 | */) = 0x40000ff
oCascadeTree.HeaderAppearance = 4
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.BackColorLevelHeader = oCascadeTree.BackColor
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\MN"
oCascadeTree.EndUpdate()

78
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Columns,var_Object,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.EnsureVisibleColumn("Function")
		var_Object = var_View.Columns.Item("Function")
		// var_View.Columns.Item(0).Def(0) = true
		var_Columns = var_View.Columns.Item(0)
		with (oCascadeTree)
			TemplateDef = [dim var_Columns]
			TemplateDef = var_Columns
			Template = [var_Columns.Def(0) = True]
		endwith
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Appearance

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.ImageSize = 16
oCascadeTree.Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oCascadeTree.BackColorHeader = 0x4c6c6c6
oCascadeTree.SelBackColor = 0x4000000
oCascadeTree.SelForeColor = 0x10000
oCascadeTree.Template = [Background(20) = SelBackColor] // oCascadeTree.Background(20 /*0x14 | */) = oCascadeTree.SelBackColor
oCascadeTree.Template = [Background(21) = SelForeColor] // oCascadeTree.Background(21 /*0x15 | */) = oCascadeTree.SelForeColor
oCascadeTree.Template = [Background(26) = BackColor] // oCascadeTree.Background(26 /*0x8 | exSplitBar*/) = oCascadeTree.BackColor
oCascadeTree.Template = [Background(27) = ForeColor] // oCascadeTree.Background(27 /*0x9 | exSplitBar*/) = oCascadeTree.ForeColor
oCascadeTree.Template = [Background(32) = -1] // oCascadeTree.Background(32 /*0x20 | */) = -1
oCascadeTree.Template = [Background(0) = 67108864] // oCascadeTree.Background(0 /*0x0 | */) = 0x4000000
oCascadeTree.Template = [Background(41) = 67174657] // oCascadeTree.Background(41) = 0x4010101
oCascadeTree.Template = [Background(1) = 67109119] // oCascadeTree.Background(1 /*0x1 | */) = 0x40000ff
oCascadeTree.HeaderAppearance = 4
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.BackColorLevelHeader = oCascadeTree.BackColor
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\MN"
oCascadeTree.EndUpdate()

77
Is it possible to highlight the column's header once a filter is applied

local h,oCascadeTree,var_Appearance,var_Column,var_Column1,var_Column2,var_Columns,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=")
	var_Appearance.Add(1,"CP:2 -8 -4 2 4")
oCascadeTree.Template = [Background(0) = 33488638] // oCascadeTree.Background(0 /*0x0 | */) = 0x1fefefe
oCascadeTree.Template = [Background(41) = 16843009] // oCascadeTree.Background(41) = 0x1010101
oCascadeTree.Template = [Background(32) = -1] // oCascadeTree.Background(32 /*0x20 | */) = -1
oCascadeTree.BackColorHeader = 0xffffff
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.HeaderHeight = 28
	var_View.DrawGridLines = -2
	var_View.HeaderVisible = true
	var_Columns = var_View.Columns
		// var_Columns.Add("C1").DisplayFilterButton = true
		var_Column = var_Columns.Add("C1")
		with (oCascadeTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.DisplayFilterButton = True]
		endwith
		var_Column1 = var_Columns.Add("C2")
			var_Column1.DisplayFilterButton = true
			var_Column1.Filter = "Item 2"
			var_Column1.FilterType = 240
		// var_Columns.Add("C3").DisplayFilterButton = true
		var_Column2 = var_Columns.Add("C3")
		with (oCascadeTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.DisplayFilterButton = True]
		endwith
	var_Items = var_View.Items
		h = var_Items.AddItem("Item 1")
		// var_Items.CellValue(h,1) = "Item 2"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValue(h,1) = "Item 2"]
		endwith
		// var_Items.CellValue(h,2) = "Item 3"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValue(h,2) = "Item 3"]
		endwith
		h = var_Items.AddItem("Item 4")
		// var_Items.CellValue(h,1) = "Item 5"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValue(h,1) = "Item 5"]
		endwith
		// var_Items.CellValue(h,2) = "Item 6"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValue(h,2) = "Item 6"]
		endwith
	var_View.ApplyFilter()
oCascadeTree.EndUpdate()

76
Is it possible to show the filterbar on top of the rows

local oCascadeTree,var_Column,var_Column1,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.ColumnAutoResize = true
	var_View.FilterBarPromptVisible = 8192
	var_View.HeaderHeight = 24
	var_View.FilterBarHeight = var_View.HeaderHeight
	var_View.HeaderAppearance = 1
	var_View.DrawGridLines = -1
	var_View.GridLineStyle = 512
	var_Column = var_View.Columns.Add("Column")
		var_Column.DisplayFilterButton = true
		var_Column.FilterType = 3
		var_Column.Filter = "B*"
	var_Column1 = var_View.Columns.Add("Index")
		var_Column1.FormatColumn = "1 index ``"
		var_Column1.Position = 0
		var_Column1.Width = 48
		var_Column1.AllowSizing = false
		var_Column1.SortType = 1
		// var_Column1.Def(0) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(0) = True]
		endwith
	var_Items = var_View.Items
		var_Items.AddItem("A.1")
		var_Items.AddItem("A.2")
		var_Items.AddItem("B.1")
		var_Items.AddItem("B.2")
		var_Items.AddItem("B.3")
		var_Items.AddItem("C")
	var_View.ApplyFilter()
oCascadeTree.EndUpdate()

75
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local k,var_Items,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		k = var_View.ParentView.Value()
		var_View.BeginUpdate()
		var_View.ColumnAutoResize = true
		var_View.Columns.Add(Str(k))
		var_Items = var_View.Items
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 1`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 2`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 3`",k))
		var_View.EndUpdate()
return

local oCascadeTree,var_Column,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_View = oCascadeTree.View
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_Column = var_View.Columns.Add("Default")
		var_Column.AllowSort = false
		var_Column.AllowDragging = false
	var_View.Key = 0
	var_Items = var_View.Items
		var_Items.AddItem("Item A")
		// var_Items.SelectItem(var_Items.AddItem("Item B")) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.SelectItem(AddItem("Item B")) = True]
		endwith
		var_Items.AddItem("Item C")
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

74
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local k,var_Items,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		k = var_View.ParentView.Value()
		var_View.BeginUpdate()
		var_View.ColumnAutoResize = true
		var_View.Columns.Add(Str(k))
		var_Items = var_View.Items
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 1`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 2`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 3`",k))
		var_View.EndUpdate()
return

local oCascadeTree,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [Background(32) = -1] // oCascadeTree.Background(32 /*0x20 | */) = -1
var_View = oCascadeTree.View
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Add("Default")
	var_View.Key = 0
	var_Items = var_View.Items
		var_Items.AddItem("Item A")
		// var_Items.SelectItem(var_Items.AddItem("Item B")) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.SelectItem(AddItem("Item B")) = True]
		endwith
		var_Items.AddItem("Item C")
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

73
Type of wraps the cell's caption support (Sample 2)

local oCascadeTree,var_Column,var_Column1,var_Column2,var_Columns,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.BeginUpdate()
	var_View.HeaderSingleLine = false
	var_View.HeaderHeight = 36
	var_View.DrawGridLines = -2
	var_View.ColumnAutoResize = false
	var_View.ScrollBySingleLine = true
	var_Columns = var_View.Columns
		var_Column = var_Columns.Add("Single-Line (exCaptionSingleLine)")
			var_Column.Width = 96
			// var_Column.Def(17) = 1
			with (oCascadeTree)
				TemplateDef = [dim var_Column]
				TemplateDef = var_Column
				Template = [var_Column.Def(17) = 1]
			endwith
			// var_Column.Def(16) = -1
			with (oCascadeTree)
				TemplateDef = [dim var_Column]
				TemplateDef = var_Column
				Template = [var_Column.Def(16) = -1]
			endwith
		var_Column1 = var_Columns.Add("Word-Wrap (exCaptionWordWrap)")
			var_Column1.Width = 96
			// var_Column1.Def(17) = 1
			with (oCascadeTree)
				TemplateDef = [dim var_Column1]
				TemplateDef = var_Column1
				Template = [var_Column1.Def(17) = 1]
			endwith
			// var_Column1.Def(16) = 0
			with (oCascadeTree)
				TemplateDef = [dim var_Column1]
				TemplateDef = var_Column1
				Template = [var_Column1.Def(16) = 0]
			endwith
			var_Column1.FormatColumn = "%0"
		var_Column2 = var_Columns.Add("Break-Wrap (exCaptionBreakWrap)")
			var_Column2.Width = 96
			// var_Column2.Def(17) = 1
			with (oCascadeTree)
				TemplateDef = [dim var_Column2]
				TemplateDef = var_Column2
				Template = [var_Column2.Def(17) = 1]
			endwith
			// var_Column2.Def(16) = 1
			with (oCascadeTree)
				TemplateDef = [dim var_Column2]
				TemplateDef = var_Column2
				Template = [var_Column2.Def(16) = 1]
			endwith
			var_Column2.FormatColumn = "%0"
	var_Items = var_View.Items
		var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
		var_Items.AddItem("This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.")
	var_View.EndUpdate()

72
Type of wraps the cell's caption support (Sample 1)

local h,oCascadeTree,var_Column,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.BeginUpdate()
	var_View.HeaderSingleLine = false
	var_View.HeaderHeight = 36
	var_View.DrawGridLines = -2
	var_View.ColumnAutoResize = false
	var_View.ScrollBySingleLine = true
	// var_View.Columns.Add("Default").Width = 128
	var_Column = var_View.Columns.Add("Default")
	with (oCascadeTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 128]
	endwith
	var_Items = var_View.Items
		h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
		h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
		// var_Items.CellValueFormat(h,0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValueFormat(h,0) = 1]
		endwith
		h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
		// var_Items.CellSingleLine(h,0) = 0
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellSingleLine(h,0) = 0]
		endwith
		h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
		// var_Items.CellValueFormat(h,0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValueFormat(h,0) = 1]
		endwith
		// var_Items.CellSingleLine(h,0) = 0
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellSingleLine(h,0) = 0]
		endwith
		h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
		// var_Items.CellSingleLine(h,0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellSingleLine(h,0) = 1]
		endwith
		h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
		// var_Items.CellValueFormat(h,0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValueFormat(h,0) = 1]
		endwith
		// var_Items.CellSingleLine(h,0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellSingleLine(h,0) = 1]
		endwith
	var_View.EndUpdate()

71
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

local oCascadeTree,var_Column,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.BeginUpdate()
	var_View.DrawGridLines = -2
	var_View.ColumnAutoResize = false
	var_View.ScrollBySingleLine = true
	// var_View.Columns.Add("Default").Width = 128
	var_Column = var_View.Columns.Add("Default")
	with (oCascadeTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 128]
	endwith
	var_Items = var_View.Items
		// var_Items.CellSingleLine(var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.CellSingleLine(AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0) = 1]
		endwith
		var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	var_View.EndUpdate()

70
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

local oCascadeTree,var_Column,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.BeginUpdate()
	var_View.DrawGridLines = -2
	var_View.ColumnAutoResize = false
	var_View.ScrollBySingleLine = true
	var_Column = var_View.Columns.Add("Default")
		var_Column.Width = 128
		// var_Column.Def(16) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(16) = 1]
		endwith
	var_Items = var_View.Items
		var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
		var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	var_View.EndUpdate()

69
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

local oCascadeTree,var_Appearance,var_Columns,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIBICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
	var_Appearance.Add(2,"CP:1 0 -36 0 0")
oCascadeTree.Template = [Background(182) = 33554432] // oCascadeTree.Background(182) = 0x2000000
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.BeginUpdate()
	var_View.HeaderAppearance = 4
	var_Columns = var_View.Columns
		var_Columns.Add("Column 1")
		var_Columns.Add("Column 2")
		var_Columns.Add("Column 3")
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

68
DataSource (control, ADODB, ACCDB, x64)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local bColumnAutoResize,bSingle,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	bSingle = oCascadeTree.FormatABC("value > 0 ?  0 : -1",oCascadeTree.View.Index)
	bColumnAutoResize = oCascadeTree.FormatABC("value = `City` ?  0 : -1",oCascadeTree.View.Tag)
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = false
		var_View.SingleSel = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 515 /*exAutoFitOnResizeClient | exSplitFixCascadeMode*/
oCascadeTree.DataSource = "locktype=1;Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

67
DataSource (view, ADODB, ACCDB, x64)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local ado,oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be string (Source/Member), ADO or DAO objects"
oCascadeTree.DefColumnWidth = 336
ado = new OleAutoClient("ADODB.Recordset")
	ado.Open("Countries","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb",3,1,-1)
var_View = oCascadeTree.DefaultView()
	var_View.DataSource = ado
	var_View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

66
Simple sample

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local bColumnAutoResize,bSingle,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	bSingle = oCascadeTree.FormatABC("value > 0 ?  0 : -1",oCascadeTree.View.Index)
	bColumnAutoResize = oCascadeTree.FormatABC("value = `City` ?  0 : -1",oCascadeTree.View.Tag)
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = false
		var_View.SingleSel = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 515 /*exAutoFitOnResizeClient | exSplitFixCascadeMode*/
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.EndUpdate()

65
FilterBar sample

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_View,var_View1,var_View2,var_View3,var_View4,var_View5
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.HeaderHeight = 20
		var_View.HeaderAppearance = 4
		var_View.DrawGridLines = -1
		var_View.GridLineStyle = 12
	var_View1 = oCascadeTree.DefaultView()
		var_View2 = var_View1.View("Country")
			var_View2.BeginUpdate()
			var_View2.ColumnAutoResize = true
			var_View2.Columns.Item(0).Visible = false
			var_Column = var_View2.Columns.Item(1)
				var_Column.HTMLCaption = "Country"
				var_Column.DisplayFilterButton = true
				var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
				var_Column.FilterBarDropDownWidth = 2
			var_View2.EndUpdate()
		var_View3 = var_View1.View("State")
			var_View3.BeginUpdate()
			var_View3.ColumnAutoResize = true
			var_View3.Columns.Item(0).Visible = false
			var_View3.Columns.Item(1).Visible = false
			var_Column1 = var_View3.Columns.Item(2)
				var_Column1.HTMLCaption = "State"
				var_Column1.DisplayFilterButton = true
				var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
				var_Column1.FilterBarDropDownWidth = 2
			var_View3.EndUpdate()
		var_View4 = var_View1.View("City")
			var_View4.BeginUpdate()
			var_View4.Columns.Item("CountryCode").Visible = false
			var_View4.Columns.Item("StateCode").Visible = false
			var_Column2 = var_View4.Columns.Item("Name")
				var_Column2.HTMLCaption = "City"
				var_Column2.Width = 128
				var_Column2.DisplayFilterButton = true
				var_Column2.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
				var_Column2.FilterBarDropDownWidth = 2
			var_View4.SearchColumnIndex = var_View4.Columns.Item("Name").Index
			var_Column3 = var_View4.Columns.Item("Status")
				var_Column3.DisplayFilterButton = true
				var_Column3.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
				var_Column3.FilterBarDropDownWidth = 2
			var_Column4 = var_View4.Columns.Item("Function")
				// var_Column4.Def(17) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Column4]
					TemplateDef = var_Column4
					Template = [var_Column4.Def(17) = 1]
				endwith
				var_Column4.FormatColumn = "value replace 1 with `<img>1</img>` replace 2 with `<img>2</img>` replace 3 with `<img>3</img>` replace 4 with `<img>4</img>` replace 5 with `<img>5</img>` replace 6 with `<img>6</img>` replace 7 with `<img>7</img>` replace 8 with `<img>8</img>` replace 9 with `<img>9</img>` replace `-` with `` "
			var_Column5 = var_View4.Columns.Add("Pos")
				var_Column5.AllowSizing = false
				var_Column5.Width = 32
				// var_Column5.Def(4) = 15790320
				with (oCascadeTree)
					TemplateDef = [dim var_Column5]
					TemplateDef = var_Column5
					Template = [var_Column5.Def(4) = 15790320]
				endwith
				var_Column5.Position = 0
				var_Column5.FormatColumn = "1 pos ``"
				var_Column5.Alignment = 1
				var_Column5.HeaderAlignment = var_Column5.Alignment
			var_View4.CountLockedColumns = 1
			var_View4.Width = var_View4.WidthToFit
			var_View4.EndUpdate()
	var_View5 = oCascadeTree.View
		var_View5.FilterBarHeight = 36
		var_View5.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)`) )))"
		var_View5.FilterBarPromptVisible = 515 /*exFilterBarShowCloseIfRequired | exFilterBarVisible | exFilterBarPromptVisible*/
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Appearance,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-01.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-02.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-03.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-04.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-05.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-06.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-07.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-08.ico")
oCascadeTree.Images("C:\Program Files\Exontrol\ExCascadeTree\Sample\Bullets\Bullet-09.ico")
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "RO\CJ"
var_View = oCascadeTree.DefaultView().View("City")
	var_View.FilterBarPromptPattern = "Tu"
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIBICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" ;
 +"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAkjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ")
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 4] // oCascadeTree.Background(170) = 0x4
oCascadeTree.Template = [Background(0) = 16777216] // oCascadeTree.Background(0 /*0x0 | */) = 0x1000000
oCascadeTree.Template = [Background(1) = 33554432] // oCascadeTree.Background(1 /*0x1 | */) = 0x2000000
oCascadeTree.Template = [Background(32) = -1] // oCascadeTree.Background(32 /*0x20 | */) = -1
oCascadeTree.EndUpdate()

64
GroupBy sample

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local bGroupBy,nSelected,var_Column,var_Column1,var_Column2,var_View,var_View1,var_View2
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.HeaderHeight = 24
	var_View = oCascadeTree.DefaultView()
		var_View1 = var_View.View("State")
			var_View1.BeginUpdate()
			var_View1.SingleSel = false
			var_View1.ColumnAutoResize = true
			var_View1.Columns.Item(0).Visible = false
			var_View1.Columns.Item(1).Visible = false
			var_Column = var_View1.Columns.Item(2)
				var_Column.HTMLCaption = "State <off 4><fgcolor=808080>Name"
				var_Column.SortOrder = 1
			var_View1.EndUpdate()
		var_View2 = var_View.View("City")
			nSelected = var_View2.ParentView.Items.SelectCount
			bGroupBy = oCascadeTree.FormatABC("value > 1 ? -1 : 0",nSelected)
			var_View2.BeginUpdate()
			var_View2.SingleSel = false
			var_View2.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
			var_View2.HasLines = 1
			var_View2.ColumnAutoResize = false
			var_View2.DrawGridLines = 2
			var_View2.GridLineStyle = 32
			var_View2.Columns.Item("CountryCode").Visible = false
			var_Column1 = var_View2.Columns.Item("Name")
				var_Column1.HTMLCaption = "City <off 4><fgcolor=808080>Name"
				var_Column1.Width = 128
				var_Column1.SortOrder = 1
			var_View2.SearchColumnIndex = 2
			var_View2.TreeColumnIndex = var_View2.SearchColumnIndex
			var_View2.SingleSort = false
			var_View2.AllowGroupBy = false
			var_View2.SortBarVisible = false
			var_Column2 = var_View2.Columns.Item("StateCode")
				var_Column2.Visible = false
				var_Column2.SortOrder = 1
			var_View2.Width = var_View2.WidthToFit
			var_View2.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Appearance,var_Column,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"C:\Program Files\Exontrol\ExCascadeTree\Sample\EBN\Assorted\vistaselDark.ebn")
	var_Appearance.Add(2,"C:\Program Files\Exontrol\ExCascadeTree\Sample\EBN\Assorted\bhframe.ebn")
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "RO\CJ|BV|GL|IL"
var_View = oCascadeTree.DefaultView().View("Country")
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Item(0).Visible = false
	var_Column = var_View.Columns.Item(1)
		var_Column.HTMLCaption = "Country <off 4><fgcolor=808080>Name"
		var_Column.SortOrder = 1
	var_View.EndUpdate()
oCascadeTree.SelBackColor = 0x1000000
oCascadeTree.SelForeColor = 0xffffff
oCascadeTree.BackColorHeader = 0x2000000
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.BackColorSortBarCaption = oCascadeTree.BackColor
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 4] // oCascadeTree.Background(170) = 0x4
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.EndUpdate()

63
Manual sample

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(V)
	local k,var_Column,var_Items,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.BeginUpdate()
		k = var_View.ParentView.Value()
		var_View.HeaderVisible = false
		var_View.ColumnAutoResize = true
		var_View.ScrollBySingleLine = true
		// var_View.Columns.Add("Default").Def(16) = false
		var_Column = var_View.Columns.Add("Default")
		with (oCascadeTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(16) = False]
		endwith
		var_View.Key = 0
		var_Items = var_View.Items
			var_Items.AddItem(oCascadeTree.FormatABC("A + `.Child 1`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `.Child 2`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `.Child 3`",k))
		var_View.EndUpdate()
return

local oCascadeTree,var_Column,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.BackColorAlternate = 0x7ff0f0f0
oCascadeTree.Template = [Background(18) = 15790320] // oCascadeTree.Background(18) = 0xf0f0f0
var_View = oCascadeTree.DefaultView()
	var_View.BeginUpdate()
	var_View.HeaderVisible = false
	var_View.ColumnAutoResize = true
	var_View.ScrollBySingleLine = true
	// var_View.Columns.Add("Default").Def(16) = false
	var_Column = var_View.Columns.Add("Default")
	with (oCascadeTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(16) = False]
	endwith
	var_View.Key = 0
	var_Items = var_View.Items
		var_Items.AddItem("Item A")
		var_Items.AddItem("Item B")
		var_Items.AddItem("Item C")
	var_View.EndUpdate()
oCascadeTree.Select = "Item A\Item*A*2\Item*A*2*3\"
oCascadeTree.EndUpdate()

62
Appearance sample

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local h,var_Column,var_Column1,var_ConditionalFormat,var_Items,var_Items1,var_View,var_View1,var_View2
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.HeaderHeight = 24
	var_View = oCascadeTree.DefaultView()
		var_View1 = var_View.View("State")
			var_View1.BeginUpdate()
			var_View1.ColumnAutoResize = true
			var_View1.Columns.Item(0).Visible = false
			var_View1.Columns.Item(1).Visible = false
			var_Column = var_View1.Columns.Item(2)
				var_Column.HTMLCaption = "State <off 4><fgcolor=808080>Name"
				var_Column.SortOrder = 1
			var_Items = var_View1.Items
				// var_Items.LockedItemCount(0) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items]
					TemplateDef = var_Items
					Template = [var_Items.LockedItemCount(0) = 1]
				endwith
				h = var_Items.LockedItem(0,0)
				// var_Items.ItemDivider(h) = 0
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.ItemDivider(h) = 0]
				endwith
				// var_Items.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.CellValueFormat(h,0) = 5]
				endwith
				// var_Items.CellValue(h,0) = "count(all,all,1)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.CellValue(h,0) = "count(all,all,1)"]
				endwith
				// var_Items.FormatCell(h,0) = "`<r>States: <b>`+ (value format `0`)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.FormatCell(h,0) = "`<r>States: <b>`+ (value format `0`)"]
				endwith
			var_View1.EndUpdate()
		var_View2 = var_View.View("City")
			var_View2.BeginUpdate()
			var_View2.SingleSel = false
			var_View2.ColumnAutoResize = false
			var_View2.DrawGridLines = 2
			var_View2.GridLineStyle = 32
			var_View2.Columns.Item(0).Visible = false
			var_View2.Columns.Item(1).Visible = false
			var_Column1 = var_View2.Columns.Item(2)
				var_Column1.HTMLCaption = "City <off 4><fgcolor=808080>Name"
				var_Column1.Width = 128
				// var_Column1.Def(0) = true
				with (oCascadeTree)
					TemplateDef = [dim var_Column1]
					TemplateDef = var_Column1
					Template = [var_Column1.Def(0) = True]
				endwith
				var_Column1.SortOrder = 1
			var_View2.SearchColumnIndex = 2
			// var_View2.ConditionalFormats.Add("%CS2 = 1").Bold = true
			var_ConditionalFormat = var_View2.ConditionalFormats.Add("%CS2 = 1")
			with (oCascadeTree)
				TemplateDef = [dim var_ConditionalFormat]
				TemplateDef = var_ConditionalFormat
				Template = [var_ConditionalFormat.Bold = True]
			endwith
			var_Items1 = var_View2.Items
				// var_Items1.LockedItemCount(0) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items1]
					TemplateDef = var_Items1
					Template = [var_Items1.LockedItemCount(0) = 1]
				endwith
				h = var_Items1.LockedItem(0,0)
				// var_Items1.ItemDivider(h) = 0
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.ItemDivider(h) = 0]
				endwith
				// var_Items1.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.CellValueFormat(h,0) = 5]
				endwith
				// var_Items1.CellValue(h,0) = "count(all,all,1)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.CellValue(h,0) = "count(all,all,1)"]
				endwith
				// var_Items1.FormatCell(h,0) = "`<r>Cities: <b>`+ (value format `0`)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.FormatCell(h,0) = "`<r>Cities: <b>`+ (value format `0`)"]
				endwith
			var_View2.Width = var_View2.WidthToFit
			var_View2.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local h,oCascadeTree,var_Appearance,var_Column,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"C:\Program Files\Exontrol\ExCascadeTree\Sample\EBN\MSOffice-Ribbon\msor_select.ebn")
	var_Appearance.Add(2,"C:\Program Files\Exontrol\ExCascadeTree\Sample\EBN\MSOffice-Ribbon\msor_background.ebn")
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
var_View = oCascadeTree.DefaultView().View("Country")
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Item(0).Visible = false
	var_Column = var_View.Columns.Item(1)
		var_Column.HTMLCaption = "Country <off 4><fgcolor=808080>Name"
		var_Column.SortOrder = 1
	var_Items = var_View.Items
		// var_Items.LockedItemCount(0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.LockedItemCount(0) = 1]
		endwith
		h = var_Items.LockedItem(0,0)
		// var_Items.ItemDivider(h) = 0
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.ItemDivider(h) = 0]
		endwith
		// var_Items.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValueFormat(h,0) = 5]
		endwith
		// var_Items.CellValue(h,0) = "count(all,all,1)"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValue(h,0) = "count(all,all,1)"]
		endwith
		// var_Items.FormatCell(h,0) = "`<r>Countries: <b>`+ (value format `0`)"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.FormatCell(h,0) = "`<r>Countries: <b>`+ (value format `0`)"]
		endwith
	var_View.EndUpdate()
oCascadeTree.SelBackColor = 0x1000000
oCascadeTree.SelForeColor = 0x0
oCascadeTree.BackColorHeader = 0x2000000
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 4] // oCascadeTree.Background(170) = 0x4
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.EndUpdate()

61
How can I get the selected items (sample 2)
/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local k,var_Items,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		k = var_View.ParentView.Value()
		var_View.BeginUpdate()
		var_View.ColumnAutoResize = true
		var_View.Key = -1
		var_View.Columns.Add(Str(k))
		var_Items = var_View.Items
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 1`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 2`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 3`",k))
		var_View.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewItemStateEndChanging = class::nativeObject_ViewItemStateEndChanging
endwith
*/
// Indicates that the state of the item has been changed.
function nativeObject_ViewItemStateEndChanging(Operation,Item,ColIndex)
	local var_Items
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "End" 
	? Str(Operation) 
	var_Items = oCascadeTree.View.Items
		? "FocusItem" 
		? var_Items.CellCaption(var_Items.FocusItem,0) 
		? "SelectedItem" 
		? var_Items.CellCaption(var_Items.SelectedItem(0),0) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewItemStateStartChanging = class::nativeObject_ViewItemStateStartChanging
endwith
*/
// Indicates that the state of the item is about to be changed.
function nativeObject_ViewItemStateStartChanging(Operation,Item,ColIndex,Cancel)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Start" 
	? Str(Operation) 
return

local oCascadeTree,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_View = oCascadeTree.View
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Add("Default")
	var_View.Key = 0
	var_View.LinesAtRoot = -1
	var_Items = var_View.Items
		var_Items.AddItem("Item A")
		// var_Items.SelectItem(var_Items.AddItem("Item B")) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.SelectItem(AddItem("Item B")) = True]
		endwith
		var_Items.AddItem("Item C")
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

60
How do I specify a foreground color for a particular view

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_ConditionalFormat

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
// oCascadeTree.DefaultView().ConditionalFormats.Add("1").ForeColor = 0x808080
var_ConditionalFormat = oCascadeTree.DefaultView().ConditionalFormats.Add("1")
with (oCascadeTree)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.ForeColor = 8421504]
endwith
oCascadeTree.EndUpdate()

59
How do display result/items in the view's filter bar

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Column,var_Column1,var_Column2,var_Column3,var_View,var_View1,var_View2,var_View3,var_View4,var_View5
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.HeaderAppearance = 4
		var_View.HeaderHeight = 24
		var_View.DrawGridLines = -1
		var_View.GridLineStyle = 12
	var_View1 = oCascadeTree.DefaultView()
		var_View2 = var_View1.View("Country")
			var_View2.BeginUpdate()
			var_View2.ColumnAutoResize = true
			var_View2.Columns.Item(0).Visible = false
			var_Column = var_View2.Columns.Item(1)
				var_Column.HTMLCaption = "Country <off 4><fgcolor=808080>Name"
				var_Column.DisplayFilterButton = true
				var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
				var_Column.FilterBarDropDownWidth = 2
			var_View2.EndUpdate()
		var_View3 = var_View1.View("State")
			var_View3.BeginUpdate()
			var_View3.ColumnAutoResize = true
			var_View3.Columns.Item(0).Visible = false
			var_View3.Columns.Item(1).Visible = false
			var_Column1 = var_View3.Columns.Item(2)
				var_Column1.HTMLCaption = "State <off 4><fgcolor=808080>Name"
				var_Column1.DisplayFilterButton = true
				var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
				var_Column1.FilterBarDropDownWidth = 2
			var_View3.EndUpdate()
		var_View4 = var_View1.View("City")
			var_View4.BeginUpdate()
			var_View4.Columns.Item(0).Visible = false
			var_View4.Columns.Item(1).Visible = false
			var_Column2 = var_View4.Columns.Item(2)
				var_Column2.HTMLCaption = "City <off 4><fgcolor=808080>Name"
				var_Column2.Width = 128
				// var_Column2.Def(0) = true
				with (oCascadeTree)
					TemplateDef = [dim var_Column2]
					TemplateDef = var_Column2
					Template = [var_Column2.Def(0) = True]
				endwith
				var_Column2.DisplayFilterButton = true
				var_Column2.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
				var_Column2.FilterBarDropDownWidth = 2
			var_Column3 = var_View4.Columns.Add("Pos")
				var_Column3.AllowSizing = false
				var_Column3.Width = 32
				// var_Column3.Def(4) = 15790320
				with (oCascadeTree)
					TemplateDef = [dim var_Column3]
					TemplateDef = var_Column3
					Template = [var_Column3.Def(4) = 15790320]
				endwith
				var_Column3.Position = 0
				var_Column3.FormatColumn = "1 pos ``"
			var_View4.CountLockedColumns = 1
			var_View4.EndUpdate()
	var_View5 = oCascadeTree.View
		var_View5.FilterBarHeight = 36
		var_View5.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)`) )))"
		var_View5.FilterBarPromptType = 3
		var_View5.FilterBarPromptVisible = 515 /*exFilterBarShowCloseIfRequired | exFilterBarVisible | exFilterBarPromptVisible*/
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 2] // oCascadeTree.Background(170) = 0x2
oCascadeTree.EndUpdate()
oCascadeTree.BeginUpdate()
oCascadeTree.MinColumnWidth = 348
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
var_View = oCascadeTree.DefaultView().View("City")
	var_View.FilterBarPromptPattern = "An"
oCascadeTree.EndUpdate()

58
I am using the filter prompt feature, the question is how can I filter for items that starts with typed characters rather than contains

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.FilterBarPromptType = 3
		var_View.FilterBarPromptVisible = 1
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Column,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
var_View = oCascadeTree.DefaultView().View("City")
	var_View.FilterBarPromptPattern = "An"
	var_Column = var_View.Columns.Item("Name")
		var_Column.Width = 128
		// var_Column.Def(17) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(17) = 1]
		endwith
		var_Column.FormatColumn = "value replace `An` with `<bgcolor=000000><fgcolor=FFFFFF>An</fgcolor></bgcolor>` "
oCascadeTree.EndUpdate()

57
FilterBarCaption Predefined Keywords

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Column,var_Column1,var_Column2,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.BackColorAlternate = 0xf0f0f0
oCascadeTree.Mode = 1
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US"
var_View = oCascadeTree.DefaultView().View("Country")
	var_Column = var_View.Columns.Add("Pos")
		var_Column.Position = 0
		var_Column.Width = 32
		var_Column.AllowSizing = false
		var_Column.FormatColumn = "1pos ``"
	var_Column1 = var_View.Columns.Item("CountryCode")
		var_Column1.Width = 32
		var_Column1.AllowSizing = false
		var_Column1.DisplayFilterButton = true
	var_Column2 = var_View.Columns.Item("CountryName")
		var_Column2.DisplayFilterButton = true
		var_Column2.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
		var_Column2.FilterBarDropDownWidth = 2
		var_Column2.FilterType = 240
		var_Column2.Filter = "Italy|Romania|Germany"
	var_View.FilterBarPromptPattern = "a"
	var_View.ColumnAutoResize = true
	var_View.SearchColumnIndex = var_View.Columns.Item("CountryName").Index
	var_View.FilterInclude = 1
	var_View.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>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" ;
 +" `</fgcolor>`"
	var_View.FilterBarPromptVisible = 7 /*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
	var_View.ApplyFilter()
oCascadeTree.EndUpdate()

56
How can I enable the column's filter bar (view)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.FilterBarPromptVisible = 1
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Column,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
var_View = oCascadeTree.DefaultView().View("Country")
	var_View.ColumnAutoResize = true
	var_View.Columns.Item("CountryCode").Visible = false
	var_Column = var_View.Columns.Item("CountryName")
		var_Column.DisplayFilterButton = true
		var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
		var_Column.FilterBarDropDownWidth = 2
		var_Column.FilterType = 240
		var_Column.Filter = "Romania|Germany"
	var_View.ApplyFilter()
oCascadeTree.EndUpdate()

55
How can I enable the column's filter bar

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Column,var_Column1,var_View,var_View1
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.FilterBarPromptVisible = 1
		var_Column = var_View.Columns.Item(0)
			var_Column.DisplayFilterButton = true
			var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
			var_Column.FilterBarDropDownWidth = 2
	var_View1 = oCascadeTree.DefaultView().View("Country")
		var_Column1 = var_View1.Columns.Item(0)
			var_Column1.FilterType = 240
			var_Column1.Filter = "US|RO|GE"
		var_View1.ApplyFilter()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

54
How can I enable the control's filter bar (view)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
// oCascadeTree.DefaultView().FilterBarPromptVisible = 1
var_View = oCascadeTree.DefaultView()
with (oCascadeTree)
	TemplateDef = [dim var_View]
	TemplateDef = var_View
	Template = [var_View.FilterBarPromptVisible = 1]
endwith
oCascadeTree.EndUpdate()

53
How can I enable the control's filter bar

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.FilterBarPromptVisible = 1
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

52
Aggregate sum, min, max, count, avg, divider, total (view)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local h,oCascadeTree,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 2
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(170) = 4] // oCascadeTree.Background(170) = 0x4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "RO"
var_View = oCascadeTree.DefaultView().View("Country")
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Item(0).Visible = false
	var_Items = var_View.Items
		// var_Items.LockedItemCount(0) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.LockedItemCount(0) = 1]
		endwith
		h = var_Items.LockedItem(0,0)
		// var_Items.ItemDivider(h) = 0
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.ItemDivider(h) = 0]
		endwith
		// var_Items.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValueFormat(h,0) = 5]
		endwith
		// var_Items.CellValue(h,0) = "count(all,all,1)"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.CellValue(h,0) = "count(all,all,1)"]
		endwith
		// var_Items.FormatCell(h,0) = "`<r>Countries: <b>`+ (value format `0`)"
		with (oCascadeTree)
			TemplateDef = [dim var_Items,h]
			TemplateDef = var_Items
			TemplateDef = h
			Template = [var_Items.FormatCell(h,0) = "`<r>Countries: <b>`+ (value format `0`)"]
		endwith
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

51
Aggregate sum, min, max, count, avg, divider, total

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local h,var_Column,var_Items,var_Items1,var_Items2,var_View,var_View1,var_View2,var_View3
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.HeaderVisible = false
	var_View = oCascadeTree.DefaultView()
		var_View1 = var_View.View("Country")
			var_View1.BeginUpdate()
			var_View1.ColumnAutoResize = true
			var_View1.Columns.Item(0).Visible = false
			var_Items = var_View1.Items
				// var_Items.LockedItemCount(0) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items]
					TemplateDef = var_Items
					Template = [var_Items.LockedItemCount(0) = 1]
				endwith
				h = var_Items.LockedItem(0,0)
				// var_Items.ItemDivider(h) = 0
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.ItemDivider(h) = 0]
				endwith
				// var_Items.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.CellValueFormat(h,0) = 5]
				endwith
				// var_Items.CellValue(h,0) = "count(all,all,1)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.CellValue(h,0) = "count(all,all,1)"]
				endwith
				// var_Items.FormatCell(h,0) = "`<r>Countries: <b>`+ (value format `0`)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items,h]
					TemplateDef = var_Items
					TemplateDef = h
					Template = [var_Items.FormatCell(h,0) = "`<r>Countries: <b>`+ (value format `0`)"]
				endwith
			var_View1.EndUpdate()
		var_View2 = var_View.View("State")
			var_View2.BeginUpdate()
			var_View2.SingleSel = false
			var_View2.ColumnAutoResize = true
			var_View2.Columns.Item(0).Visible = false
			var_View2.Columns.Item(1).Visible = false
			var_Items1 = var_View2.Items
				// var_Items1.LockedItemCount(0) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items1]
					TemplateDef = var_Items1
					Template = [var_Items1.LockedItemCount(0) = 1]
				endwith
				h = var_Items1.LockedItem(0,0)
				// var_Items1.ItemDivider(h) = 0
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.ItemDivider(h) = 0]
				endwith
				// var_Items1.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.CellValueFormat(h,0) = 5]
				endwith
				// var_Items1.CellValue(h,0) = "count(all,all,1)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.CellValue(h,0) = "count(all,all,1)"]
				endwith
				// var_Items1.FormatCell(h,0) = "`<r>States: <b>`+ (value format `0`)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items1,h]
					TemplateDef = var_Items1
					TemplateDef = h
					Template = [var_Items1.FormatCell(h,0) = "`<r>States: <b>`+ (value format `0`)"]
				endwith
			var_View2.EndUpdate()
		var_View3 = var_View.View("City")
			var_View3.BeginUpdate()
			var_View3.Columns.Item(0).Visible = false
			var_View3.Columns.Item(1).Visible = false
			var_Column = var_View3.Columns.Item(2)
				var_Column.Width = 128
				var_Column.HTMLCaption = "CityName"
			var_Items2 = var_View3.Items
				// var_Items2.LockedItemCount(0) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items2]
					TemplateDef = var_Items2
					Template = [var_Items2.LockedItemCount(0) = 1]
				endwith
				h = var_Items2.LockedItem(0,0)
				// var_Items2.ItemDivider(h) = 0
				with (oCascadeTree)
					TemplateDef = [dim var_Items2,h]
					TemplateDef = var_Items2
					TemplateDef = h
					Template = [var_Items2.ItemDivider(h) = 0]
				endwith
				// var_Items2.CellValueFormat(h,0) = 5 /*exTotalField | exHTML*/
				with (oCascadeTree)
					TemplateDef = [dim var_Items2,h]
					TemplateDef = var_Items2
					TemplateDef = h
					Template = [var_Items2.CellValueFormat(h,0) = 5]
				endwith
				// var_Items2.CellValue(h,0) = "count(all,all,1)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items2,h]
					TemplateDef = var_Items2
					TemplateDef = h
					Template = [var_Items2.CellValue(h,0) = "count(all,all,1)"]
				endwith
				// var_Items2.FormatCell(h,0) = "`<r>Cities: <b>`+ (value format `0`)"
				with (oCascadeTree)
					TemplateDef = [dim var_Items2,h]
					TemplateDef = var_Items2
					TemplateDef = h
					Template = [var_Items2.FormatCell(h,0) = "`<r>Cities: <b>`+ (value format `0`)"]
				endwith
			var_View3.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(170) = 4] // oCascadeTree.Background(170) = 0x4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

50
How can I add a check-box column (view)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Column,var_Column1,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormats,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<c>Select multiple-items in the City view, and press <b>SPACE</b> key"
oCascadeTree.Template = [Background(168) = BackColor] // oCascadeTree.Background(168) = oCascadeTree.BackColor
oCascadeTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEhqGiUBihaQhRgyJI3RlJGaoDiKIokShKEpDLKlCx3H6OKQjOZgAoySo4SbDMp0NAkRBlFqcJCCCLAUgmTpQUBOYyiLKNRxQGoYLIlayZIiSIpMRbWcB3BYEOSFFasAAleYZTg2Jp1TbPAAYFL1ISDKSiIZqTA6PheT5yUzCNazbgEMTvRKqcSnO6bOgnEKQZKAGg4bg1RTVAYZLKtPR7aqyUJvZ5sMB6DiuLYRPKXZoucaNExSS5ebJtOzQJbEXBpXSpBwzSieBozIaQcJUOoaVxPFkaJrGuIx3h2BZPgOUIQmUcIwDARAkiAaQxh0DonCMLAeBKZobBCCY+niWJaBIKJJH4MoBgiQpCmmUR/ooBgCgCYBIBYBoBmCBYAn+ApgkgNgOgOYQIEYBIEGESBWBSBJhGgZgZgYIYoHYEIHCGaIGAuCAiCgegkgkYYoh4KIFiKKIuBeAJimiGgwgwYoYk4NILCCGJmDqDpjkidg+gGTo1jUAxAEAgI")
oCascadeTree.SelBackColor = 0x1000000
oCascadeTree.SelForeColor = oCascadeTree.ForeColor
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
var_View = oCascadeTree.DefaultView().View("City")
	var_View.BeginUpdate()
	var_View.ShowFocusRect = false
	var_View.SingleSel = false
	var_View.Columns.Item(0).Visible = false
	var_View.Columns.Item(1).Visible = false
	var_Column = var_View.Columns.Item(2)
		var_Column.HTMLCaption = "City <off 4><fgcolor=808080>Name"
		var_Column.Width = 128
		// var_Column.Def(0) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(0) = True]
		endwith
	var_View.SearchColumnIndex = var_View.Columns.Item("Name").Index
	var_Column1 = var_View.Columns.Add("Pos")
		var_Column1.Position = 0
		var_Column1.Width = 32
		var_Column1.FormatColumn = "1 pos ``"
	var_ConditionalFormats = var_View.ConditionalFormats
		// var_ConditionalFormats.Add("%CS2 = 1").BackColor = 0xbebebe
		var_ConditionalFormat = var_ConditionalFormats.Add("%CS2 = 1")
		with (oCascadeTree)
			TemplateDef = [dim var_ConditionalFormat]
			TemplateDef = var_ConditionalFormat
			Template = [var_ConditionalFormat.BackColor = 12500670]
		endwith
		var_ConditionalFormat1 = var_ConditionalFormats.Add("%CS2 = 1")
			var_ConditionalFormat1.Bold = true
			var_ConditionalFormat1.ApplyTo = 8 /*0x8 | */
	var_Items = var_View.Items
		// var_Items.CellState(var_Items.ItemByIndex(1),2) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.CellState(ItemByIndex(1),2) = 1]
		endwith
		// var_Items.CellState(var_Items.ItemByIndex(3),2) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.CellState(ItemByIndex(3),2) = 1]
		endwith
		// var_Items.CellState(var_Items.ItemByIndex(5),2) = 1
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.CellState(ItemByIndex(5),2) = 1]
		endwith
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

49
How can I add a check-box column

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Column,var_Column1,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormats,var_Items,var_View,var_View1,var_View2,var_View3,var_View4
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.HeaderAppearance = 4
		var_View.HeaderHeight = 24
		var_View.DrawGridLines = 2
		var_View.GridLineStyle = 12
	var_View1 = oCascadeTree.DefaultView()
		var_View2 = var_View1.View("Country")
			var_View2.BeginUpdate()
			var_View2.ColumnAutoResize = true
			var_View2.Columns.Item(0).Visible = false
			var_View2.Columns.Item(1).HTMLCaption = "Country <off 4><fgcolor=808080>Name"
			var_View2.EndUpdate()
		var_View3 = var_View1.View("State")
			var_View3.BeginUpdate()
			var_View3.ColumnAutoResize = true
			var_View3.Columns.Item(0).Visible = false
			var_View3.Columns.Item(1).Visible = false
			var_View3.Columns.Item(2).HTMLCaption = "State <off 4><fgcolor=808080>Name"
			var_View3.EndUpdate()
		var_View4 = var_View1.View("City")
			var_View4.BeginUpdate()
			var_View4.ShowFocusRect = false
			var_View4.SingleSel = false
			var_View4.Columns.Item(0).Visible = false
			var_View4.Columns.Item(1).Visible = false
			var_Column = var_View4.Columns.Item(2)
				var_Column.HTMLCaption = "City <off 4><fgcolor=808080>Name"
				var_Column.Width = 128
				// var_Column.Def(0) = true
				with (oCascadeTree)
					TemplateDef = [dim var_Column]
					TemplateDef = var_Column
					Template = [var_Column.Def(0) = True]
				endwith
			var_View4.SearchColumnIndex = var_View4.Columns.Item("Name").Index
			var_Column1 = var_View4.Columns.Add("Pos")
				var_Column1.Position = 0
				var_Column1.Width = 32
				var_Column1.FormatColumn = "1 pos ``"
			var_ConditionalFormats = var_View4.ConditionalFormats
				// var_ConditionalFormats.Add("%CS2 = 1").BackColor = 0xbebebe
				var_ConditionalFormat = var_ConditionalFormats.Add("%CS2 = 1")
				with (oCascadeTree)
					TemplateDef = [dim var_ConditionalFormat]
					TemplateDef = var_ConditionalFormat
					Template = [var_ConditionalFormat.BackColor = 12500670]
				endwith
				var_ConditionalFormat1 = var_ConditionalFormats.Add("%CS2 = 1")
					var_ConditionalFormat1.Bold = true
					var_ConditionalFormat1.ApplyTo = 8 /*0x8 | */
			var_Items = var_View4.Items
				// var_Items.CellState(var_Items.ItemByIndex(1),2) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items]
					TemplateDef = var_Items
					Template = [var_Items.CellState(ItemByIndex(1),2) = 1]
				endwith
				// var_Items.CellState(var_Items.ItemByIndex(3),2) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items]
					TemplateDef = var_Items
					Template = [var_Items.CellState(ItemByIndex(3),2) = 1]
				endwith
				// var_Items.CellState(var_Items.ItemByIndex(5),2) = 1
				with (oCascadeTree)
					TemplateDef = [dim var_Items]
					TemplateDef = var_Items
					Template = [var_Items.CellState(ItemByIndex(5),2) = 1]
				endwith
			var_View4.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<c>Select multiple-items in the City view, and press <b>SPACE</b> key"
oCascadeTree.Template = [Background(168) = BackColor] // oCascadeTree.Background(168) = oCascadeTree.BackColor
oCascadeTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEhqGiUBihaQhRgyJI3RlJGaoDiKIokShKEpDLKlCx3H6OKQjOZgAoySo4SbDMp0NAkRBlFqcJCCCLAUgmTpQUBOYyiLKNRxQGoYLIlayZIiSIpMRbWcB3BYEOSFFasAAleYZTg2Jp1TbPAAYFL1ISDKSiIZqTA6PheT5yUzCNazbgEMTvRKqcSnO6bOgnEKQZKAGg4bg1RTVAYZLKtPR7aqyUJvZ5sMB6DiuLYRPKXZoucaNExSS5ebJtOzQJbEXBpXSpBwzSieBozIaQcJUOoaVxPFkaJrGuIx3h2BZPgOUIQmUcIwDARAkiAaQxh0DonCMLAeBKZobBCCY+niWJaBIKJJH4MoBgiQpCmmUR/ooBgCgCYBIBYBoBmCBYAn+ApgkgNgOgOYQIEYBIEGESBWBSBJhGgZgZgYIYoHYEIHCGaIGAuCAiCgegkgkYYoh4KIFiKKIuBeAJimiGgwgwYoYk4NILCCGJmDqDpjkidg+gGTo1jUAxAEAgI")
oCascadeTree.SelBackColor = 0x1000000
oCascadeTree.SelForeColor = oCascadeTree.ForeColor
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

48
How can I access a view

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Column,var_View,var_View1,var_View2,var_View3,var_View4
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.HeaderAppearance = 4
		var_View.HeaderHeight = 24
		var_View.DrawGridLines = -1
		var_View.GridLineStyle = 12
	var_View1 = oCascadeTree.DefaultView()
		var_View2 = var_View1.View("Country")
			var_View2.BeginUpdate()
			var_View2.ColumnAutoResize = true
			var_View2.Columns.Item(0).Visible = false
			var_View2.Columns.Item(1).HTMLCaption = "Country <off 4><fgcolor=808080>Name"
			var_View2.EndUpdate()
		var_View3 = var_View1.View("State")
			var_View3.BeginUpdate()
			var_View3.ColumnAutoResize = true
			var_View3.Columns.Item(0).Visible = false
			var_View3.Columns.Item(1).Visible = false
			var_View3.Columns.Item(2).HTMLCaption = "State <off 4><fgcolor=808080>Name"
			var_View3.EndUpdate()
		var_View4 = var_View1.View("City")
			var_View4.BeginUpdate()
			var_View4.Columns.Item(0).Visible = false
			var_View4.Columns.Item(1).Visible = false
			var_Column = var_View4.Columns.Item(2)
				var_Column.HTMLCaption = "City <off 4><fgcolor=808080>Name"
				var_Column.Width = 128
				// var_Column.Def(4) = 15790320
				with (oCascadeTree)
					TemplateDef = [dim var_Column]
					TemplateDef = var_Column
					Template = [var_Column.Def(4) = 15790320]
				endwith
			var_View4.CountLockedColumns = 1
			var_View4.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

47
Conditional Format (check)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Columns,var_ConditionalFormat,var_Items,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_ConditionalFormat = var_View.ConditionalFormats.Add("%CS0 = 1")
			var_ConditionalFormat.Bold = true
		// var_View.Columns.Item(0).Def(0) = true
		var_Columns = var_View.Columns.Item(0)
		with (oCascadeTree)
			TemplateDef = [dim var_Columns]
			TemplateDef = var_Columns
			Template = [var_Columns.Def(0) = True]
		endwith
		var_Items = var_View.Items
			// var_Items.CellState(var_Items.FocusItem,0) = 1
			with (oCascadeTree)
				TemplateDef = [dim var_Items]
				TemplateDef = var_Items
				Template = [var_Items.CellState(FocusItem,0) = 1]
			endwith
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

46
Conditional Format (view)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_ConditionalFormat,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
var_View = oCascadeTree.DefaultView().View("City")
	var_ConditionalFormat = var_View.ConditionalFormats.Add("(%0 = `US`) and (%2 like `Al*`)")
		var_ConditionalFormat.Bold = true
		var_ConditionalFormat.BackColor = 0xf0f0f0
oCascadeTree.EndUpdate()

45
Conditional Format

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_ConditionalFormat,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_ConditionalFormat = var_View.ConditionalFormats.Add("%0 = `US`")
			var_ConditionalFormat.Bold = true
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

44
I've seen the AllowSplitView property, the question is how can I load data to

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Object

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.AllowSplitView = 1
oCascadeTree.SplitViewHeight = Str(256)
var_Object = oCascadeTree.DefaultView(1)
oCascadeTree.EndUpdate()

43
How can I group the items (view)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.SingleSel = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Appearance,var_Column,var_Column1,var_Columns,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABa0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjJBkRxtDCPIDnGQoDiGI4vSrCQ4yDA8GxCGSfIrjKiYbiGNY8RgZCiOMAFJSpC6gZRoSq4doGGJLQiDMaAdBNHyZKqpbQqeCZPDINQlWzbcrjKKFYQTOi7I4sCbYcqKA5PTbNdYyVBMWxfGIbaIkXAcBjuO4hWbFdASRQdDYtHTIbzjCxLcgMD4gRwWCYNSAGRZJLDKK4gSh6eorHQAX4AGabFBOP5fC7TNJ0OKLRrkAJub5eFx3LJ97ohbLsOzYZK2ByDFqiMLGQZMZxvGWUBAnYfJImcOwLEiBp0gaGpekSBxjE+WZ2jse5Im2S5ZkGYhdn4EY6A4Q4vAOWJ6H0V4oEgIgSFAGhGDGUB1ByBhVBUAwyhKMQIE2AgRjCWQJAoEIWk2SxCAGBBghQeJYkMZIYBYIYoHIG4HGICB+CKB4iEiBglgaUAzhiJAZA+Q4Qk2CxiniOgwgyYwolYMYNmMQw2CoGQihiLg5g+YxpAIOINiOOJ2CyEBkgkDhKhCJBQAI2IlAkJhMgqZBpEYS4UiSGQ2E+FglHkdg5haI5pHIVoViYCQeF6vZJhYY4aCWWYqGyGpkimOhnhyZQ4nIToYGcSY+ESFQnHmGhwh+YpphYO4gmKOlEiGKIKBaCohmeQ4tkUQJQBAgI=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjDBkRxtDCPIDnGQoDiGI4vSrCQ4zHQkOx9C6NKLjOQaMhwcJPABTZwRRQMUyLAiQRioGKKJgkC4cAxIFhRXSVIyhC6XRiGURbJquLw1DBbEI3BaUOS7HqOK7vCZ7cACVYqQjLMrzCK8ZxLPqbZznOjZXoCKJDQzVYADFRVd4rMK9QABWw4YqWZYXX7kUDxbTdEYzPQAMw1GCcbxmF6eWbCNq3LidXTnOK3dwkO55cyuA6oazi8T6Bi2M6DDQNGSzZiuGZ9YSOOIwHJIN4QDSUpYmQOoJA6KxVlCDBsnwOx9iWUhfiCThzjUHZun2WgSAiBIUA0JgziGVJkGWUZAkEUoyBEN51BsDYQhCIQJGqHAUCAGBGA0RwtDcVIgkgNgOgOYQIDiXYEmESBWBaBZhggTgSgYYZIHYGoDGGaIGBiBpiCiFJdgkIksiiChhliLgsgYYpoj4F4MGMKBWDSDRhngMg4gcIQYnYPoEE6N4ZAMQBAICA=")
oCascadeTree.SelBackColor = 0x1000000
oCascadeTree.SelForeColor = 0x0
oCascadeTree.BackColorHeader = 0x2000000
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 2] // oCascadeTree.Background(170) = 0x2
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.EndUpdate()
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "RO\CJ|BV|CS"
var_View = oCascadeTree.DefaultView().View("City")
	var_View.BeginUpdate()
	var_Columns = var_View.Columns
		// var_Columns.Item("CountryCode").Visible = false
		var_Column = var_Columns.Item("CountryCode")
		with (oCascadeTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Visible = False]
		endwith
		var_Column1 = var_Columns.Item("Name")
			var_Column1.SortOrder = 1
			var_Column1.Width = 128
	var_View.SortBarVisible = true
	var_View.AllowGroupBy = true
	var_View.SingleSort = false
	var_View.Columns.Item("StateCode").SortOrder = 1
	var_View.TreeColumnIndex = var_View.Columns.Item("Name").Index
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

42
How can I group the items

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	/* Columns("StateName").SortOrder = 1 */
	/* Columns("StateCode").SortOrder = nGroupByIfCity */
	local bColumnAutoResize,nGroupByIfCity,var_Object,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	nGroupByIfCity = oCascadeTree.FormatABC("( A = `City`) ? 1 : 0",oCascadeTree.View.Tag)
	bColumnAutoResize = oCascadeTree.FormatABC(" (A = `City`) ? 0 : -1",oCascadeTree.View.Tag)
	var_View = oCascadeTree.View
		var_View.BeginUpdate()
		var_View.SingleSel = false
		var_View.Columns.Item("CountryCode").Visible = false
		var_View.Columns.Item("CountryName").SortOrder = 1
		var_Object = var_View.Columns.Item(2)
		var_View.TreeColumnIndex = 2
		var_View.AllowGroupBy = true
		var_View.SingleSort = false
		var_View.SortBarVisible = false
		var_View.ColumnAutoResize = false
		var_View.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Appearance

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABa0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjJBkRxtDCPIDnGQoDiGI4vSrCQ4yDA8GxCGSfIrjKiYbiGNY8RgZCiOMAFJSpC6gZRoSq4doGGJLQiDMaAdBNHyZKqpbQqeCZPDINQlWzbcrjKKFYQTOi7I4sCbYcqKA5PTbNdYyVBMWxfGIbaIkXAcBjuO4hWbFdASRQdDYtHTIbzjCxLcgMD4gRwWCYNSAGRZJLDKK4gSh6eorHQAX4AGabFBOP5fC7TNJ0OKLRrkAJub5eFx3LJ97ohbLsOzYZK2ByDFqiMLGQZMZxvGWUBAnYfJImcOwLEiBp0gaGpekSBxjE+WZ2jse5Im2S5ZkGYhdn4EY6A4Q4vAOWJ6H0V4oEgIgSFAGhGDGUB1ByBhVBUAwyhKMQIE2AgRjCWQJAoEIWk2SxCAGBBghQeJYkMZIYBYIYoHIG4HGICB+CKB4iEiBglgaUAzhiJAZA+Q4Qk2CxiniOgwgyYwolYMYNmMQw2CoGQihiLg5g+YxpAIOINiOOJ2CyEBkgkDhKhCJBQAI2IlAkJhMgqZBpEYS4UiSGQ2E+FglHkdg5haI5pHIVoViYCQeF6vZJhYY4aCWWYqGyGpkimOhnhyZQ4nIToYGcSY+ESFQnHmGhwh+YpphYO4gmKOlEiGKIKBaCohmeQ4tkUQJQBAgI=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjDBkRxtDCPIDnGQoDiGI4vSrCQ4zHQkOx9C6NKLjOQaMhwcJPABTZwRRQMUyLAiQRioGKKJgkC4cAxIFhRXSVIyhC6XRiGURbJquLw1DBbEI3BaUOS7HqOK7vCZ7cACVYqQjLMrzCK8ZxLPqbZznOjZXoCKJDQzVYADFRVd4rMK9QABWw4YqWZYXX7kUDxbTdEYzPQAMw1GCcbxmF6eWbCNq3LidXTnOK3dwkO55cyuA6oazi8T6Bi2M6DDQNGSzZiuGZ9YSOOIwHJIN4QDSUpYmQOoJA6KxVlCDBsnwOx9iWUhfiCThzjUHZun2WgSAiBIUA0JgziGVJkGWUZAkEUoyBEN51BsDYQhCIQJGqHAUCAGBGA0RwtDcVIgkgNgOgOYQIDiXYEmESBWBaBZhggTgSgYYZIHYGoDGGaIGBiBpiCiFJdgkIksiiChhliLgsgYYpoj4F4MGMKBWDSDRhngMg4gcIQYnYPoEE6N4ZAMQBAICA=")
oCascadeTree.SelBackColor = 0x1000000
oCascadeTree.SelForeColor = 0x0
oCascadeTree.BackColorHeader = 0x2000000
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 2] // oCascadeTree.Background(170) = 0x2
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.EndUpdate()
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "RO\CJ|BV|CS"
oCascadeTree.EndUpdate()

41
How can I change the visual appearance of the selection/header

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	/* Columns("StateName").SortOrder = 1 */
	local var_Object,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.BeginUpdate()
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
		var_View.Columns.Item("CountryName").SortOrder = 1
		var_Object = var_View.Columns.Item("Name")
		var_View.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Appearance

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_Appearance = oCascadeTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABWYDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCNAwgFBIcBhE4ZIKkEYoMiONoYR5Ac4yFAcQxHE6TZRgeDZToWN48TZLEB0VRFGL1J4AKbfKKKBiqIZDTpMdKSHIIFQ4BiEaYkGjqQpKVIdDSJMwWTI4ahhNSEbauCZ7DhyXpLUbeNSyXJsXw7GSOZJvGZ5bjuIY+RxQEK1NQkOyNOiOAosGCQWiDE4DWZZUT3XS+HgAGStY4rWCcSgOYIDZTPOT1DYtIY3NC5c7tS4bPq3NZHXTAeigBa4AZTQafcTvSA5OjOQQ2VhNWIXRxgAZ3YCNbzpTgsHeD5DmUQh3jSTQ/DuIZBh0bJ8BsG4WlsYwXjEapphuXh/HsRQJAQQhKAaEwZlCahyDKchJlEIgRDedQbA2EIQiECR3BudAgBgRgBgSHZQFSCwzECV4DGCeA6BCBJhCgVgRgWs4YkgNJKCOMJ2C0T4Dn4IIIiIGIOCaCRiy0HQ9iGIxMhgMAMmKZJ2D+SQThININgiM4In+DhPnIDJhD+RxzgCfwaE2c58F0N4PniSJ/guTJiCiOAygwCJODyDwIFifhVD+R5JBQcIREYOQgFgNwPnkRJ/qOIgIjEMYMFOVg9hESA5BQfYSCbQx1DcZA5lAXQ2vURh4hoT55hiRgfEqYwMkUPQPnGahgiGJwpmAdYeAaWZgGINoPnEWoQBKa" ;
 +"QKAyf4gAwMZoisMIMGOTJ/B0KQK0EG5NhqDolBmKhRG6JQUX8GJYD+aZaBaGweAqEwEkYPNpDaL4u2kIJXi8a5xgKPwViucQuj8EBrnqXJ/i0DARlyJwwCyIYglaLxtDGDpVjSRY7EwUY0kQexMD+MhrgsOJAB2LJzCKOAZG0O4gn8GANFuLptBaLpREKUwRG0MJylOOYPnuEpjjOTIamAYo7G/QxfDUMAsBAWI7ESe40ZuQ5bjafY+GycZcigMBODOZJ/CoTo8F8GZGDGI58iaRhKEwZIhkYSZ8GcFYQVeZIqDCThsFiMQ7g+fI8n8LAOlyTw1CuMxSjMNQqHMUojDWSxPnyKJDB8CpjBSag+iSE4/EmUpLh0KI2lKCxNCiMvkg0KxHhYNBSACMQyA6c5wn8MJrg2Axflga4DAaOAviuApyjgLorg0dJ/laDICAyNQyg8LR47INxznzfI3jOPkS4NQMDzCoPgMQUBNqzFyJAco0ROLRFOPkVIEB4v7FWBAeT/xTB7E+OYR4MAzjzAMG8GIxgPj8CSJwIolxjCJTeB8cw7hIjVDqD0LwkA3BpAMNYFgbAxDGF8C0aYxw+gpA8GEeI/QgjJFeHcc4/xBjggePEYgfRPjnAOJAN4+QDjHCiN0TQhBMiODWOkA4+RqjGH0P4W4sRjCdB4GkaIxhOD6HiM0V4ehfCRFcEsDIZhkjcD4J8PwQR/j3D8Acf43x8h+B+Jkf49RPh/CCLIVIEwTBxFsP8L4+x/CAAgA4" &
 +"AIQAsADACMoSA6wghEAYIAQBAQA==")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABEwFg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDaMUjwlDiEgADCNAySCKkGRHG6MI6gOapCgOIYjS7KYASTIMDw7EIZJ7jSioboKNo9ABQT71GAFJr/DChKIhWiKIoKI4hAZHAIQTR8QylKirIwlcYhVCWa5tS82CzoJrKdI4WZHFgwHR8cRxLKVJQlaDZSoIMQ2STfV7TZLkQyZNSTJQpGq6HxWeIcETkMBlLIGNSrNCqIrwChach2XpLQjeYAZTAdR43TqBbLqeyYXq+dwAWxtdzXDacXy/TzWAA1LLMKr/EpZDhSxARVDbD4XY7TdBcDwsOYAmQcohjyXQ8G6QRkgSa41H0WY+luSx1l6eZ2noLYFEePwDlUdQ8HufRsCSIBpDGHQOicIwtBoBguGuBAhDWfxGkMZAkCgeAQhcEQiAYEYDmABx8hANRYmQMhKHMTItB+IRoGIF4GGEMoeBKBQhGGfRWgiYhIgYHYIE+c5Ym8P5OlMWgsguIpYj4KQ7mIExMi6CIVGOKJTD/OxyDuDxVDiWB/g2CAIgyZwzk+eQeEmEgkikBIuCADRJD4Iw5AyU5+FSFYlFkXRThQZQJEkVg4gyM5+GCGImBmDhbhOTRCj4RRVg4Ewkn+GxmnmOhwhaZopiYaxUk4Awgn+Hhnjmah8h0JQJioI4fCgSZ6HqIAnGoDoGh8aJKCCMAgGiKgygUV" ;
 +"YNEoPoViQFRqE6E4WmkYpAgKJBpioHJ/iUSAqhKIIimeeoOh4NQLBIDoniSKgqjCA4szqYJoDcKxqmKN4uGkSo2oGKxam6Qoug2Sp0gRggiBaQYxCuGpyFuMhsgsKRTjMbA7DqI40AsIgakuNQsEoUpZYIOxqlONRsDoUphjgCB7G6ZIxGWMpMgeOgsBMbo2jyDoLlCW45i6cpSmmOJvGuTpziUL4jFCNAiC8G56nWP5ljwDJVC0CIcBcB5Dm8dRPZyTRSlcDY/DAa5ZFaRRxEKVIKkOL5blcG5Hg0UpYgsVYPhuVwpDaco87eSYyFyHRTkscoslcEQ/nMExYjYIwygyWw0k2c4iDCVgtkiXJ3CyT4yCUTxDCMdI9BsP5LjSLQTEMI40m0IxAd4YxYjgI51NsXhVjWIg8leVp1lzLJYnYIpkhCWRzG2HxqDWS4SEcbJXlUPZAhGXAJC2TxQD+O8AwuQ6i8HMGcIItRKDwD4BcBIsx3j7HiCcTw8BeBvAeLoS4RBMiwC6JITgZwEjLHgEoW4JglBzD4LcBozxNotBSM4eAPA7hBGiHMQo2QVjPDoWcU4yRJCmGCHgJYdRODHC4H8ewRGWhLHsL0H4XgvASHMMkPY3g6C9FuB4P4+AvAJD0EwO4vA1CtHCBMDwEQZjmHwP4SIsgvh6D8C8II6h9geFyDUdQcwVCfF4G0C4xBvjBG2PwQg2RaBfH4MoTI9Rgh9HMNccY+BVDfC+NQL4kxFC3HOPgP4nwjjwBsIY" &
 +"AAnQ/hPHqP0XwiABgABABMdwgBHj1H0MACItgYAEHoAMPwUAWjbGAPEHgNhjAIE+IIKAFR9AVBwDAE44B+AbEEIULQDxgiBCAP4Q4Sx5CFBGOoCowhMBIBgEUAA2wMBCEMBQIQqA2gLBAKwGYhgoDRHuEIbAbwFigHoDMDYgwEBRCGFgOIERxAAH+IgMQiA3AMBwIsB4RhuAsEUCMUwKRZh4E2BMAwGBRiFAiFYFIRQRCtAmEUDgTQKCRDcC4YoSBeBUHGBAbgGBIiMFSI8XAqQNiGG4HARwEQ/A1GMKEJQVRDjYHUBsSI5gejHFQPkDoBQWB2BUMMeAeAHCJASCEUgLBDiQAGHQMQig0gGB4AcHghBJAyCEEkCoaQMApFILwR4kg5BuCUJUHILwRgQHiFMSQUhHBKCSAkFgMQig8EYBUCQPA5hICSFpKgeBzCUHEKANwjAwhTBAMcPgrRLgjHkF0ZYmQWgtFKKwW4lApDCCuEwLIYQXjFCYLUCochwByGWMkTQOxzB4HKJccQrgyhMGSJ0Go5hCDTA2MMDwZRKgxH2DQEw+ByicBmIQVYTRYhXBsMUMIVhNjjEkHUZw0RvA5BOCgY4FRJiiDqE4BI7QcCmGSFMToExogVCcOkbIOxzhaBmJ0AYnA1AMdoCsKIJQEgfHoB4QQDAJCtCGGgHoEQMDiFtPIKQrAdDNHiAMEAICAgA==")
oCascadeTree.SelBackColor = 0x1000000
oCascadeTree.SelForeColor = 0x0
oCascadeTree.BackColorHeader = 0x2000000
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 2] // oCascadeTree.Background(170) = 0x2
oCascadeTree.BackColorSortBar = oCascadeTree.BackColor
oCascadeTree.EndUpdate()
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "RO\CJ"
oCascadeTree.EndUpdate()

40
How can I format a column so it display its content in a different way
/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_Object,var_Object1,var_Object2,var_Object3,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.BeginUpdate()
		var_View.ContinueColumnScroll = false
		var_View.ScrollBySingleLine = true
		var_View.DrawGridLines = -1
		var_View.EnsureVisibleColumn("Date")
		var_View.Columns.Item("CountryCode").Visible = false
		var_Object = var_View.Columns.Item("Date")
		var_Object1 = var_View.Columns.Item("Function")
		var_Object2 = var_View.Columns.Item("Coordinates")
		var_Object3 = var_View.Columns.Item("Status")
		var_View.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.FitCascadeColumns = 7
oCascadeTree.Mode = 3
oCascadeTree.ScrollWidth = 4
oCascadeTree.ScrollHeight = 4
oCascadeTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\OR"
oCascadeTree.EndUpdate()

39
How can I add a position column

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Column,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_Column = var_View.Columns.Add("Pos")
			var_Column.Width = 32
			var_Column.AllowSizing = false
			var_Column.Position = 0
			var_Column.FormatColumn = "1 pos ``"
			// var_Column.Def(4) = 15790320
			with (oCascadeTree)
				TemplateDef = [dim var_Column]
				TemplateDef = var_Column
				Template = [var_Column.Def(4) = 15790320]
			endwith
			var_Column.Alignment = 2
			var_Column.HeaderAlignment = var_Column.Alignment
			// var_Column.Def(49) = 2
			with (oCascadeTree)
				TemplateDef = [dim var_Column]
				TemplateDef = var_Column
				Template = [var_Column.Def(49) = 2]
			endwith
			// var_Column.Def(48) = 2
			with (oCascadeTree)
				TemplateDef = [dim var_Column]
				TemplateDef = var_Column
				Template = [var_Column.Def(48) = 2]
			endwith
			// var_Column.Def(52) = 2
			with (oCascadeTree)
				TemplateDef = [dim var_Column]
				TemplateDef = var_Column
				Template = [var_Column.Def(52) = 2]
			endwith
			// var_Column.Def(53) = 2
			with (oCascadeTree)
				TemplateDef = [dim var_Column]
				TemplateDef = var_Column
				Template = [var_Column.Def(53) = 2]
			endwith
		var_View.CountLockedColumns = 1
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\IA"
oCascadeTree.EndUpdate()

38
How can I display icons or images

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local var_Object,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.EnsureVisibleColumn("Function")
		var_Object = var_View.Columns.Item("Function")
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\MN"
oCascadeTree.EndUpdate()

37
How can I turn-on the control's status bar

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.StatusBarLabel = Str(oCascadeTree.FormatABC("`<b>` + ( value replace `\\` with ` </b><font ;6><off 4>` )",oCascadeTree.Name))
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.StatusBarLabel = Str(oCascadeTree.FormatABC("`<b>` + ( value replace `\\` with ` </b><font ;6><off 4>` )",oCascadeTree.Name))
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarHeight = 24
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Name = "Romania\Cluj\Baciu*"
oCascadeTree.EndUpdate()

36
How can I disable incremental searching
/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.AutoSearch = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

35
ScrollBar extension

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Column,var_Columns,var_Columns1,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 2] // oCascadeTree.Background(170) = 0x2
oCascadeTree.EndUpdate()
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
// oCascadeTree.DefaultView().Columns.Item("CountryName").SortOrder = 1
var_Columns = oCascadeTree.DefaultView().Columns.Item("CountryName")
with (oCascadeTree)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.SortOrder = 1]
endwith
// oCascadeTree.DefaultView().NextView.Columns.Item("StateName").SortOrder = 1
var_Columns1 = oCascadeTree.DefaultView().NextView.Columns.Item("StateName")
with (oCascadeTree)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.SortOrder = 1]
endwith
var_View = oCascadeTree.DefaultView().NextView.NextView
	var_View.ColumnAutoResize = false
	var_Column = var_View.Columns.Item("Name")
		var_Column.SortOrder = 1
		var_Column.Width = 128
	var_Items = var_View.Items
		// var_Items.SelectItem(var_Items.FindItem("Anchorage","Name")) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.SelectItem(FindItem("Anchorage","Name")) = True]
		endwith
oCascadeTree.EndUpdate()

34
How can I access the next/prev/parent/child view

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_Column,var_Columns,var_Columns1,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 2
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "RO\CJ"
// oCascadeTree.DefaultView().Columns.Item("CountryName").SortOrder = 1
var_Columns = oCascadeTree.DefaultView().Columns.Item("CountryName")
with (oCascadeTree)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.SortOrder = 1]
endwith
// oCascadeTree.DefaultView().NextView.Columns.Item("StateName").SortOrder = 1
var_Columns1 = oCascadeTree.DefaultView().NextView.Columns.Item("StateName")
with (oCascadeTree)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.SortOrder = 1]
endwith
var_View = oCascadeTree.DefaultView().NextView.NextView
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = false
	var_Column = var_View.Columns.Item("Name")
		var_Column.Width = 128
		var_Column.SortOrder = 1
	var_View.SingleSort = false
	var_View.AllowGroupBy = true
	var_View.Columns.Item("Status").SortOrder = 2
	var_View.TreeColumnIndex = var_View.Columns.Item("Name").Index
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

33
Predefined Keywords of ShowContextMenu property

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
	oCascadeTree.StatusBarLabel = Str(oCascadeTree.FormatABC("`<b>` + ( value replace `\\` with ` </b><font ;6><off 4>` )",oCascadeTree.Name))
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.StatusBarLabel = Str(oCascadeTree.FormatABC("`<b>` + ( value replace `\\` with ` </b><font ;6><off 4>` )",oCascadeTree.Name))
	oCascadeTree.ExecuteContextMenu = 0
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.AllowSplitView = 1
oCascadeTree.FitCascadeColumns = 3
oCascadeTree.Mode = 2
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarHeight = 24
oCascadeTree.Template = [ScrollPartVisible(0,65536) = True] // oCascadeTree.ScrollPartVisible(0,65536) = true
oCascadeTree.Template = [ScrollPartVisible(1,65536) = True] // oCascadeTree.ScrollPartVisible(1,65536) = true
oCascadeTree.Template = [ScrollPartVisible(2,65536) = True] // oCascadeTree.ScrollPartVisible(2,65536) = true
oCascadeTree.ScrollWidth = 4
oCascadeTree.Template = [Background(276) = 15790320] // oCascadeTree.Background(276) = 0xf0f0f0
oCascadeTree.Template = [Background(260) = 8421504] // oCascadeTree.Background(260) = 0x808080
oCascadeTree.ScrollHeight = 4
oCascadeTree.Template = [Background(404) = Background(276)] // oCascadeTree.Background(404) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(388) = Background(260)] // oCascadeTree.Background(388) = oCascadeTree.Background(260)
oCascadeTree.Template = [Background(511) = Background(276)] // oCascadeTree.Background(511) = oCascadeTree.Background(276)
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Template = [Background(142) = Background(18)] // oCascadeTree.Background(142) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(141) = Background(18)] // oCascadeTree.Background(141) = oCascadeTree.Background(18)
oCascadeTree.Template = [Background(170) = 2] // oCascadeTree.Background(170) = 0x2
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.ShowContextMenu = "`vlevels=` + vlevels + `,vlevel=` + vlevel + `,hlevels=` + hlevels + `,hlevel=` + hlevel + `,view=` + view "
oCascadeTree.SplitViewHeight = "256"
oCascadeTree.EndUpdate()

32
How can I display the identifiers of the control's context menu (debug)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? Str(oCascadeTree.ExecuteContextMenu) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.ShowContextMenu = "[debug]Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]"
oCascadeTree.EndUpdate()

31
ShowContextMenu usage

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? Str(oCascadeTree.ExecuteContextMenu) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.ShowContextMenu = "Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]"
oCascadeTree.EndUpdate()

30
How can I resize automatically all views, when the control is resized

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 515 /*exAutoFitOnResizeClient | exSplitFixCascadeMode*/
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

29
How can I hide some columns

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	/* Columns("StateCode").Visible = False */
	local var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = true
		var_View.Columns.Item("CountryCode").Visible = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

28
Is it possible to disable resizing the cascade columns

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.ColumnAutoResize = true
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Mode = 771 /*exAutoFitOnResizeClient | exDisableResizeCascadeColumns | exSplitFixCascadeMode*/
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

27
SplitFixCascadeMode Mode

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

26
FixCascadeMode Mode

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DefColumnWidth = 96
oCascadeTree.Mode = 0
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

25
SplitEqualCascadeMode Mode

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.Mode = 2
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

24
Default Mode

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Template = [Background(18) = 12895428] // oCascadeTree.Background(18) = 0xc4c4c4
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

23
SingleCascadeMode ( single-view )

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 1
var_View = oCascadeTree.DefaultView()
	var_View.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Cities Where CountryCode = 'RO' "
	var_View.AllowGroupBy = true
	var_View.SortBarVisible = true
	var_View.Columns.Item("StateCode").SortOrder = 1
	var_View.Name = "Name"
oCascadeTree.Name = "Isaccea"
oCascadeTree.EndUpdate()

22
How can I display the current selection, as a path

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.StatusBarLabel = oCascadeTree.Name
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.StatusBarLabel = oCascadeTree.Name
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

21
How can I add multiple-views to the control

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 3
oCascadeTree.DataSource = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
oCascadeTree.Select = "US\AK"
oCascadeTree.EndUpdate()

20
I wish I select items based on names, rather than keys. Is that possible

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local label
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.View.ColumnAutoResize = false
	label = oCascadeTree.FormatABC("`<b>Select = </b>` + value",oCascadeTree.Select)
	label = oCascadeTree.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,oCascadeTree.Name)
	oCascadeTree.StatusBarLabel = Str(label)
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	local label
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	label = oCascadeTree.FormatABC("`<b>Select = </b>` + value",oCascadeTree.Select)
	label = oCascadeTree.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,oCascadeTree.Name)
	oCascadeTree.StatusBarLabel = Str(label)
return

local dm1,dm2,dm3,ds,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 2
oCascadeTree.StatusBarVisible = 18 /*exStatusBarWordWrap | exStatusBarAnchorTop*/
ds = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb"
dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName"
ds = oCascadeTree.FormatABC("A + `;` + B",ds,dm1)
dm2 = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm2)
dm3 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm3)
oCascadeTree.DataSource = ds
oCascadeTree.Name = "Romania\Cluj\Baciu*"
oCascadeTree.EndUpdate()

19
I've noticed that I can't select multiple items. How can I do that

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local bColumnAutoResize,label,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	bColumnAutoResize = oCascadeTree.FormatABC("not(A = `City`)",oCascadeTree.View.Tag)
	var_View = oCascadeTree.View
		var_View.SingleSel = false
		var_View.ColumnAutoResize = false
	label = oCascadeTree.FormatABC("`<b>Select = </b>` + value",oCascadeTree.Select)
	label = oCascadeTree.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,oCascadeTree.Name)
	oCascadeTree.StatusBarLabel = Str(label)
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	local label
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	label = oCascadeTree.FormatABC("`<b>Select = </b>` + value",oCascadeTree.Select)
	label = oCascadeTree.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,oCascadeTree.Name)
	oCascadeTree.StatusBarLabel = Str(label)
return

local dm1,dm2,dm3,ds,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 2
oCascadeTree.StatusBarVisible = 18 /*exStatusBarWordWrap | exStatusBarAnchorTop*/
oCascadeTree.StatusBarHeight = 48
ds = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb"
dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country;Name=CountryName"
ds = oCascadeTree.FormatABC("A + `;` + B",ds,dm1)
dm2 = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm2)
dm3 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm3)
oCascadeTree.DataSource = ds
oCascadeTree.Select = "RO\CJ|D*"
oCascadeTree.EndUpdate()

18
How do I programmatically selects a path/item

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local bColumnAutoResize
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	bColumnAutoResize = oCascadeTree.FormatABC("not(A = `City`)",oCascadeTree.View.Tag)
	oCascadeTree.View.ColumnAutoResize = false
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.StatusBarLabel = oCascadeTree.Select
return

local dm1,dm2,dm3,ds,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 2
oCascadeTree.StatusBarVisible = 1
ds = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb"
dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country"
ds = oCascadeTree.FormatABC("A + `;` + B",ds,dm1)
dm2 = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm2)
dm3 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm3)
oCascadeTree.DataSource = ds
oCascadeTree.Select = "RO\CJ"
oCascadeTree.EndUpdate()

17
DataSource/DataMember/Key/Tag

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local bColumnAutoResize,nWidth,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	oCascadeTree.StatusBarLabel = Str(oCascadeTree.FormatABC("value replace `data source` with `<b><fgcolor=808080>Source</fgcolor></b>` replace `Source` with `<b><fgcolor=808080>Source</fgcolor></b>` replace `Member` with `<b><fgcolor=808080>Member</fgcolor></b>` replace `Key` with `<b><fgcolor=808080>Key</fgcolor></b>` replace `Tag` with `<b><fgcolor=808080>Tag</fgcolor></b>` replace `;` with `;<br>`",oCascadeTree.View.DataSource))
	bColumnAutoResize = oCascadeTree.FormatABC("not(A = `City`)",oCascadeTree.View.Tag)
	nWidth = oCascadeTree.FormatABC("A = `City` ? B : C",oCascadeTree.View.Tag,oCascadeTree.View.WidthToFit,oCascadeTree.View.Width)
	var_View = oCascadeTree.View
		var_View.ColumnAutoResize = false
		var_View.Width = nWidth
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local dm1,dm2,dm3,ds,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarHeight = 58
oCascadeTree.StatusBarVisible = 18 /*exStatusBarWordWrap | exStatusBarAnchorTop*/
ds = "Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb"
dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country"
ds = oCascadeTree.FormatABC("A + `;` + B",ds,dm1)
dm2 = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm2)
dm3 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City"
ds = oCascadeTree.FormatABC("A + ` >>> ` + B",ds,dm3)
oCascadeTree.DataSource = ds
oCascadeTree.EndUpdate()

16
DataSource (view, data source, data member, ACCDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local dm,ds,oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could " + ["] + "Data Source=...;Data Member=..." + ["] + " or " + ["] + "Source=...;Member=..." + ["] + " "
oCascadeTree.DefColumnWidth = 336
ds = "Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb"
dm = "Data Member=Select * FROM Countries"
var_View = oCascadeTree.DefaultView()
	var_View.DataSource = oCascadeTree.FormatABC("A + `;` + B",ds,dm)
	var_View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

15
DataSource (view, data source, data member, MDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local dm,ds,oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could " + ["] + "Data Source=...;Data Member=..." + ["] + " or " + ["] + "Source=...;Member=..." + ["] + " "
oCascadeTree.DefColumnWidth = 336
ds = "Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.mdb"
dm = "Data Member=Select * FROM Countries"
var_View = oCascadeTree.DefaultView()
	var_View.DataSource = oCascadeTree.FormatABC("A + `;` + B",ds,dm)
	var_View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

14
DataSource (view, ADODB, ACCDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local ado,oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be string (Source/Member), ADO or DAO objects"
oCascadeTree.DefColumnWidth = 336
ado = new OleAutoClient("ADODB.Recordset")
	ado.Open("Countries","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb",3,3)
var_View = oCascadeTree.DefaultView()
	var_View.DataSource = ado
	var_View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

13
DataSource (view, ADODB, MDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local ado,oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be string (Source/Member), ADO or DAO objects"
oCascadeTree.DefColumnWidth = 336
ado = new OleAutoClient("ADODB.Recordset")
	ado.Open("Countries","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.mdb",3,3)
var_View = oCascadeTree.DefaultView()
	var_View.DataSource = ado
	var_View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

12
DataSource (control, data source, data member, ACCDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local dm,ds,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could " + ["] + "Data Source=...;Data Member=..." + ["] + " or " + ["] + "Source=...;Member=..." + ["] + " "
oCascadeTree.DefColumnWidth = 336
ds = "Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb"
dm = "Data Member=Select * FROM Countries"
oCascadeTree.DataSource = oCascadeTree.FormatABC("A + `;` + B",ds,dm)
oCascadeTree.View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

11
DataSource (control, data source, data member, MDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local dm,ds,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could " + ["] + "Data Source=...;Data Member=..." + ["] + " or " + ["] + "Source=...;Member=..." + ["] + " "
oCascadeTree.DefColumnWidth = 336
ds = "Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.mdb"
dm = "Data Member=Select * FROM Countries"
oCascadeTree.DataSource = oCascadeTree.FormatABC("A + `;` + B",ds,dm)
oCascadeTree.View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

10
DataSource (control, ADODB, ACCDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local ado,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be string (Source/Member), ADO or DAO objects"
oCascadeTree.DefColumnWidth = 336
ado = new OleAutoClient("ADODB.Recordset")
	ado.Open("Countries","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.accdb",3,3)
oCascadeTree.DataSource = ado
oCascadeTree.View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

9
DataSource (control, ADODB, MDB)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local ado,oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be string (Source/Member), ADO or DAO objects"
oCascadeTree.DefColumnWidth = 336
ado = new OleAutoClient("ADODB.Recordset")
	ado.Open("Countries","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExCascadeTree\Sample\Access\cities.mdb",3,3)
oCascadeTree.DataSource = ado
oCascadeTree.View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

8
DataSource (view, XMLDOMDocument)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_View,xml

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument"
oCascadeTree.DefColumnWidth = 336
var_View = oCascadeTree.DefaultView()
	xml = new OleAutoClient("MSXML.DOMDocument")
		xml.load("C:\Program Files\Exontrol\ExCascadeTree\Sample\Testing.xml")
	var_View.DataSource = xml
	var_View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

7
DataSource (view, XML, file)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument"
oCascadeTree.DefColumnWidth = 336
var_View = oCascadeTree.DefaultView()
	var_View.DataSource = "http://www.exontrol.net/testing.xml"
	var_View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

6
DataSource (control, XMLDOMDocument)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree,xml

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument"
oCascadeTree.DefColumnWidth = 336
xml = new OleAutoClient("MSXML.DOMDocument")
	xml.load("C:\Program Files\Exontrol\ExCascadeTree\Sample\Testing.xml")
oCascadeTree.DataSource = xml
oCascadeTree.View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

5
DataSource (control, XML, file)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// An internal error occurs.
function nativeObject_Error(Error,Description)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Error" 
	? Str(Description) 
return

local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.StatusBarVisible = 2
oCascadeTree.StatusBarLabel = "<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument"
oCascadeTree.DefColumnWidth = 336
oCascadeTree.DataSource = "http://www.exontrol.net/testing.xml"
oCascadeTree.View.ColumnAutoResize = true
oCascadeTree.EndUpdate()

4
How can I get the selected items (sample 1)

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local k,var_Items,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		k = var_View.ParentView.Value()
		var_View.BeginUpdate()
		var_View.ColumnAutoResize = true
		var_View.Key = -1
		var_View.Columns.Add(Str(k))
		var_Items = var_View.Items
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 1`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 2`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 3`",k))
		var_View.EndUpdate()
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewEndChanging = class::nativeObject_ViewEndChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewEndChanging(Operation)
	local var_Items
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "End" 
	? Str(Operation) 
	var_Items = oCascadeTree.View.Items
		? "FocusItem" 
		? var_Items.CellCaption(var_Items.FocusItem,0) 
		? "SelectedItem" 
		? var_Items.CellCaption(var_Items.SelectedItem(0),0) 
return

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	ViewStartChanging = class::nativeObject_ViewStartChanging
endwith
*/
// Occurs once the user is about to change the view.
function nativeObject_ViewStartChanging(Operation)
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	? "Start" 
	? Str(Operation) 
return

local oCascadeTree,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_View = oCascadeTree.View
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Add("Default")
	var_View.Key = 0
	var_View.LinesAtRoot = -1
	var_Items = var_View.Items
		var_Items.AddItem("Item A")
		// var_Items.SelectItem(var_Items.AddItem("Item B")) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.SelectItem(AddItem("Item B")) = True]
		endwith
		var_Items.AddItem("Item C")
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

3
Can I use this control as a simple tree

local oCascadeTree,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
oCascadeTree.Mode = 1
var_View = oCascadeTree.View
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Add("Default")
	var_View.Key = -1
	var_View.LinesAtRoot = -1
	var_Items = var_View.Items
		var_Items.AddItem("Item A")
		var_Items.InsertItem(var_Items.AddItem("Item B"),null,"Child")
		var_Items.AddItem("Item C")
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

2
How can I use this control

/*
with (this.EXCASCADETREEACTIVEXCONTROL1.nativeObject)
	CreateView = class::nativeObject_CreateView
endwith
*/
// A view has been created.
function nativeObject_CreateView(View)
	local k,var_Items,var_View
	oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
	var_View = oCascadeTree.View
		k = var_View.ParentView.Value()
		var_View.BeginUpdate()
		var_View.ColumnAutoResize = true
		var_View.Columns.Add(Str(k))
		var_Items = var_View.Items
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 1`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 2`",k))
			var_Items.AddItem(oCascadeTree.FormatABC("A + `-> Sub-Item 3`",k))
		var_View.EndUpdate()
return

local oCascadeTree,var_Items,var_View

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BeginUpdate()
var_View = oCascadeTree.View
	var_View.BeginUpdate()
	var_View.ColumnAutoResize = true
	var_View.Columns.Add("Default")
	var_View.Key = 0
	var_Items = var_View.Items
		var_Items.AddItem("Item A")
		// var_Items.SelectItem(var_Items.AddItem("Item B")) = true
		with (oCascadeTree)
			TemplateDef = [dim var_Items]
			TemplateDef = var_Items
			Template = [var_Items.SelectItem(AddItem("Item B")) = True]
		endwith
		var_Items.AddItem("Item C")
	var_View.EndUpdate()
oCascadeTree.EndUpdate()

1
How do I change the control's background color
local oCascadeTree

oCascadeTree = form.EXCASCADETREEACTIVEXCONTROL1.nativeObject
oCascadeTree.BackColor = 0xf0f0f0