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

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Items.ItemHeight(0) = View.DefaultItemHeight
	// FilterBarFont.Size = Me.Font.Size
	// ToolTipFont.Size = Me.Font.Size
	COM com_Column,com_Object,com_View;
	anytype var_Column,var_Object,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.DefaultItemHeight(36);
		com_View.HeaderHeight(com_View.DefaultItemHeight());
		com_View.SortBarHeight(com_View.DefaultItemHeight());
		com_View.Indent(26);
		com_View.CheckImage(0/*Unchecked*/,16777216);
		com_View.CheckImage(1/*Checked*/,33554432);
		com_View.CheckImage(2/*PartialChecked*/,50331648);
		com_View.EnsureVisibleColumn("Function");
		var_Object = COM::createFromObject(com_View.Columns()).Item("Function"); com_Object = var_Object;
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance;
	anytype var_Appearance;
	str var_s,var_s1,var_s2,var_s3,var_s4,var_s5;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.ImageSize(32);
	excascadetree1.Font().Size(16);
	var_s = "gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqN";
	var_s = var_s + "UqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwy";
	var_s = var_s + "V21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CM";
	var_s = var_s + "Po9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9F";
	var_s = var_s + "EKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y";
	var_s = var_s + "7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkF";
	var_s = var_s + "gTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtN";
	var_s = var_s + "hCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xio";
	var_s = var_s + "W5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4";
	var_s = var_s + "VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6";
	var_s = var_s + "/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVD";
	var_s = var_s + "NKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJyT";
	var_s = var_s + "8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5Wzlff";
	var_s = var_s + "EkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6";
	var_s = var_s + "I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8Rg";
	var_s = var_s + "H5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWR";
	var_s = var_s + "JNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==";
	excascadetree1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s1 = var_s1 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s1 = var_s1 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR";
		var_s1 = var_s1 + "DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF";
		var_s1 = var_s1 + "oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk";
		var_s1 = var_s1 + "mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo";
		var_s1 = var_s1 + "chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0";
		var_s1 = var_s1 + "ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8";
		var_s1 = var_s1 + "CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U";
		var_s1 = var_s1 + "gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s1));
		var_s2 = "gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s2 = var_s2 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s2 = var_s2 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s2 = var_s2 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnSc";
		var_s2 = var_s2 + "g1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpA";
		var_s2 = var_s2 + "oPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDR";
		var_s2 = var_s2 + "DFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lG";
		var_s2 = var_s2 + "NAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBg";
		var_s2 = var_s2 + "k0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuX";
		var_s2 = var_s2 + "pMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2Cy";
		var_s2 = var_s2 + "A4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8Rp";
		var_s2 = var_s2 + "BzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8T";
		var_s2 = var_s2 + "I7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeH";
		var_s2 = var_s2 + "GFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuh";
		var_s2 = var_s2 + "oiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMs";
		var_s2 = var_s2 + "CwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4ga";
		var_s2 = var_s2 + "BEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgs";
		var_s2 = var_s2 + "wOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtY";
		var_s2 = var_s2 + "QGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBh";
		var_s2 = var_s2 + "YDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0Mg";
		var_s2 = var_s2 + "RBCCQAgQEA==";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s2));
		var_s3 = "gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s3 = var_s3 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s3 = var_s3 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s3 = var_s3 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSe";
		var_s3 = var_s3 + "Q7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjn";
		var_s3 = var_s3 + "OIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ";
		var_s3 = var_s3 + "9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGS";
		var_s3 = var_s3 + "UwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4y";
		var_s3 = var_s3 + "mkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkX";
		var_s3 = var_s3 + "I/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6";
		var_s3 = var_s3 + "BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRA";
		var_s3 = var_s3 + "jDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBEB";
		var_s3 = var_s3 + "wpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQH";
		var_s3 = var_s3 + "oFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRh";
		var_s3 = var_s3 + "cDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQ";
		var_s3 = var_s3 + "AA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjV";
		var_s3 = var_s3 + "HiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4z";
		var_s3 = var_s3 + "xW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH";
		var_s3 = var_s3 + "0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=";
		com_Appearance.Add(3,COMVariant::createFromStr(var_s3));
		var_s4 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s4 = var_s4 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s4 = var_s4 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s4 = var_s4 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s4 = var_s4 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s4 = var_s4 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s4 = var_s4 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s4 = var_s4 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s4 = var_s4 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s4));
	excascadetree1.BackColorHeader(0x4c6c6c6);
	excascadetree1.SelBackColor(0x4000000);
	excascadetree1.SelForeColor(WinApi::RGB2int(0,0,1));
	excascadetree1.Background(20,excascadetree1.SelBackColor());
	excascadetree1.Background(21,excascadetree1.SelForeColor());
	excascadetree1.Background(26/*0x1a | exSplitBar*/,excascadetree1.BackColor());
	excascadetree1.Background(27/*0x1b | exSplitBar*/,excascadetree1.ForeColor());
	excascadetree1.Background(32,-1);
	excascadetree1.Background(0,0x4000000);
	excascadetree1.Background(41/*exHeaderFilterBarActive*/,0x4010101);
	excascadetree1.Background(1,0x40000ff);
	excascadetree1.HeaderAppearance(4/*Etched*/);
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.BackColorLevelHeader(excascadetree1.BackColor());
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s5 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s5 = var_s5 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s5 = var_s5 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s5 = var_s5 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s5));
	excascadetree1.Select("US\\MN");
	excascadetree1.EndUpdate();
}
78
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Object,com_View;
	anytype var_Column,var_Object,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.EnsureVisibleColumn("Function");
		var_Object = COM::createFromObject(com_View.Columns()).Item("Function"); com_Object = var_Object;
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance;
	anytype var_Appearance;
	str var_s,var_s1,var_s2;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.ImageSize(16);
	var_s = "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd";
	var_s = var_s + "SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt";
	var_s = var_s + "mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac";
	var_s = var_s + "vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG";
	var_s = var_s + "sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn";
	var_s = var_s + "wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==";
	excascadetree1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s1 = var_s1 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s1 = var_s1 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s1 = var_s1 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s1 = var_s1 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s1 = var_s1 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s1 = var_s1 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s1 = var_s1 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s1 = var_s1 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s1));
	excascadetree1.BackColorHeader(0x4c6c6c6);
	excascadetree1.SelBackColor(0x4000000);
	excascadetree1.SelForeColor(WinApi::RGB2int(0,0,1));
	excascadetree1.Background(20,excascadetree1.SelBackColor());
	excascadetree1.Background(21,excascadetree1.SelForeColor());
	excascadetree1.Background(26/*0x1a | exSplitBar*/,excascadetree1.BackColor());
	excascadetree1.Background(27/*0x1b | exSplitBar*/,excascadetree1.ForeColor());
	excascadetree1.Background(32,-1);
	excascadetree1.Background(0,0x4000000);
	excascadetree1.Background(41/*exHeaderFilterBarActive*/,0x4010101);
	excascadetree1.Background(1,0x40000ff);
	excascadetree1.HeaderAppearance(4/*Etched*/);
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.BackColorLevelHeader(excascadetree1.BackColor());
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s2 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s2 = var_s2 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s2 = var_s2 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s2 = var_s2 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s2));
	excascadetree1.Select("US\\MN");
	excascadetree1.EndUpdate();
}
77
Is it possible to highlight the column's header once a filter is applied

public void init()
{
	COM com_Appearance,com_Column,com_Columns,com_Items,com_View;
	anytype var_Appearance,var_Column,var_Columns,var_Items,var_View;
	int h;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ";
		var_s = var_s + "0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN";
		var_s = var_s + "YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h";
		var_s = var_s + "hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb";
		var_s = var_s + "hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB";
		var_s = var_s + "MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s));
		com_Appearance.Add(1,"CP:2 -8 -4 2 4");
	excascadetree1.Background(0,0x1fefefe);
	excascadetree1.Background(41/*exHeaderFilterBarActive*/,0x1010101);
	excascadetree1.Background(32,-1);
	excascadetree1.BackColorHeader(WinApi::RGB2int(255,255,255));
	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.HeaderHeight(28);
		com_View.DrawGridLines(-2/*exRowLines*/);
		com_View.HeaderVisible(1);
		var_Columns = com_View.Columns(); com_Columns = var_Columns;
			COM::createFromVariant(com_Columns.Add("C1")).DisplayFilterButton(true);
			var_Column = COM::createFromVariant(com_Columns.Add("C2")); com_Column = var_Column;
				com_Column.DisplayFilterButton(true);
				com_Column.Filter("Item 2");
				com_Column.FilterType(240/*exFilter*/);
			COM::createFromVariant(com_Columns.Add("C3")).DisplayFilterButton(true);
		var_Items = com_View.Items(); com_Items = var_Items;
			h = com_Items.AddItem("Item 1");
			com_Items.CellValue(h,COMVariant::createFromInt(1),"Item 2");
			com_Items.CellValue(h,COMVariant::createFromInt(2),"Item 3");
			h = com_Items.AddItem("Item 4");
			com_Items.CellValue(h,COMVariant::createFromInt(1),"Item 5");
			com_Items.CellValue(h,COMVariant::createFromInt(2),"Item 6");
		com_View.ApplyFilter();
	excascadetree1.EndUpdate();
}
76
Is it possible to show the filterbar on top of the rows

public void init()
{
	COM com_Column,com_Column1,com_Columns,com_Items,com_View;
	anytype var_Column,var_Column1,var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		com_View.FilterBarPromptVisible(8192/*exFilterBarTop*/);
		com_View.HeaderHeight(24);
		com_View.FilterBarHeight(com_View.HeaderHeight());
		com_View.HeaderAppearance(1/*Flat*/);
		com_View.DrawGridLines(-1/*exAllLines*/);
		com_View.GridLineStyle(512/*exGridLinesGeometric*/);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Column")); com_Column = var_Column;
			com_Column.DisplayFilterButton(true);
			com_Column.FilterType(3/*exPattern*/);
			com_Column.Filter("B*");
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		var_Column1 = COM::createFromVariant(com_Columns.Add("Index")); com_Column1 = var_Column1;
			com_Column1.FormatColumn("1 index ``");
			com_Column1.Position(0);
			com_Column1.Width(48);
			com_Column1.AllowSizing(false);
			com_Column1.SortType(1/*SortNumeric*/);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("A.1");
			com_Items.AddItem("A.2");
			com_Items.AddItem("B.1");
			com_Items.AddItem("B.2");
			com_Items.AddItem("B.3");
			com_Items.AddItem("C");
		com_View.ApplyFilter();
	excascadetree1.EndUpdate();
}
75
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		k = com_View.ParentView().Value();
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add(k);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 1`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 2`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 3`",k));
		com_View.EndUpdate();
}

public void init()
{
	COM com_Column,com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Column,var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Default")); com_Column = var_Column;
			com_Column.AllowSort(false);
			com_Column.AllowDragging(false);
		com_View.Key(COMVariant::createFromInt(0));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("Item A");
			com_Items.SelectItem(com_Items.AddItem("Item B"),true);
			com_Items.AddItem("Item C");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
74
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		k = com_View.ParentView().Value();
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add(k);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 1`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 2`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 3`",k));
		com_View.EndUpdate();
}

public void init()
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Background(32,-1);
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add("Default");
		com_View.Key(COMVariant::createFromInt(0));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("Item A");
			com_Items.SelectItem(com_Items.AddItem("Item B"),true);
			com_Items.AddItem("Item C");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
73
Type of wraps the cell's caption support (Sample 2)

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items,com_View;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.HeaderSingleLine(false);
		com_View.HeaderHeight(36);
		com_View.DrawGridLines(-2/*exRowLines*/);
		com_View.ColumnAutoResize(false);
		com_View.ScrollBySingleLine(true);
		var_Columns = com_View.Columns(); com_Columns = var_Columns;
			var_Column = COM::createFromVariant(com_Columns.Add("Single-Line (exCaptionSingleLine)")); com_Column = var_Column;
				com_Column.Width(96);
				com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
				com_Column.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(-1));
			var_Column1 = COM::createFromVariant(com_Columns.Add("Word-Wrap (exCaptionWordWrap)")); com_Column1 = var_Column1;
				com_Column1.Width(96);
				com_Column1.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
				com_Column1.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(0));
				com_Column1.FormatColumn("%0");
			var_Column2 = COM::createFromVariant(com_Columns.Add("Break-Wrap (exCaptionBreakWrap)")); com_Column2 = var_Column2;
				com_Column2.Width(96);
				com_Column2.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
				com_Column2.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(1));
				com_Column2.FormatColumn("%0");
		var_Items = com_View.Items(); com_Items = var_Items;
			com_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.");
			com_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.");
		com_View.EndUpdate();
}
72
Type of wraps the cell's caption support (Sample 1)

public void init()
{
	COM com_Columns,com_Items,com_View;
	anytype var_Columns,var_Items,var_View;
	int h;
	;

	super();

	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.HeaderSingleLine(false);
		com_View.HeaderHeight(36);
		com_View.DrawGridLines(-2/*exRowLines*/);
		com_View.ColumnAutoResize(false);
		com_View.ScrollBySingleLine(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Default")).Width(128);
		var_Items = com_View.Items(); com_Items = var_Items;
			h = com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
			h = com_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.");
			com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
			h = com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
			com_Items.CellSingleLine(h,COMVariant::createFromInt(0),0/*exCaptionWordWrap*/);
			h = com_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.");
			com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
			com_Items.CellSingleLine(h,COMVariant::createFromInt(0),0/*exCaptionWordWrap*/);
			h = com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
			com_Items.CellSingleLine(h,COMVariant::createFromInt(0),1/*exCaptionBreakWrap*/);
			h = com_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.");
			com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
			com_Items.CellSingleLine(h,COMVariant::createFromInt(0),1/*exCaptionBreakWrap*/);
		com_View.EndUpdate();
}
71
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

public void init()
{
	COM com_Columns,com_Items,com_View;
	anytype var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.DrawGridLines(-2/*exRowLines*/);
		com_View.ColumnAutoResize(false);
		com_View.ScrollBySingleLine(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Default")).Width(128);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.CellSingleLine(com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."),COMVariant::createFromInt(0),1/*exCaptionBreakWrap*/);
			com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
		com_View.EndUpdate();
}
70
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

public void init()
{
	COM com_Column,com_Columns,com_Items,com_View;
	anytype var_Column,var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.DrawGridLines(-2/*exRowLines*/);
		com_View.ColumnAutoResize(false);
		com_View.ScrollBySingleLine(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Default")); com_Column = var_Column;
			com_Column.Width(128);
			com_Column.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(1));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
			com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
		com_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

public void init()
{
	COM com_Appearance,com_Columns,com_View;
	anytype var_Appearance,var_Columns,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI";
		var_s = var_s + "UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a";
		var_s = var_s + "DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe";
		var_s = var_s + "EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB";
		var_s = var_s + "ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG";
		var_s = var_s + "KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		com_Appearance.Add(2,"CP:1 0 -36 0 0");
	excascadetree1.Background(182/*exColumnsPositionSign*/,0x2000000);
	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.HeaderAppearance(4/*Etched*/);
		var_Columns = com_View.Columns(); com_Columns = var_Columns;
			com_Columns.Add("Column 1");
			com_Columns.Add("Column 2");
			com_Columns.Add("Column 3");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
68
DataSource (control, ADODB, ACCDB, x64)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_View;
	COMVariant bColumnAutoResize,bSingle;
	anytype var_View;
	;
	bSingle = excascadetree1.FormatABC("value > 0 ?  0 : -1",excascadetree1.View().Index());
	bColumnAutoResize = excascadetree1.FormatABC("value = `City` ?  0 : -1",excascadetree1.View().Tag());
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(bColumnAutoResize);
		com_View.SingleSel(bSingle);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(515/*exAutoFitOnResizeClient | exSplitFixCascadeMode*/);
	var_s = "locktype=1;Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryC";
	var_s = var_s + "ode;Tag=Country;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Nam";
	var_s = var_s + "e=StateName;Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Membe";
	var_s = var_s + "r=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Nam";
	var_s = var_s + "e=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
67
DataSource (view, ADODB, ACCDB, x64)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View,com_ado;
	anytype ado,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be string (Source/Member), ADO or DAO objects");
	excascadetree1.DefColumnWidth(336);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	ado = COM::createFromObject(new ADODB.Recordset()); com_ado = ado;
		ado.Open("Countries","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb",3/*adOpenStatic*/,1/*adLockReadOnly*/,-1);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.DataSource(COM::createFromVariant(ado));
		com_View.ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
66
Simple sample

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_View;
	COMVariant bColumnAutoResize,bSingle;
	anytype var_View;
	;
	bSingle = excascadetree1.FormatABC("value > 0 ?  0 : -1",excascadetree1.View().Index());
	bColumnAutoResize = excascadetree1.FormatABC("value = `City` ?  0 : -1",excascadetree1.View().Tag());
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(bColumnAutoResize);
		com_View.SingleSel(bSingle);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(515/*exAutoFitOnResizeClient | exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.EndUpdate();
}
65
FilterBar sample

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Columns,com_View,com_View1,com_View2,com_View3,com_View4,com_View5;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Columns,var_View,var_View1,var_View2,var_View3,var_View4,var_View5;
	str var_s,var_s1;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.HeaderHeight(20);
		com_View.HeaderAppearance(4/*Etched*/);
		com_View.DrawGridLines(-1/*exAllLines*/);
		com_View.GridLineStyle(12/*exGridLinesDash*/);
	var_View1 = excascadetree1.DefaultView(); com_View1 = var_View1;
		var_View2 = com_View1.View("Country"); com_View2 = var_View2;
			com_View2.BeginUpdate();
			com_View2.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
				com_Column.HTMLCaption("Country");
				com_Column.DisplayFilterButton(true);
				com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
				com_Column.FilterBarDropDownWidth(2);
			com_View2.EndUpdate();
		var_View3 = com_View1.View("State"); com_View3 = var_View3;
			com_View3.BeginUpdate();
			com_View3.ColumnAutoResize(true);
			var_Column1 = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Column1 = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(1)); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Column1 = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(2)); com_Column1 = var_Column1;
				com_Column1.HTMLCaption("State");
				com_Column1.DisplayFilterButton(true);
				com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
				com_Column1.FilterBarDropDownWidth(2);
			com_View3.EndUpdate();
		var_View4 = com_View1.View("City"); com_View4 = var_View4;
			com_View4.BeginUpdate();
			var_Column2 = COM::createFromObject(com_View4.Columns()).Item("CountryCode"); com_Column2 = var_Column2;
			com_Column2.Visible(false);
			var_Column2 = COM::createFromObject(com_View4.Columns()).Item("StateCode"); com_Column2 = var_Column2;
			com_Column2.Visible(false);
			var_Column2 = COM::createFromObject(com_View4.Columns()).Item("Name"); com_Column2 = var_Column2;
				com_Column2.HTMLCaption("City");
				com_Column2.Width(128);
				com_Column2.DisplayFilterButton(true);
				com_Column2.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
				com_Column2.FilterBarDropDownWidth(2);
			com_View4.SearchColumnIndex(com_View4.Columns().Item("Name").Index());
			var_Column3 = COM::createFromObject(com_View4.Columns()).Item("Status"); com_Column3 = var_Column3;
				com_Column3.DisplayFilterButton(true);
				com_Column3.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
				com_Column3.FilterBarDropDownWidth(2);
			var_Column4 = COM::createFromObject(com_View4.Columns()).Item("Function"); com_Column4 = var_Column4;
				com_Column4.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
				var_s = "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>` re";
				var_s = var_s + "place 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 ";
				var_s = var_s + "with `<img>9</img>` replace `-` with `` ";
				com_Column4.FormatColumn(var_s);
			var_Columns = COM::createFromObject(com_View4.Columns()); com_Columns = var_Columns;
			var_Column5 = COM::createFromVariant(com_Columns.Add("Pos")); com_Column5 = var_Column5;
				com_Column5.AllowSizing(false);
				com_Column5.Width(32);
				com_Column5.Def(4/*exCellBackColor*/,COMVariant::createFromInt(15790320));
				com_Column5.Position(0);
				com_Column5.FormatColumn("1 pos ``");
				com_Column5.Alignment(1/*CenterAlignment*/);
				com_Column5.HeaderAlignment(com_Column5.Alignment());
			com_View4.CountLockedColumns(1);
			com_View4.Width(com_View4.WidthToFit());
			com_View4.EndUpdate();
	var_View5 = excascadetree1.View(); com_View5 = var_View5;
		com_View5.FilterBarHeight(36);
		var_s1 = "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `";
		var_s1 = var_s1 + "[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match";
		var_s1 = var_s1 + "itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun";
		var_s1 = var_s1 + "t + ` item(s)`) )))";
		com_View5.FilterBarCaption(var_s1);
		com_View5.FilterBarPromptVisible(515/*exFilterBarShowCloseIfRequired | exFilterBarVisible | exFilterBarPromptVisible*/);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance,com_View;
	anytype var_Appearance,var_View;
	str var_s,var_s1,var_s2;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-01.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-02.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-03.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-04.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-05.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-06.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-07.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-08.ico");
	excascadetree1.Images("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Bullets\\Bullet-09.ico");
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Count";
	var_s = var_s + "ry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;T";
	var_s = var_s + "ag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FR";
	var_s = var_s + "OM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("RO\\CJ");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("City"); com_View = var_View;
		com_View.FilterBarPromptPattern("Tu");
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI";
		var_s1 = var_s1 + "UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a";
		var_s1 = var_s1 + "DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe";
		var_s1 = var_s1 + "EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB";
		var_s1 = var_s1 + "ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG";
		var_s1 = var_s1 + "KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s1));
		var_s2 = "gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJj";
		var_s2 = var_s2 + "yI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmS";
		var_s2 = var_s2 + "ZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8ORO";
		var_s2 = var_s2 + "icbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2D";
		var_s2 = var_s2 + "YxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXA";
		var_s2 = var_s2 + "iAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJ";
		var_s2 = var_s2 + "DCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0";
		var_s2 = var_s2 + "TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAk";
		var_s2 = var_s2 + "jIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSM";
		var_s2 = var_s2 + "RsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQ";
		var_s2 = var_s2 + "HkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s2));
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(4,0,0));
	excascadetree1.Background(0,0x1000000);
	excascadetree1.Background(1,0x2000000);
	excascadetree1.Background(32,-1);
	excascadetree1.EndUpdate();
}
64
GroupBy sample

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Column1,com_Column2,com_View,com_View1,com_View2;
	COMVariant bGroupBy;
	anytype var_Column,var_Column1,var_Column2,var_View,var_View1,var_View2;
	int nSelected;
	;
	excascadetree1.View().HeaderHeight(24);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		var_View1 = com_View.View("State"); com_View1 = var_View1;
			com_View1.BeginUpdate();
			com_View1.SingleSel(false);
			com_View1.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
				com_Column.HTMLCaption("State <off 4><fgcolor=808080>Name");
				com_Column.SortOrder(1/*SortAscending*/);
			com_View1.EndUpdate();
		var_View2 = com_View.View("City"); com_View2 = var_View2;
			nSelected = com_View2.ParentView().Items().SelectCount();
			bGroupBy = excascadetree1.FormatABC("value > 1 ? -1 : 0",nSelected);
			com_View2.BeginUpdate();
			com_View2.SingleSel(false);
			com_View2.SortBarCaption("Drag a <b>column</b> header here to group by that column.");
			com_View2.HasLines(1/*exSolidLine*/);
			com_View2.ColumnAutoResize(false);
			com_View2.DrawGridLines(2/*exVLines*/);
			com_View2.GridLineStyle(32/*exGridLinesVSolid*/);
			var_Column1 = COM::createFromObject(com_View2.Columns()).Item("CountryCode"); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Column1 = COM::createFromObject(com_View2.Columns()).Item("Name"); com_Column1 = var_Column1;
				com_Column1.HTMLCaption("City <off 4><fgcolor=808080>Name");
				com_Column1.Width(128);
				com_Column1.SortOrder(1/*SortAscending*/);
			com_View2.SearchColumnIndex(2);
			com_View2.TreeColumnIndex(com_View2.SearchColumnIndex());
			com_View2.SingleSort(false);
			com_View2.AllowGroupBy(bGroupBy);
			com_View2.SortBarVisible(bGroupBy);
			var_Column2 = COM::createFromObject(com_View2.Columns()).Item("StateCode"); com_Column2 = var_Column2;
				com_Column2.Visible(bGroupBy);
				com_Column2.SortOrder(1/*SortAscending*/);
			com_View2.Width(com_View2.WidthToFit());
			com_View2.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance,com_Column,com_View;
	anytype var_Appearance,var_Column,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\Assorted\\vistaselDark.ebn");
		com_Appearance.Add(2,"C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\Assorted\\bhframe.ebn");
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Count";
	var_s = var_s + "ry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;T";
	var_s = var_s + "ag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FR";
	var_s = var_s + "OM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("RO\\CJ|BV|GL|IL");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("Country"); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
		com_Column.Visible(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.HTMLCaption("Country <off 4><fgcolor=808080>Name");
			com_Column.SortOrder(1/*SortAscending*/);
		com_View.EndUpdate();
	excascadetree1.SelBackColor(0x1000000);
	excascadetree1.SelForeColor(WinApi::RGB2int(255,255,255));
	excascadetree1.BackColorHeader(0x2000000);
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.BackColorSortBarCaption(excascadetree1.BackColor());
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(4,0,0));
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.EndUpdate();
}
63
Manual sample

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _V)
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		k = com_View.ParentView().Value();
		com_View.HeaderVisible(false);
		com_View.ColumnAutoResize(true);
		com_View.ScrollBySingleLine(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Default")).Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
		com_View.Key(COMVariant::createFromInt(0));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem(excascadetree1.FormatABC("A + `.Child 1`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `.Child 2`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `.Child 3`",k));
		com_View.EndUpdate();
}

public void init()
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.BackColorAlternate(0x7ff0f0f0);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(240,240,240));
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.HeaderVisible(false);
		com_View.ColumnAutoResize(true);
		com_View.ScrollBySingleLine(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Default")).Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
		com_View.Key(COMVariant::createFromInt(0));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("Item A");
			com_Items.AddItem("Item B");
			com_Items.AddItem("Item C");
		com_View.EndUpdate();
	excascadetree1.Select("Item A\\Item*A*2\\Item*A*2*3\\");
	excascadetree1.EndUpdate();
}
62
Appearance sample

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Column1,com_ConditionalFormat,com_ConditionalFormats,com_Items,com_Items1,com_View,com_View1,com_View2;
	anytype var_Column,var_Column1,var_ConditionalFormat,var_ConditionalFormats,var_Items,var_Items1,var_View,var_View1,var_View2;
	int h;
	;
	excascadetree1.View().HeaderHeight(24);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		var_View1 = com_View.View("State"); com_View1 = var_View1;
			com_View1.BeginUpdate();
			com_View1.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
				com_Column.HTMLCaption("State <off 4><fgcolor=808080>Name");
				com_Column.SortOrder(1/*SortAscending*/);
			var_Items = com_View1.Items(); com_Items = var_Items;
				com_Items.LockedItemCount(0/*exTop*/,1);
				h = com_Items.LockedItem(0/*exTop*/,0);
				com_Items.ItemDivider(h,0);
				com_Items.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
				com_Items.CellValue(h,COMVariant::createFromInt(0),"count(all,all,1)");
				com_Items.FormatCell(h,COMVariant::createFromInt(0),"`<r>States: <b>`+ (value format `0`)");
			com_View1.EndUpdate();
		var_View2 = com_View.View("City"); com_View2 = var_View2;
			com_View2.BeginUpdate();
			com_View2.SingleSel(false);
			com_View2.ColumnAutoResize(false);
			com_View2.DrawGridLines(2/*exVLines*/);
			com_View2.GridLineStyle(32/*exGridLinesVSolid*/);
			var_Column1 = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Column1 = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(1)); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Column1 = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(2)); com_Column1 = var_Column1;
				com_Column1.HTMLCaption("City <off 4><fgcolor=808080>Name");
				com_Column1.Width(128);
				com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
				com_Column1.SortOrder(1/*SortAscending*/);
			com_View2.SearchColumnIndex(2);
			var_ConditionalFormats = COM::createFromObject(com_View2.ConditionalFormats()); com_ConditionalFormats = var_ConditionalFormats;
			var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats).Add("%CS2 = 1"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.Bold(true);
			var_Items1 = com_View2.Items(); com_Items1 = var_Items1;
				com_Items1.LockedItemCount(0/*exTop*/,1);
				h = com_Items1.LockedItem(0/*exTop*/,0);
				com_Items1.ItemDivider(h,0);
				com_Items1.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
				com_Items1.CellValue(h,COMVariant::createFromInt(0),"count(all,all,1)");
				com_Items1.FormatCell(h,COMVariant::createFromInt(0),"`<r>Cities: <b>`+ (value format `0`)");
			com_View2.Width(com_View2.WidthToFit());
			com_View2.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance,com_Column,com_Items,com_View;
	anytype var_Appearance,var_Column,var_Items,var_View;
	int h;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\MSOffice-Ribbon\\msor_select.ebn");
		com_Appearance.Add(2,"C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\EBN\\MSOffice-Ribbon\\msor_background.ebn");
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Count";
	var_s = var_s + "ry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;T";
	var_s = var_s + "ag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * FR";
	var_s = var_s + "OM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("Country"); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
		com_Column.Visible(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.HTMLCaption("Country <off 4><fgcolor=808080>Name");
			com_Column.SortOrder(1/*SortAscending*/);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.LockedItemCount(0/*exTop*/,1);
			h = com_Items.LockedItem(0/*exTop*/,0);
			com_Items.ItemDivider(h,0);
			com_Items.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
			com_Items.CellValue(h,COMVariant::createFromInt(0),"count(all,all,1)");
			com_Items.FormatCell(h,COMVariant::createFromInt(0),"`<r>Countries: <b>`+ (value format `0`)");
		com_View.EndUpdate();
	excascadetree1.SelBackColor(0x1000000);
	excascadetree1.SelForeColor(WinApi::RGB2int(0,0,0));
	excascadetree1.BackColorHeader(0x2000000);
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(4,0,0));
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.EndUpdate();
}
61
How can I get the selected items (sample 2)
// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		k = com_View.ParentView().Value();
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		com_View.Key(COMVariant::createFromInt(-1));
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add(k);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 1`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 2`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 3`",k));
		com_View.EndUpdate();
}

// ViewItemStateEndChanging event - Indicates that the state of the item has been changed.
void onEvent_ViewItemStateEndChanging(int   _Operation,int   _Item,int   _ColIndex)
{
	COM com_Items;
	anytype var_Items;
	;
	print( "End" );
	print( _Operation );
	var_Items = excascadetree1.View().Items(); com_Items = var_Items;
		print( "FocusItem" );
		print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(0)) );
		print( "SelectedItem" );
		print( com_Items.CellCaption(com_Items.SelectedItem(0),COMVariant::createFromInt(0)) );
}

// ViewItemStateStartChanging event - Indicates that the state of the item is about to be changed.
void onEvent_ViewItemStateStartChanging(int   _Operation,int   _Item,int   _ColIndex,COMVariant /*variant*/   _Cancel)
{
	;
	print( "Start" );
	print( _Operation );
}

public void init()
{
	COM com_Columns,com_Items,com_View;
	anytype var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add("Default");
		com_View.Key(COMVariant::createFromInt(0));
		com_View.LinesAtRoot(-1/*exLinesAtRoot*/);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("Item A");
			com_Items.SelectItem(com_Items.AddItem("Item B"),true);
			com_Items.AddItem("Item C");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
60
How do I specify a foreground color for a particular view

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_ConditionalFormat,com_ConditionalFormats,com_View;
	anytype var_ConditionalFormat,var_ConditionalFormats,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_ConditionalFormats = COM::createFromObject(com_View).ConditionalFormats(); com_ConditionalFormats = var_ConditionalFormats;
	var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats).Add("1"); com_ConditionalFormat = var_ConditionalFormat;
	com_ConditionalFormat.ForeColor(WinApi::RGB2int(128,128,128));
	excascadetree1.EndUpdate();
}
59
How do display result/items in the view's filter bar

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Columns,com_View,com_View1,com_View2,com_View3,com_View4,com_View5;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Columns,var_View,var_View1,var_View2,var_View3,var_View4,var_View5;
	str var_s;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.HeaderAppearance(4/*Etched*/);
		com_View.HeaderHeight(24);
		com_View.DrawGridLines(-1/*exAllLines*/);
		com_View.GridLineStyle(12/*exGridLinesDash*/);
	var_View1 = excascadetree1.DefaultView(); com_View1 = var_View1;
		var_View2 = com_View1.View("Country"); com_View2 = var_View2;
			com_View2.BeginUpdate();
			com_View2.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
				com_Column.HTMLCaption("Country <off 4><fgcolor=808080>Name");
				com_Column.DisplayFilterButton(true);
				com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
				com_Column.FilterBarDropDownWidth(2);
			com_View2.EndUpdate();
		var_View3 = com_View1.View("State"); com_View3 = var_View3;
			com_View3.BeginUpdate();
			com_View3.ColumnAutoResize(true);
			var_Column1 = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Column1 = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(1)); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Column1 = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(2)); com_Column1 = var_Column1;
				com_Column1.HTMLCaption("State <off 4><fgcolor=808080>Name");
				com_Column1.DisplayFilterButton(true);
				com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
				com_Column1.FilterBarDropDownWidth(2);
			com_View3.EndUpdate();
		var_View4 = com_View1.View("City"); com_View4 = var_View4;
			com_View4.BeginUpdate();
			var_Column2 = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(0)); com_Column2 = var_Column2;
			com_Column2.Visible(false);
			var_Column2 = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(1)); com_Column2 = var_Column2;
			com_Column2.Visible(false);
			var_Column2 = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(2)); com_Column2 = var_Column2;
				com_Column2.HTMLCaption("City <off 4><fgcolor=808080>Name");
				com_Column2.Width(128);
				com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
				com_Column2.DisplayFilterButton(true);
				com_Column2.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
				com_Column2.FilterBarDropDownWidth(2);
			var_Columns = COM::createFromObject(com_View4.Columns()); com_Columns = var_Columns;
			var_Column3 = COM::createFromVariant(com_Columns.Add("Pos")); com_Column3 = var_Column3;
				com_Column3.AllowSizing(false);
				com_Column3.Width(32);
				com_Column3.Def(4/*exCellBackColor*/,COMVariant::createFromInt(15790320));
				com_Column3.Position(0);
				com_Column3.FormatColumn("1 pos ``");
			com_View4.CountLockedColumns(1);
			com_View4.EndUpdate();
	var_View5 = excascadetree1.View(); com_View5 = var_View5;
		com_View5.FilterBarHeight(36);
		var_s = "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `";
		var_s = var_s + "[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match";
		var_s = var_s + "itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun";
		var_s = var_s + "t + ` item(s)`) )))";
		com_View5.FilterBarCaption(var_s);
		com_View5.FilterBarPromptType(3/*exFilterPromptStartWith*/);
		com_View5.FilterBarPromptVisible(515/*exFilterBarShowCloseIfRequired | exFilterBarVisible | exFilterBarPromptVisible*/);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View;
	anytype var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(2,0,0));
	excascadetree1.EndUpdate();
	excascadetree1.BeginUpdate();
	excascadetree1.MinColumnWidth(348);
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("City"); com_View = var_View;
		com_View.FilterBarPromptPattern("An");
	excascadetree1.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

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_View;
	anytype var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.FilterBarPromptType(3/*exFilterPromptStartWith*/);
		com_View.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_View;
	anytype var_Column,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("City"); com_View = var_View;
		com_View.FilterBarPromptPattern("An");
		var_Column = COM::createFromObject(com_View.Columns()).Item("Name"); com_Column = var_Column;
			com_Column.Width(128);
			com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
			com_Column.FormatColumn("value replace `An` with `<bgcolor=000000><fgcolor=FFFFFF>An</fgcolor></bgcolor>` ");
	excascadetree1.EndUpdate();
}
57
FilterBarCaption Predefined Keywords

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_View;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_View;
	str var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.BackColorAlternate(WinApi::RGB2int(240,240,240));
	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("Country"); com_View = var_View;
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column;
			com_Column.Position(0);
			com_Column.Width(32);
			com_Column.AllowSizing(false);
			com_Column.FormatColumn("1pos ``");
		var_Column1 = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column1 = var_Column1;
			com_Column1.Width(32);
			com_Column1.AllowSizing(false);
			com_Column1.DisplayFilterButton(true);
		var_Column2 = COM::createFromObject(com_View.Columns()).Item("CountryName"); com_Column2 = var_Column2;
			com_Column2.DisplayFilterButton(true);
			com_Column2.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
			com_Column2.FilterBarDropDownWidth(2);
			com_Column2.FilterType(240/*exFilter*/);
			com_Column2.Filter("Italy|Romania|Germany");
		com_View.FilterBarPromptPattern("a");
		com_View.ColumnAutoResize(true);
		com_View.SearchColumnIndex(com_View.Columns().Item("CountryName").Index());
		com_View.FilterInclude(1/*exItemsWithChilds*/);
		var_s1 = "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i";
		var_s1 = var_s1 + "></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>:";
		var_s1 = var_s1 + " ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><";
		var_s1 = var_s1 + "i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i";
		var_s1 = var_s1 + "></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=80";
		var_s1 = var_s1 + "8080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + ";
		var_s1 = var_s1 + "`</fgcolor>`";
		com_View.FilterBarCaption(var_s1);
		com_View.FilterBarPromptVisible(7/*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
		com_View.ApplyFilter();
	excascadetree1.EndUpdate();
}
56
How can I enable the column's filter bar (view)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	;
	excascadetree1.View().FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_View;
	anytype var_Column,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("Country"); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryName"); com_Column = var_Column;
			com_Column.DisplayFilterButton(true);
			com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
			com_Column.FilterBarDropDownWidth(2);
			com_Column.FilterType(240/*exFilter*/);
			com_Column.Filter("Romania|Germany");
		com_View.ApplyFilter();
	excascadetree1.EndUpdate();
}
55
How can I enable the column's filter bar

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Column1,com_View,com_View1;
	anytype var_Column,var_Column1,var_View,var_View1;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.DisplayFilterButton(true);
			com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
			com_Column.FilterBarDropDownWidth(2);
	var_View1 = COM::createFromObject(excascadetree1.DefaultView()); com_View1 = var_View1;
	var_View1 = COM::createFromObject(com_View1).View("Country"); com_View1 = var_View1;
		var_Column1 = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
			com_Column1.FilterType(240/*exFilter*/);
			com_Column1.Filter("US|RO|GE");
		com_View1.ApplyFilter();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
54
How can I enable the control's filter bar (view)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View;
	anytype var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	com_View.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
	excascadetree1.EndUpdate();
}
53
How can I enable the control's filter bar

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	;
	excascadetree1.View().FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
52
Aggregate sum, min, max, count, avg, divider, total (view)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_Items,com_View;
	anytype var_Column,var_Items,var_View;
	int h;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(2/*exSplitEqualCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(4,0,0));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("RO");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("Country"); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
		com_Column.Visible(false);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.LockedItemCount(0/*exTop*/,1);
			h = com_Items.LockedItem(0/*exTop*/,0);
			com_Items.ItemDivider(h,0);
			com_Items.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
			com_Items.CellValue(h,COMVariant::createFromInt(0),"count(all,all,1)");
			com_Items.FormatCell(h,COMVariant::createFromInt(0),"`<r>Countries: <b>`+ (value format `0`)");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
51
Aggregate sum, min, max, count, avg, divider, total

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Items,com_Items1,com_Items2,com_View,com_View1,com_View2,com_View3;
	anytype var_Column,var_Items,var_Items1,var_Items2,var_View,var_View1,var_View2,var_View3;
	int h;
	;
	excascadetree1.View().HeaderVisible(false);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		var_View1 = com_View.View("Country"); com_View1 = var_View1;
			com_View1.BeginUpdate();
			com_View1.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Items = com_View1.Items(); com_Items = var_Items;
				com_Items.LockedItemCount(0/*exTop*/,1);
				h = com_Items.LockedItem(0/*exTop*/,0);
				com_Items.ItemDivider(h,0);
				com_Items.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
				com_Items.CellValue(h,COMVariant::createFromInt(0),"count(all,all,1)");
				com_Items.FormatCell(h,COMVariant::createFromInt(0),"`<r>Countries: <b>`+ (value format `0`)");
			com_View1.EndUpdate();
		var_View2 = com_View.View("State"); com_View2 = var_View2;
			com_View2.BeginUpdate();
			com_View2.SingleSel(false);
			com_View2.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Items1 = com_View2.Items(); com_Items1 = var_Items1;
				com_Items1.LockedItemCount(0/*exTop*/,1);
				h = com_Items1.LockedItem(0/*exTop*/,0);
				com_Items1.ItemDivider(h,0);
				com_Items1.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
				com_Items1.CellValue(h,COMVariant::createFromInt(0),"count(all,all,1)");
				com_Items1.FormatCell(h,COMVariant::createFromInt(0),"`<r>States: <b>`+ (value format `0`)");
			com_View2.EndUpdate();
		var_View3 = com_View.View("City"); com_View3 = var_View3;
			com_View3.BeginUpdate();
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
				com_Column.Width(128);
				com_Column.HTMLCaption("CityName");
			var_Items2 = com_View3.Items(); com_Items2 = var_Items2;
				com_Items2.LockedItemCount(0/*exTop*/,1);
				h = com_Items2.LockedItem(0/*exTop*/,0);
				com_Items2.ItemDivider(h,0);
				com_Items2.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
				com_Items2.CellValue(h,COMVariant::createFromInt(0),"count(all,all,1)");
				com_Items2.FormatCell(h,COMVariant::createFromInt(0),"`<r>Cities: <b>`+ (value format `0`)");
			com_View3.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(4,0,0));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
50
How can I add a check-box column (view)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_Column1,com_Columns,com_ConditionalFormat,com_ConditionalFormats,com_Items,com_View;
	anytype var_Column,var_Column1,var_Columns,var_ConditionalFormat,var_ConditionalFormats,var_Items,var_View;
	str var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<c>Select multiple-items in the City view, and press <b>SPACE</b> key");
	excascadetree1.Background(168/*exStatusBackColor*/,excascadetree1.BackColor());
	var_s = "gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEhqGiUBihaQhRgyJI3RlJGaoDi";
	var_s = var_s + "KIokShKEpDLKlCx3H6OKQjOZgAoySo4SbDMp0NAkRBlFqcJCCCLAUgmTpQUBOYyiLKNRxQGoYLIlayZIiSIpMRbWcB3BYEOSFFasAAleYZTg2Jp1TbPAAYFL1ISDKSiI";
	var_s = var_s + "ZqTA6PheT5yUzCNazbgEMTvRKqcSnO6bOgnEKQZKAGg4bg1RTVAYZLKtPR7aqyUJvZ5sMB6DiuLYRPKXZoucaNExSS5ebJtOzQJbEXBpXSpBwzSieBozIaQcJUOoaVxP";
	var_s = var_s + "FkaJrGuIx3h2BZPgOUIQmUcIwDARAkiAaQxh0DonCMLAeBKZobBCCY+niWJaBIKJJH4MoBgiQpCmmUR/ooBgCgCYBIBYBoBmCBYAn+ApgkgNgOgOYQIEYBIEGESBWBSB";
	var_s = var_s + "JhGgZgZgYIYoHYEIHCGaIGAuCAiCgegkgkYYoh4KIFiKKIuBeAJimiGgwgwYoYk4NILCCGJmDqDpjkidg+gGTo1jUAxAEAgI";
	excascadetree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	excascadetree1.SelBackColor(0x1000000);
	excascadetree1.SelForeColor(excascadetree1.ForeColor());
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s1 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s1 = var_s1 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s1 = var_s1 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s1 = var_s1 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s1));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("City"); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ShowFocusRect(false);
		com_View.SingleSel(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
		com_Column.Visible(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
		com_Column.Visible(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
			com_Column.HTMLCaption("City <off 4><fgcolor=808080>Name");
			com_Column.Width(128);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_View.SearchColumnIndex(com_View.Columns().Item("Name").Index());
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		var_Column1 = COM::createFromVariant(com_Columns.Add("Pos")); com_Column1 = var_Column1;
			com_Column1.Position(0);
			com_Column1.Width(32);
			com_Column1.FormatColumn("1 pos ``");
		var_ConditionalFormats = com_View.ConditionalFormats(); com_ConditionalFormats = var_ConditionalFormats;
			var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats.Add("%CS2 = 1")); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.BackColor(WinApi::RGB2int(190,190,190));
			var_ConditionalFormat = com_ConditionalFormats.Add("%CS2 = 1"); com_ConditionalFormat = var_ConditionalFormat;
				com_ConditionalFormat.Bold(true);
				com_ConditionalFormat.ApplyTo(8);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.CellState(com_Items.ItemByIndex(1),COMVariant::createFromInt(2),1);
			com_Items.CellState(com_Items.ItemByIndex(3),COMVariant::createFromInt(2),1);
			com_Items.CellState(com_Items.ItemByIndex(5),COMVariant::createFromInt(2),1);
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
49
How can I add a check-box column

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Column1,com_Columns,com_ConditionalFormat,com_ConditionalFormats,com_Items,com_View,com_View1,com_View2,com_View3,com_View4;
	anytype var_Column,var_Column1,var_Columns,var_ConditionalFormat,var_ConditionalFormats,var_Items,var_View,var_View1,var_View2,var_View3,var_View4;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.HeaderAppearance(4/*Etched*/);
		com_View.HeaderHeight(24);
		com_View.DrawGridLines(2/*exVLines*/);
		com_View.GridLineStyle(12/*exGridLinesDash*/);
	var_View1 = excascadetree1.DefaultView(); com_View1 = var_View1;
		var_View2 = com_View1.View("Country"); com_View2 = var_View2;
			com_View2.BeginUpdate();
			com_View2.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.HTMLCaption("Country <off 4><fgcolor=808080>Name");
			com_View2.EndUpdate();
		var_View3 = com_View1.View("State"); com_View3 = var_View3;
			com_View3.BeginUpdate();
			com_View3.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
			com_Column.HTMLCaption("State <off 4><fgcolor=808080>Name");
			com_View3.EndUpdate();
		var_View4 = com_View1.View("City"); com_View4 = var_View4;
			com_View4.BeginUpdate();
			com_View4.ShowFocusRect(false);
			com_View4.SingleSel(false);
			var_Column = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
				com_Column.HTMLCaption("City <off 4><fgcolor=808080>Name");
				com_Column.Width(128);
				com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_View4.SearchColumnIndex(com_View4.Columns().Item("Name").Index());
			var_Columns = COM::createFromObject(com_View4.Columns()); com_Columns = var_Columns;
			var_Column1 = COM::createFromVariant(com_Columns.Add("Pos")); com_Column1 = var_Column1;
				com_Column1.Position(0);
				com_Column1.Width(32);
				com_Column1.FormatColumn("1 pos ``");
			var_ConditionalFormats = com_View4.ConditionalFormats(); com_ConditionalFormats = var_ConditionalFormats;
				var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats.Add("%CS2 = 1")); com_ConditionalFormat = var_ConditionalFormat;
				com_ConditionalFormat.BackColor(WinApi::RGB2int(190,190,190));
				var_ConditionalFormat = com_ConditionalFormats.Add("%CS2 = 1"); com_ConditionalFormat = var_ConditionalFormat;
					com_ConditionalFormat.Bold(true);
					com_ConditionalFormat.ApplyTo(8);
			var_Items = com_View4.Items(); com_Items = var_Items;
				com_Items.CellState(com_Items.ItemByIndex(1),COMVariant::createFromInt(2),1);
				com_Items.CellState(com_Items.ItemByIndex(3),COMVariant::createFromInt(2),1);
				com_Items.CellState(com_Items.ItemByIndex(5),COMVariant::createFromInt(2),1);
			com_View4.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<c>Select multiple-items in the City view, and press <b>SPACE</b> key");
	excascadetree1.Background(168/*exStatusBackColor*/,excascadetree1.BackColor());
	var_s = "gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEhqGiUBihaQhRgyJI3RlJGaoDi";
	var_s = var_s + "KIokShKEpDLKlCx3H6OKQjOZgAoySo4SbDMp0NAkRBlFqcJCCCLAUgmTpQUBOYyiLKNRxQGoYLIlayZIiSIpMRbWcB3BYEOSFFasAAleYZTg2Jp1TbPAAYFL1ISDKSiI";
	var_s = var_s + "ZqTA6PheT5yUzCNazbgEMTvRKqcSnO6bOgnEKQZKAGg4bg1RTVAYZLKtPR7aqyUJvZ5sMB6DiuLYRPKXZoucaNExSS5ebJtOzQJbEXBpXSpBwzSieBozIaQcJUOoaVxP";
	var_s = var_s + "FkaJrGuIx3h2BZPgOUIQmUcIwDARAkiAaQxh0DonCMLAeBKZobBCCY+niWJaBIKJJH4MoBgiQpCmmUR/ooBgCgCYBIBYBoBmCBYAn+ApgkgNgOgOYQIEYBIEGESBWBSB";
	var_s = var_s + "JhGgZgZgYIYoHYEIHCGaIGAuCAiCgegkgkYYoh4KIFiKKIuBeAJimiGgwgwYoYk4NILCCGJmDqDpjkidg+gGTo1jUAxAEAgI";
	excascadetree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	excascadetree1.SelBackColor(0x1000000);
	excascadetree1.SelForeColor(excascadetree1.ForeColor());
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s1 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s1 = var_s1 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s1 = var_s1 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s1 = var_s1 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s1));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
48
How can I access a view

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_View,com_View1,com_View2,com_View3,com_View4;
	anytype var_Column,var_View,var_View1,var_View2,var_View3,var_View4;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.HeaderAppearance(4/*Etched*/);
		com_View.HeaderHeight(24);
		com_View.DrawGridLines(-1/*exAllLines*/);
		com_View.GridLineStyle(12/*exGridLinesDash*/);
	var_View1 = excascadetree1.DefaultView(); com_View1 = var_View1;
		var_View2 = com_View1.View("Country"); com_View2 = var_View2;
			com_View2.BeginUpdate();
			com_View2.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View2.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.HTMLCaption("Country <off 4><fgcolor=808080>Name");
			com_View2.EndUpdate();
		var_View3 = com_View1.View("State"); com_View3 = var_View3;
			com_View3.BeginUpdate();
			com_View3.ColumnAutoResize(true);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View3.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
			com_Column.HTMLCaption("State <off 4><fgcolor=808080>Name");
			com_View3.EndUpdate();
		var_View4 = com_View1.View("City"); com_View4 = var_View4;
			com_View4.BeginUpdate();
			var_Column = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = COM::createFromObject(com_View4.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
				com_Column.HTMLCaption("City <off 4><fgcolor=808080>Name");
				com_Column.Width(128);
				com_Column.Def(4/*exCellBackColor*/,COMVariant::createFromInt(15790320));
			com_View4.CountLockedColumns(1);
			com_View4.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
47
Conditional Format (check)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_ConditionalFormat,com_ConditionalFormats,com_Items,com_View;
	anytype var_Column,var_ConditionalFormat,var_ConditionalFormats,var_Items,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		var_ConditionalFormats = COM::createFromObject(com_View.ConditionalFormats()); com_ConditionalFormats = var_ConditionalFormats;
		var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats).Add("%CS0 = 1"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.Bold(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.CellState(com_Items.FocusItem(),COMVariant::createFromInt(0),1);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
46
Conditional Format (view)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_ConditionalFormat,com_ConditionalFormats,com_View;
	anytype var_ConditionalFormat,var_ConditionalFormats,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("City"); com_View = var_View;
		var_ConditionalFormats = COM::createFromObject(com_View.ConditionalFormats()); com_ConditionalFormats = var_ConditionalFormats;
		var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats).Add("(%0 = `US`) and (%2 like `Al*`)"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.Bold(true);
			com_ConditionalFormat.BackColor(WinApi::RGB2int(240,240,240));
	excascadetree1.EndUpdate();
}
45
Conditional Format

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_ConditionalFormat,com_ConditionalFormats,com_View;
	anytype var_ConditionalFormat,var_ConditionalFormats,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		var_ConditionalFormats = COM::createFromObject(com_View.ConditionalFormats()); com_ConditionalFormats = var_ConditionalFormats;
		var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats).Add("%0 = `US`"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.Bold(true);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
44
I've seen the AllowSplitView property, the question is how can I load data to

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Object;
	anytype var_Object;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.AllowSplitView(1/*exAllowOneSplitView*/);
	excascadetree1.SplitViewHeight(256);
	var_Object = excascadetree1.DefaultView(COMVariant::createFromInt(1)); com_Object = var_Object;
	excascadetree1.EndUpdate();
}
43
How can I group the items (view)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	;
	excascadetree1.View().SingleSel(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance,com_Column,com_Column1,com_Columns,com_View;
	anytype var_Appearance,var_Column,var_Column1,var_Columns,var_View;
	str var_s,var_s1,var_s2;
	;

	super();

	excascadetree1.BeginUpdate();
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABa0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjJBkRxtDCPIDnGQoDi";
		var_s = var_s + "GI4vSrCQ4yDA8GxCGSfIrjKiYbiGNY8RgZCiOMAFJSpC6gZRoSq4doGGJLQiDMaAdBNHyZKqpbQqeCZPDINQlWzbcrjKKFYQTOi7I4sCbYcqKA5PTbNdYyVBMWxfGIba";
		var_s = var_s + "IkXAcBjuO4hWbFdASRQdDYtHTIbzjCxLcgMD4gRwWCYNSAGRZJLDKK4gSh6eorHQAX4AGabFBOP5fC7TNJ0OKLRrkAJub5eFx3LJ97ohbLsOzYZK2ByDFqiMLGQZMZxv";
		var_s = var_s + "GWUBAnYfJImcOwLEiBp0gaGpekSBxjE+WZ2jse5Im2S5ZkGYhdn4EY6A4Q4vAOWJ6H0V4oEgIgSFAGhGDGUB1ByBhVBUAwyhKMQIE2AgRjCWQJAoEIWk2SxCAGBBghQe";
		var_s = var_s + "JYkMZIYBYIYoHIG4HGICB+CKB4iEiBglgaUAzhiJAZA+Q4Qk2CxiniOgwgyYwolYMYNmMQw2CoGQihiLg5g+YxpAIOINiOOJ2CyEBkgkDhKhCJBQAI2IlAkJhMgqZBpE";
		var_s = var_s + "YS4UiSGQ2E+FglHkdg5haI5pHIVoViYCQeF6vZJhYY4aCWWYqGyGpkimOhnhyZQ4nIToYGcSY+ESFQnHmGhwh+YpphYO4gmKOlEiGKIKBaCohmeQ4tkUQJQBAgI=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjDBkRxtDCPIDnGQoDi";
		var_s1 = var_s1 + "GI4vSrCQ4zHQkOx9C6NKLjOQaMhwcJPABTZwRRQMUyLAiQRioGKKJgkC4cAxIFhRXSVIyhC6XRiGURbJquLw1DBbEI3BaUOS7HqOK7vCZ7cACVYqQjLMrzCK8ZxLPqbZ";
		var_s1 = var_s1 + "znOjZXoCKJDQzVYADFRVd4rMK9QABWw4YqWZYXX7kUDxbTdEYzPQAMw1GCcbxmF6eWbCNq3LidXTnOK3dwkO55cyuA6oazi8T6Bi2M6DDQNGSzZiuGZ9YSOOIwHJIN4Q";
		var_s1 = var_s1 + "DSUpYmQOoJA6KxVlCDBsnwOx9iWUhfiCThzjUHZun2WgSAiBIUA0JgziGVJkGWUZAkEUoyBEN51BsDYQhCIQJGqHAUCAGBGA0RwtDcVIgkgNgOgOYQIDiXYEmESBWBaB";
		var_s1 = var_s1 + "ZhggTgSgYYZIHYGoDGGaIGBiBpiCiFJdgkIksiiChhliLgsgYYpoj4F4MGMKBWDSDRhngMg4gcIQYnYPoEE6N4ZAMQBAICA=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
	excascadetree1.SelBackColor(0x1000000);
	excascadetree1.SelForeColor(WinApi::RGB2int(0,0,0));
	excascadetree1.BackColorHeader(0x2000000);
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(2,0,0));
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.EndUpdate();
	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s2 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s2 = var_s2 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s2 = var_s2 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s2 = var_s2 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s2));
	excascadetree1.Select("RO\\CJ|BV|CS");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).View("City"); com_View = var_View;
		com_View.BeginUpdate();
		var_Columns = com_View.Columns(); com_Columns = var_Columns;
			var_Column = COM::createFromObject(com_Columns.Item("CountryCode")); com_Column = var_Column;
			com_Column.Visible(false);
			var_Column = com_Columns.Item("Name"); com_Column = var_Column;
				com_Column.SortOrder(1/*SortAscending*/);
				com_Column.Width(128);
		com_View.SortBarVisible(true);
		com_View.AllowGroupBy(true);
		com_View.SingleSort(false);
		var_Column1 = COM::createFromObject(com_View.Columns()).Item("StateCode"); com_Column1 = var_Column1;
		com_Column1.SortOrder(1/*SortAscending*/);
		com_View.TreeColumnIndex(com_View.Columns().Item("Name").Index());
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
42
How can I group the items

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	// Columns("StateName").SortOrder = 1
	// Columns("StateCode").SortOrder = nGroupByIfCity
	COM com_Column,com_Object,com_View;
	COMVariant bColumnAutoResize,nGroupByIfCity;
	anytype var_Column,var_Object,var_View;
	;
	nGroupByIfCity = excascadetree1.FormatABC("( A = `City`) ? 1 : 0",excascadetree1.View().Tag());
	bColumnAutoResize = excascadetree1.FormatABC(" (A = `City`) ? 0 : -1",excascadetree1.View().Tag());
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.SingleSel(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryName"); com_Column = var_Column;
		com_Column.SortOrder(1/*SortAscending*/);
		var_Object = COM::createFromObject(com_View.Columns()).Item(COMVariant::createFromInt(2)); com_Object = var_Object;
		com_View.TreeColumnIndex(2);
		com_View.AllowGroupBy(true);
		com_View.SingleSort(false);
		com_View.SortBarVisible(nGroupByIfCity);
		com_View.ColumnAutoResize(bColumnAutoResize);
		com_View.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance;
	anytype var_Appearance;
	str var_s,var_s1,var_s2;
	;

	super();

	excascadetree1.BeginUpdate();
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABa0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjJBkRxtDCPIDnGQoDi";
		var_s = var_s + "GI4vSrCQ4yDA8GxCGSfIrjKiYbiGNY8RgZCiOMAFJSpC6gZRoSq4doGGJLQiDMaAdBNHyZKqpbQqeCZPDINQlWzbcrjKKFYQTOi7I4sCbYcqKA5PTbNdYyVBMWxfGIba";
		var_s = var_s + "IkXAcBjuO4hWbFdASRQdDYtHTIbzjCxLcgMD4gRwWCYNSAGRZJLDKK4gSh6eorHQAX4AGabFBOP5fC7TNJ0OKLRrkAJub5eFx3LJ97ohbLsOzYZK2ByDFqiMLGQZMZxv";
		var_s = var_s + "GWUBAnYfJImcOwLEiBp0gaGpekSBxjE+WZ2jse5Im2S5ZkGYhdn4EY6A4Q4vAOWJ6H0V4oEgIgSFAGhGDGUB1ByBhVBUAwyhKMQIE2AgRjCWQJAoEIWk2SxCAGBBghQe";
		var_s = var_s + "JYkMZIYBYIYoHIG4HGICB+CKB4iEiBglgaUAzhiJAZA+Q4Qk2CxiniOgwgyYwolYMYNmMQw2CoGQihiLg5g+YxpAIOINiOOJ2CyEBkgkDhKhCJBQAI2IlAkJhMgqZBpE";
		var_s = var_s + "YS4UiSGQ2E+FglHkdg5haI5pHIVoViYCQeF6vZJhYY4aCWWYqGyGpkimOhnhyZQ4nIToYGcSY+ESFQnHmGhwh+YpphYO4gmKOlEiGKIKBaCohmeQ4tkUQJQBAgI=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABO0GACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDYOMjwlDKEgADDFEgjDBkRxtDCPIDnGQoDi";
		var_s1 = var_s1 + "GI4vSrCQ4zHQkOx9C6NKLjOQaMhwcJPABTZwRRQMUyLAiQRioGKKJgkC4cAxIFhRXSVIyhC6XRiGURbJquLw1DBbEI3BaUOS7HqOK7vCZ7cACVYqQjLMrzCK8ZxLPqbZ";
		var_s1 = var_s1 + "znOjZXoCKJDQzVYADFRVd4rMK9QABWw4YqWZYXX7kUDxbTdEYzPQAMw1GCcbxmF6eWbCNq3LidXTnOK3dwkO55cyuA6oazi8T6Bi2M6DDQNGSzZiuGZ9YSOOIwHJIN4Q";
		var_s1 = var_s1 + "DSUpYmQOoJA6KxVlCDBsnwOx9iWUhfiCThzjUHZun2WgSAiBIUA0JgziGVJkGWUZAkEUoyBEN51BsDYQhCIQJGqHAUCAGBGA0RwtDcVIgkgNgOgOYQIDiXYEmESBWBaB";
		var_s1 = var_s1 + "ZhggTgSgYYZIHYGoDGGaIGBiBpiCiFJdgkIksiiChhliLgsgYYpoj4F4MGMKBWDSDRhngMg4gcIQYnYPoEE6N4ZAMQBAICA=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
	excascadetree1.SelBackColor(0x1000000);
	excascadetree1.SelForeColor(WinApi::RGB2int(0,0,0));
	excascadetree1.BackColorHeader(0x2000000);
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(2,0,0));
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.EndUpdate();
	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s2 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s2 = var_s2 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s2 = var_s2 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s2 = var_s2 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s2));
	excascadetree1.Select("RO\\CJ|BV|CS");
	excascadetree1.EndUpdate();
}
41
How can I change the visual appearance of the selection/header

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	// Columns("StateName").SortOrder = 1
	COM com_Column,com_Object,com_View;
	anytype var_Column,var_Object,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryName"); com_Column = var_Column;
		com_Column.SortOrder(1/*SortAscending*/);
		var_Object = COM::createFromObject(com_View.Columns()).Item("Name"); com_Object = var_Object;
		com_View.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Appearance;
	anytype var_Appearance;
	str var_s,var_s1,var_s2;
	;

	super();

	excascadetree1.BeginUpdate();
	var_Appearance = excascadetree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABWYDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCNAwgFBIcBhE4ZIKkEYoMiONoYR5Ac4yFA";
		var_s = var_s + "cQxHE6TZRgeDZToWN48TZLEB0VRFGL1J4AKbfKKKBiqIZDTpMdKSHIIFQ4BiEaYkGjqQpKVIdDSJMwWTI4ahhNSEbauCZ7DhyXpLUbeNSyXJsXw7GSOZJvGZ5bjuIY+R";
		var_s = var_s + "xQEK1NQkOyNOiOAosGCQWiDE4DWZZUT3XS+HgAGStY4rWCcSgOYIDZTPOT1DYtIY3NC5c7tS4bPq3NZHXTAeigBa4AZTQafcTvSA5OjOQQ2VhNWIXRxgAZ3YCNbzpTgs";
		var_s = var_s + "HeD5DmUQh3jSTQ/DuIZBh0bJ8BsG4WlsYwXjEapphuXh/HsRQJAQQhKAaEwZlCahyDKchJlEIgRDedQbA2EIQiECR3BudAgBgRgBgSHZQFSCwzECV4DGCeA6BCBJhCgV";
		var_s = var_s + "gRgWs4YkgNJKCOMJ2C0T4Dn4IIIiIGIOCaCRiy0HQ9iGIxMhgMAMmKZJ2D+SQThININgiM4In+DhPnIDJhD+RxzgCfwaE2c58F0N4PniSJ/guTJiCiOAygwCJODyDwIF";
		var_s = var_s + "ifhVD+R5JBQcIREYOQgFgNwPnkRJ/qOIgIjEMYMFOVg9hESA5BQfYSCbQx1DcZA5lAXQ2vURh4hoT55hiRgfEqYwMkUPQPnGahgiGJwpmAdYeAaWZgGINoPnEWoQBKaQ";
		var_s = var_s + "KAyf4gAwMZoisMIMGOTJ/B0KQK0EG5NhqDolBmKhRG6JQUX8GJYD+aZaBaGweAqEwEkYPNpDaL4u2kIJXi8a5xgKPwViucQuj8EBrnqXJ/i0DARlyJwwCyIYglaLxtDG";
		var_s = var_s + "DpVjSRY7EwUY0kQexMD+MhrgsOJAB2LJzCKOAZG0O4gn8GANFuLptBaLpREKUwRG0MJylOOYPnuEpjjOTIamAYo7G/QxfDUMAsBAWI7ESe40ZuQ5bjafY+GycZcigMBO";
		var_s = var_s + "DOZJ/CoTo8F8GZGDGI58iaRhKEwZIhkYSZ8GcFYQVeZIqDCThsFiMQ7g+fI8n8LAOlyTw1CuMxSjMNQqHMUojDWSxPnyKJDB8CpjBSag+iSE4/EmUpLh0KI2lKCxNCiM";
		var_s = var_s + "vkg0KxHhYNBSACMQyA6c5wn8MJrg2Axflga4DAaOAviuApyjgLorg0dJ/laDICAyNQyg8LR47INxznzfI3jOPkS4NQMDzCoPgMQUBNqzFyJAco0ROLRFOPkVIEB4v7FW";
		var_s = var_s + "BAeT/xTB7E+OYR4MAzjzAMG8GIxgPj8CSJwIolxjCJTeB8cw7hIjVDqD0LwkA3BpAMNYFgbAxDGF8C0aYxw+gpA8GEeI/QgjJFeHcc4/xBjggePEYgfRPjnAOJAN4+QD";
		var_s = var_s + "jHCiN0TQhBMiODWOkA4+RqjGH0P4W4sRjCdB4GkaIxhOD6HiM0V4ehfCRFcEsDIZhkjcD4J8PwQR/j3D8Acf43x8h+B+Jkf49RPh/CCLIVIEwTBxFsP8L4+x/CAAgA4A";
		var_s = var_s + "IQAsADACMoSA6wghEAYIAQBAQA==";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABEwFg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgkAoJDaMUjwlDiEgADCNAySCKkGRHG6MI6gOapCg";
		var_s1 = var_s1 + "OIYjS7KYASTIMDw7EIZJ7jSioboKNo9ABQT71GAFJr/DChKIhWiKIoKI4hAZHAIQTR8QylKirIwlcYhVCWa5tS82CzoJrKdI4WZHFgwHR8cRxLKVJQlaDZSoIMQ2STfV";
		var_s1 = var_s1 + "7TZLkQyZNSTJQpGq6HxWeIcETkMBlLIGNSrNCqIrwChach2XpLQjeYAZTAdR43TqBbLqeyYXq+dwAWxtdzXDacXy/TzWAA1LLMKr/EpZDhSxARVDbD4XY7TdBcDwsOYA";
		var_s1 = var_s1 + "mQcohjyXQ8G6QRkgSa41H0WY+luSx1l6eZ2noLYFEePwDlUdQ8HufRsCSIBpDGHQOicIwtBoBguGuBAhDWfxGkMZAkCgeAQhcEQiAYEYDmABx8hANRYmQMhKHMTItB+I";
		var_s1 = var_s1 + "RoGIF4GGEMoeBKBQhGGfRWgiYhIgYHYIE+c5Ym8P5OlMWgsguIpYj4KQ7mIExMi6CIVGOKJTD/OxyDuDxVDiWB/g2CAIgyZwzk+eQeEmEgkikBIuCADRJD4Iw5AyU5+F";
		var_s1 = var_s1 + "SFYlFkXRThQZQJEkVg4gyM5+GCGImBmDhbhOTRCj4RRVg4Ewkn+GxmnmOhwhaZopiYaxUk4Awgn+Hhnjmah8h0JQJioI4fCgSZ6HqIAnGoDoGh8aJKCCMAgGiKgygUVY";
		var_s1 = var_s1 + "NEoPoViQFRqE6E4WmkYpAgKJBpioHJ/iUSAqhKIIimeeoOh4NQLBIDoniSKgqjCA4szqYJoDcKxqmKN4uGkSo2oGKxam6Qoug2Sp0gRggiBaQYxCuGpyFuMhsgsKRTjM";
		var_s1 = var_s1 + "bA7DqI40AsIgakuNQsEoUpZYIOxqlONRsDoUphjgCB7G6ZIxGWMpMgeOgsBMbo2jyDoLlCW45i6cpSmmOJvGuTpziUL4jFCNAiC8G56nWP5ljwDJVC0CIcBcB5Dm8dRP";
		var_s1 = var_s1 + "ZyTRSlcDY/DAa5ZFaRRxEKVIKkOL5blcG5Hg0UpYgsVYPhuVwpDaco87eSYyFyHRTkscoslcEQ/nMExYjYIwygyWw0k2c4iDCVgtkiXJ3CyT4yCUTxDCMdI9BsP5LjSL";
		var_s1 = var_s1 + "QTEMI40m0IxAd4YxYjgI51NsXhVjWIg8leVp1lzLJYnYIpkhCWRzG2HxqDWS4SEcbJXlUPZAhGXAJC2TxQD+O8AwuQ6i8HMGcIItRKDwD4BcBIsx3j7HiCcTw8BeBvAe";
		var_s1 = var_s1 + "LoS4RBMiwC6JITgZwEjLHgEoW4JglBzD4LcBozxNotBSM4eAPA7hBGiHMQo2QVjPDoWcU4yRJCmGCHgJYdRODHC4H8ewRGWhLHsL0H4XgvASHMMkPY3g6C9FuB4P4+Av";
		var_s1 = var_s1 + "AJD0EwO4vA1CtHCBMDwEQZjmHwP4SIsgvh6D8C8II6h9geFyDUdQcwVCfF4G0C4xBvjBG2PwQg2RaBfH4MoTI9Rgh9HMNccY+BVDfC+NQL4kxFC3HOPgP4nwjjwBsIYA";
		var_s1 = var_s1 + "AnQ/hPHqP0XwiABgABABMdwgBHj1H0MACItgYAEHoAMPwUAWjbGAPEHgNhjAIE+IIKAFR9AVBwDAE44B+AbEEIULQDxgiBCAP4Q4Sx5CFBGOoCowhMBIBgEUAA2wMBCE";
		var_s1 = var_s1 + "MBQIQqA2gLBAKwGYhgoDRHuEIbAbwFigHoDMDYgwEBRCGFgOIERxAAH+IgMQiA3AMBwIsB4RhuAsEUCMUwKRZh4E2BMAwGBRiFAiFYFIRQRCtAmEUDgTQKCRDcC4YoSB";
		var_s1 = var_s1 + "eBUHGBAbgGBIiMFSI8XAqQNiGG4HARwEQ/A1GMKEJQVRDjYHUBsSI5gejHFQPkDoBQWB2BUMMeAeAHCJASCEUgLBDiQAGHQMQig0gGB4AcHghBJAyCEEkCoaQMApFILw";
		var_s1 = var_s1 + "R4kg5BuCUJUHILwRgQHiFMSQUhHBKCSAkFgMQig8EYBUCQPA5hICSFpKgeBzCUHEKANwjAwhTBAMcPgrRLgjHkF0ZYmQWgtFKKwW4lApDCCuEwLIYQXjFCYLUCochwBy";
		var_s1 = var_s1 + "GWMkTQOxzB4HKJccQrgyhMGSJ0Go5hCDTA2MMDwZRKgxH2DQEw+ByicBmIQVYTRYhXBsMUMIVhNjjEkHUZw0RvA5BOCgY4FRJiiDqE4BI7QcCmGSFMToExogVCcOkbIO";
		var_s1 = var_s1 + "xzhaBmJ0AYnA1AMdoCsKIJQEgfHoB4QQDAJCtCGGgHoEQMDiFtPIKQrAdDNHiAMEAICAgA==";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
	excascadetree1.SelBackColor(0x1000000);
	excascadetree1.SelForeColor(WinApi::RGB2int(0,0,0));
	excascadetree1.BackColorHeader(0x2000000);
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(2,0,0));
	excascadetree1.BackColorSortBar(excascadetree1.BackColor());
	excascadetree1.EndUpdate();
	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s2 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s2 = var_s2 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s2 = var_s2 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s2 = var_s2 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s2));
	excascadetree1.Select("RO\\CJ");
	excascadetree1.EndUpdate();
}
40
How can I format a column so it display its content in a different way
// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_Object,com_Object1,com_Object2,com_Object3,com_View;
	anytype var_Column,var_Object,var_Object1,var_Object2,var_Object3,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ContinueColumnScroll(false);
		com_View.ScrollBySingleLine(true);
		com_View.DrawGridLines(-1/*exAllLines*/);
		com_View.EnsureVisibleColumn("Date");
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
		var_Object = COM::createFromObject(com_View.Columns()).Item("Date"); com_Object = var_Object;
		var_Object1 = COM::createFromObject(com_View.Columns()).Item("Function"); com_Object1 = var_Object1;
		var_Object2 = COM::createFromObject(com_View.Columns()).Item("Coordinates"); com_Object2 = var_Object2;
		var_Object3 = COM::createFromObject(com_View.Columns()).Item("Status"); com_Object3 = var_Object3;
		com_View.EndUpdate();
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.FitCascadeColumns(7);
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.ScrollWidth(4);
	excascadetree1.ScrollHeight(4);
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	excascadetree1.Images(COMVariant::createFromStr(var_s));
	var_s1 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s1 = var_s1 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s1 = var_s1 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s1 = var_s1 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s1));
	excascadetree1.Select("US\\OR");
	excascadetree1.EndUpdate();
}
39
How can I add a position column

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Column,com_Columns,com_View;
	anytype var_Column,var_Columns,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column;
			com_Column.Width(32);
			com_Column.AllowSizing(false);
			com_Column.Position(0);
			com_Column.FormatColumn("1 pos ``");
			com_Column.Def(4/*exCellBackColor*/,COMVariant::createFromInt(15790320));
			com_Column.Alignment(2/*RightAlignment*/);
			com_Column.HeaderAlignment(com_Column.Alignment());
			com_Column.Def(49/*exCellPaddingRight*/,COMVariant::createFromInt(2));
			com_Column.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(2));
			com_Column.Def(52/*exHeaderPaddingLeft*/,COMVariant::createFromInt(2));
			com_Column.Def(53/*exHeaderPaddingRight*/,COMVariant::createFromInt(2));
		com_View.CountLockedColumns(1);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\IA");
	excascadetree1.EndUpdate();
}
38
How can I display icons or images

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Object,com_View;
	anytype var_Object,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.EnsureVisibleColumn("Function");
		var_Object = COM::createFromObject(com_View.Columns()).Item("Function"); com_Object = var_Object;
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	excascadetree1.Images(COMVariant::createFromStr(var_s));
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s1 = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s1 = var_s1 + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s1 = var_s1 + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s1 = var_s1 + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s1));
	excascadetree1.Select("US\\MN");
	excascadetree1.EndUpdate();
}
37
How can I turn-on the control's status bar

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	;
	excascadetree1.StatusBarLabel(excascadetree1.FormatABC("`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",COMVariant::createFromStr(excascadetree1.Name())));
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	;
	excascadetree1.StatusBarLabel(excascadetree1.FormatABC("`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",COMVariant::createFromStr(excascadetree1.Name())));
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarHeight(24);
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Name("Romania\\Cluj\\Baciu*");
	excascadetree1.EndUpdate();
}
36
How can I disable incremental searching
// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	;
	excascadetree1.View().AutoSearch(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
35
ScrollBar extension

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_View;
	anytype var_Column,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_Items,com_View;
	anytype var_Column,var_Items,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(2,0,0));
	excascadetree1.EndUpdate();
	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_Column = COM::createFromObject(com_View.Columns()).Item("CountryName"); com_Column = var_Column;
	com_Column.SortOrder(1/*SortAscending*/);
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).NextView(); com_View = var_View;
	var_Column = COM::createFromObject(com_View.Columns()).Item("StateName"); com_Column = var_Column;
	com_Column.SortOrder(1/*SortAscending*/);
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).NextView(); com_View = var_View;
	var_View = com_View.NextView(); com_View = var_View;
		com_View.ColumnAutoResize(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item("Name"); com_Column = var_Column;
			com_Column.SortOrder(1/*SortAscending*/);
			com_Column.Width(128);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.SelectItem(com_Items.FindItem("Anchorage","Name"),true);
	excascadetree1.EndUpdate();
}
34
How can I access the next/prev/parent/child view

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_View;
	anytype var_Column,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_Column1,com_View;
	anytype var_Column,var_Column1,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(2/*exSplitEqualCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("RO\\CJ");
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_Column = COM::createFromObject(com_View.Columns()).Item("CountryName"); com_Column = var_Column;
	com_Column.SortOrder(1/*SortAscending*/);
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).NextView(); com_View = var_View;
	var_Column = COM::createFromObject(com_View.Columns()).Item("StateName"); com_Column = var_Column;
	com_Column.SortOrder(1/*SortAscending*/);
	var_View = COM::createFromObject(excascadetree1.DefaultView()); com_View = var_View;
	var_View = COM::createFromObject(com_View).NextView(); com_View = var_View;
	var_View = com_View.NextView(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(false);
		var_Column = COM::createFromObject(com_View.Columns()).Item("Name"); com_Column = var_Column;
			com_Column.Width(128);
			com_Column.SortOrder(1/*SortAscending*/);
		com_View.SingleSort(false);
		com_View.AllowGroupBy(true);
		var_Column1 = COM::createFromObject(com_View.Columns()).Item("Status"); com_Column1 = var_Column1;
		com_Column1.SortOrder(2/*SortDescending*/);
		com_View.TreeColumnIndex(com_View.Columns().Item("Name").Index());
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
33
Predefined Keywords of ShowContextMenu property

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_View;
	anytype var_Column,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
	excascadetree1.StatusBarLabel(excascadetree1.FormatABC("`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",COMVariant::createFromStr(excascadetree1.Name())));
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	;
	excascadetree1.StatusBarLabel(excascadetree1.FormatABC("`<b>` + ( value replace `\\\\` with ` </b><font ;6><off 4>` )",COMVariant::createFromStr(excascadetree1.Name())));
	excascadetree1.ExecuteContextMenu(0);
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.AllowSplitView(1/*exAllowOneSplitView*/);
	excascadetree1.FitCascadeColumns(3);
	excascadetree1.Mode(2/*exSplitEqualCascadeMode*/);
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarHeight(24);
	excascadetree1.ScrollPartVisible(0/*exVScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(1/*exHScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollPartVisible(2/*exScroll*/,65536/*exExtentThumbPart*/,true);
	excascadetree1.ScrollWidth(4);
	excascadetree1.Background(276/*exVSBack*/,WinApi::RGB2int(240,240,240));
	excascadetree1.Background(260/*exVSThumb*/,WinApi::RGB2int(128,128,128));
	excascadetree1.ScrollHeight(4);
	excascadetree1.Background(404/*exHSBack*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(388/*exHSThumb*/,excascadetree1.Background(260/*exVSThumb*/));
	excascadetree1.Background(511/*exScrollSizeGrip*/,excascadetree1.Background(276/*exVSBack*/));
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Background(142/*exCSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(141/*exHSplitBar*/,excascadetree1.Background(18/*exSplitBar*/));
	excascadetree1.Background(170/*exSplitBarSize*/,WinApi::RGB2int(2,0,0));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.ShowContextMenu("`vlevels=` + vlevels + `,vlevel=` + vlevel + `,hlevels=` + hlevels + `,hlevel=` + hlevel + `,view=` + view ");
	excascadetree1.SplitViewHeight("256");
	excascadetree1.EndUpdate();
}
32
How can I display the identifiers of the control's context menu (debug)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_View;
	anytype var_Column,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	;
	print( excascadetree1.ExecuteContextMenu() );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.ShowContextMenu("[debug]Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]");
	excascadetree1.EndUpdate();
}
31
ShowContextMenu usage

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_View;
	anytype var_Column,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	;
	print( excascadetree1.ExecuteContextMenu() );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.ShowContextMenu("Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]");
	excascadetree1.EndUpdate();
}
30
How can I resize automatically all views, when the control is resized

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_View;
	anytype var_Column,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(515/*exAutoFitOnResizeClient | exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
29
How can I hide some columns

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	// Columns("StateCode").Visible = False
	COM com_Column,com_View;
	anytype var_Column,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("CountryCode"); com_Column = var_Column;
		com_Column.Visible(false);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
28
Is it possible to disable resizing the cascade columns

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	;
	excascadetree1.View().ColumnAutoResize(true);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Mode(771/*exAutoFitOnResizeClient | exDisableResizeCascadeColumns | exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
27
SplitFixCascadeMode Mode

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
26
FixCascadeMode Mode

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.DefColumnWidth(96);
	excascadetree1.Mode(0/*exFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
25
SplitEqualCascadeMode Mode

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	excascadetree1.Mode(2/*exSplitEqualCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
24
Default Mode

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Background(18/*exSplitBar*/,WinApi::RGB2int(196,196,196));
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
23
SingleCascadeMode ( single-view )

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_Column,com_View;
	anytype var_Column,var_View;
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Cities Where CountryCode = 'RO' ";
		com_View.DataSource(COMVariant::createFromStr(var_s));
		com_View.AllowGroupBy(true);
		com_View.SortBarVisible(true);
		var_Column = COM::createFromObject(com_View.Columns()).Item("StateCode"); com_Column = var_Column;
		com_Column.SortOrder(1/*SortAscending*/);
		com_View.Name("Name");
	excascadetree1.Name("Isaccea");
	excascadetree1.EndUpdate();
}
22
How can I display the current selection, as a path

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	;
	excascadetree1.StatusBarLabel(excascadetree1.Name());
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	;
	excascadetree1.StatusBarLabel(excascadetree1.Name());
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
21
How can I add multiple-views to the control

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str var_s;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(3/*exSplitFixCascadeMode*/);
	var_s = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb;Member=Select * FROM Countries;Key=CountryCode;Tag=Cou";
	var_s = var_s + "ntry;Name=CountryName >>> Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName";
	var_s = var_s + ";Tag=State ||| Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name >>> Member=Select * ";
	var_s = var_s + "FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=City;Name=Name";
	excascadetree1.DataSource(COMVariant::createFromStr(var_s));
	excascadetree1.Select("US\\AK");
	excascadetree1.EndUpdate();
}
20
I wish I select items based on names, rather than keys. Is that possible

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COMVariant label;
	;
	excascadetree1.View().ColumnAutoResize(excascadetree1.FormatABC("not(A = `City`)",.View().Tag()));
	label = excascadetree1.FormatABC("`<b>Select = </b>` + value",COMVariant::createFromStr(excascadetree1.Select()));
	label = excascadetree1.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,COMVariant::createFromStr(excascadetree1.Name()));
	excascadetree1.StatusBarLabel(label);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	COMVariant label;
	;
	label = excascadetree1.FormatABC("`<b>Select = </b>` + value",COMVariant::createFromStr(excascadetree1.Select()));
	label = excascadetree1.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,COMVariant::createFromStr(excascadetree1.Name()));
	excascadetree1.StatusBarLabel(label);
}

public void init()
{
	COMVariant label;
	str dm1,dm2,dm3,ds,var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(2/*exSplitEqualCascadeMode*/);
	excascadetree1.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 = excascadetree1.FormatABC("A + `;` + B",ds,dm1);
	var_s = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Sele";
	var_s = var_s + "ct * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name";
	dm2 = var_s;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm2);
	var_s1 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Cit";
	var_s1 = var_s1 + "y;Name=Name";
	dm3 = var_s1;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm3);
	excascadetree1.DataSource(ds);
	excascadetree1.Name("Romania\\Cluj\\Baciu*");
	excascadetree1.EndUpdate();
}
19
I've noticed that I can't select multiple items. How can I do that

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_View;
	COMVariant bColumnAutoResize,label;
	anytype var_View;
	;
	bColumnAutoResize = excascadetree1.FormatABC("not(A = `City`)",excascadetree1.View().Tag());
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.SingleSel(false);
		com_View.ColumnAutoResize(bColumnAutoResize);
	label = excascadetree1.FormatABC("`<b>Select = </b>` + value",COMVariant::createFromStr(excascadetree1.Select()));
	label = excascadetree1.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,COMVariant::createFromStr(excascadetree1.Name()));
	excascadetree1.StatusBarLabel(label);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	COMVariant label;
	;
	label = excascadetree1.FormatABC("`<b>Select = </b>` + value",COMVariant::createFromStr(excascadetree1.Select()));
	label = excascadetree1.FormatABC("A + `<br>` + `<b>Name = </b>` + B replace `|` with ` `",label,COMVariant::createFromStr(excascadetree1.Name()));
	excascadetree1.StatusBarLabel(label);
}

public void init()
{
	COMVariant label;
	str dm1,dm2,dm3,ds,var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(2/*exSplitEqualCascadeMode*/);
	excascadetree1.StatusBarVisible(18/*exStatusBarWordWrap | exStatusBarAnchorTop*/);
	excascadetree1.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 = excascadetree1.FormatABC("A + `;` + B",ds,dm1);
	var_s = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Name=StateName;Tag=State ||| Member=Sele";
	var_s = var_s + "ct * FROM Cities WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City;Name=Name";
	dm2 = var_s;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm2);
	var_s1 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Cit";
	var_s1 = var_s1 + "y;Name=Name";
	dm3 = var_s1;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm3);
	excascadetree1.DataSource(ds);
	excascadetree1.Select("RO\\CJ|D*");
	excascadetree1.EndUpdate();
}
18
How do I programmatically selects a path/item

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COMVariant bColumnAutoResize;
	;
	bColumnAutoResize = excascadetree1.FormatABC("not(A = `City`)",excascadetree1.View().Tag());
	excascadetree1.View().ColumnAutoResize(bColumnAutoResize);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	;
	excascadetree1.StatusBarLabel(excascadetree1.Select());
}

public void init()
{
	str dm1,dm2,dm3,ds,var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(2/*exSplitEqualCascadeMode*/);
	excascadetree1.StatusBarVisible(1/*exStatusBarAnchorBottom*/);
	ds = "Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
	dm1 = "Member=Select * FROM Countries;Key=CountryCode;Tag=Country";
	ds = excascadetree1.FormatABC("A + `;` + B",ds,dm1);
	var_s = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Tag=State ||| Member=Select * FROM Citie";
	var_s = var_s + "s WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City";
	dm2 = var_s;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm2);
	var_s1 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Cit";
	var_s1 = var_s1 + "y";
	dm3 = var_s1;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm3);
	excascadetree1.DataSource(ds);
	excascadetree1.Select("RO\\CJ");
	excascadetree1.EndUpdate();
}
17
DataSource/DataMember/Key/Tag

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_View;
	COMVariant bColumnAutoResize,nWidth;
	anytype var_View;
	str var_s;
	;
	var_s = "value replace `data source` with `<b><fgcolor=808080>Source</fgcolor></b>` replace `Source` with `<b><fgcolor=808080>Source</fgc";
	var_s = var_s + "olor></b>` replace `Member` with `<b><fgcolor=808080>Member</fgcolor></b>` replace `Key` with `<b><fgcolor=808080>Key</fgcolor><";
	var_s = var_s + "/b>` replace `Tag` with `<b><fgcolor=808080>Tag</fgcolor></b>` replace `;` with `;<br>`";
	excascadetree1.StatusBarLabel(excascadetree1.FormatABC(var_s,excascadetree1.View().DataSource()));
	bColumnAutoResize = excascadetree1.FormatABC("not(A = `City`)",excascadetree1.View().Tag());
	nWidth = excascadetree1.FormatABC("A = `City` ? B : C",excascadetree1.View().Tag(),excascadetree1.View().WidthToFit(),excascadetree1.View().Width());
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.ColumnAutoResize(bColumnAutoResize);
		com_View.Width(nWidth);
}

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str dm1,dm2,dm3,ds,var_s,var_s1;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarHeight(58);
	excascadetree1.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 = excascadetree1.FormatABC("A + `;` + B",ds,dm1);
	var_s = "Member=Select * FROM States WHERE CountryCode IN (<%Parent.CountryCode%>);Key=StateCode;Tag=State ||| Member=Select * FROM Citie";
	var_s = var_s + "s WHERE CountryCode IN (<%Parent.CountryCode%>);Tag=City";
	dm2 = var_s;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm2);
	var_s1 = "Member=Select * FROM Cities WHERE CountryCode IN (<%Parent.Parent.CountryCode%>) AND StateCode IN (<%Parent.StateCode%>);Tag=Cit";
	var_s1 = var_s1 + "y";
	dm3 = var_s1;
	ds = excascadetree1.FormatABC("A + ` >>> ` + B",ds,dm3);
	excascadetree1.DataSource(ds);
	excascadetree1.EndUpdate();
}
16
DataSource (view, data source, data member, ACCDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View;
	anytype var_View;
	str dm,ds;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ");
	excascadetree1.DefColumnWidth(336);
	ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
	dm = "Data Member=Select * FROM Countries";
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.DataSource(excascadetree1.FormatABC("A + `;` + B",ds,dm));
		com_View.ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
15
DataSource (view, data source, data member, MDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View;
	anytype var_View;
	str dm,ds;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ");
	excascadetree1.DefColumnWidth(336);
	ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb";
	dm = "Data Member=Select * FROM Countries";
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.DataSource(excascadetree1.FormatABC("A + `;` + B",ds,dm));
		com_View.ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
14
DataSource (view, ADODB, ACCDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View,com_ado;
	anytype ado,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be string (Source/Member), ADO or DAO objects");
	excascadetree1.DefColumnWidth(336);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	ado = COM::createFromObject(new ADODB.Recordset()); com_ado = ado;
		ado.Open("Countries","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.DataSource(COM::createFromVariant(ado));
		com_View.ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
13
DataSource (view, ADODB, MDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View,com_ado;
	anytype ado,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be string (Source/Member), ADO or DAO objects");
	excascadetree1.DefColumnWidth(336);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	ado = COM::createFromObject(new ADODB.Recordset()); com_ado = ado;
		ado.Open("Countries","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.DataSource(COM::createFromVariant(ado));
		com_View.ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
12
DataSource (control, data source, data member, ACCDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str dm,ds;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ");
	excascadetree1.DefColumnWidth(336);
	ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb";
	dm = "Data Member=Select * FROM Countries";
	excascadetree1.DataSource(excascadetree1.FormatABC("A + `;` + B",ds,dm));
	excascadetree1.View().ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
11
DataSource (control, data source, data member, MDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	str dm,ds;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could \"Data Source=...;Data Member=...\" or \"Source=...;Member=...\" ");
	excascadetree1.DefColumnWidth(336);
	ds = "Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb";
	dm = "Data Member=Select * FROM Countries";
	excascadetree1.DataSource(excascadetree1.FormatABC("A + `;` + B",ds,dm));
	excascadetree1.View().ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
10
DataSource (control, ADODB, ACCDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_ado;
	anytype ado;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be string (Source/Member), ADO or DAO objects");
	excascadetree1.DefColumnWidth(336);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	ado = COM::createFromObject(new ADODB.Recordset()); com_ado = ado;
		ado.Open("Countries","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	excascadetree1.DataSource(COM::createFromVariant(ado));
	excascadetree1.View().ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
9
DataSource (control, ADODB, MDB)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_ado;
	anytype ado;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be string (Source/Member), ADO or DAO objects");
	excascadetree1.DefColumnWidth(336);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	ado = COM::createFromObject(new ADODB.Recordset()); com_ado = ado;
		ado.Open("Countries","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Access\\cities.mdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	excascadetree1.DataSource(COM::createFromVariant(ado));
	excascadetree1.View().ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
8
DataSource (view, XMLDOMDocument)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View,com_xml;
	anytype var_View,xml;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument");
	excascadetree1.DefColumnWidth(336);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		// Add 'Microsoft XML, v3.0(msxml3.dll)' reference to your project.
		xml = COM::createFromObject(new MSXML2.FreeThreadedDOMDocument30()); com_xml = xml;
			xml.load("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Testing.xml");
		com_View.DataSource(COM::createFromVariant(xml));
		com_View.ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
7
DataSource (view, XML, file)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_View;
	anytype var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument");
	excascadetree1.DefColumnWidth(336);
	var_View = excascadetree1.DefaultView(); com_View = var_View;
		com_View.DataSource("http://www.exontrol.net/testing.xml");
		com_View.ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
6
DataSource (control, XMLDOMDocument)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	COM com_xml;
	anytype xml;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument");
	excascadetree1.DefColumnWidth(336);
	// Add 'Microsoft XML, v3.0(msxml3.dll)' reference to your project.
	xml = COM::createFromObject(new MSXML2.FreeThreadedDOMDocument30()); com_xml = xml;
		xml.load("C:\\Program Files\\Exontrol\\ExCascadeTree\\Sample\\Testing.xml");
	excascadetree1.DataSource(COM::createFromVariant(xml));
	excascadetree1.View().ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
5
DataSource (control, XML, file)

// Error event - An internal error occurs.
void onEvent_Error(int   _Error,str   _Description)
{
	;
	print( "Error" );
	print( _Description );
}

public void init()
{
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.StatusBarVisible(2/*exStatusBarAnchorTop*/);
	excascadetree1.StatusBarLabel("<b>DataSource</b> could be a XML file name, a URL, an IStream, an IXMLDOMDocument");
	excascadetree1.DefColumnWidth(336);
	excascadetree1.DataSource("http://www.exontrol.net/testing.xml");
	excascadetree1.View().ColumnAutoResize(true);
	excascadetree1.EndUpdate();
}
4
How can I get the selected items (sample 1)

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		k = com_View.ParentView().Value();
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		com_View.Key(COMVariant::createFromInt(-1));
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add(k);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 1`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 2`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 3`",k));
		com_View.EndUpdate();
}

// ViewEndChanging event - Occurs once the user is about to change the view.
void onEvent_ViewEndChanging(int   _Operation)
{
	COM com_Items;
	anytype var_Items;
	;
	print( "End" );
	print( _Operation );
	var_Items = excascadetree1.View().Items(); com_Items = var_Items;
		print( "FocusItem" );
		print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(0)) );
		print( "SelectedItem" );
		print( com_Items.CellCaption(com_Items.SelectedItem(0),COMVariant::createFromInt(0)) );
}

// ViewStartChanging event - Occurs once the user is about to change the view.
void onEvent_ViewStartChanging(int   _Operation)
{
	;
	print( "Start" );
	print( _Operation );
}

public void init()
{
	COM com_Columns,com_Items,com_View;
	anytype var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add("Default");
		com_View.Key(COMVariant::createFromInt(0));
		com_View.LinesAtRoot(-1/*exLinesAtRoot*/);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("Item A");
			com_Items.SelectItem(com_Items.AddItem("Item B"),true);
			com_Items.AddItem("Item C");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
3
Can I use this control as a simple tree

public void init()
{
	COM com_Columns,com_Items,com_View;
	anytype var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	excascadetree1.Mode(1/*exSingleCascadeMode*/);
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add("Default");
		com_View.Key(COMVariant::createFromInt(-1));
		com_View.LinesAtRoot(-1/*exLinesAtRoot*/);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("Item A");
			com_Items.InsertItem(com_Items.AddItem("Item B"),,"Child");
			com_Items.AddItem("Item C");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
2
How can I use this control

// CreateView event - A view has been created.
void onEvent_CreateView(COM   _View)
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;
	var_View = excascadetree1.View(); com_View = var_View;
		k = com_View.ParentView().Value();
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add(k);
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 1`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 2`",k));
			com_Items.AddItem(excascadetree1.FormatABC("A + `-> Sub-Item 3`",k));
		com_View.EndUpdate();
}

public void init()
{
	COM com_Columns,com_Items,com_View;
	COMVariant k;
	anytype var_Columns,var_Items,var_View;
	;

	super();

	excascadetree1.BeginUpdate();
	var_View = excascadetree1.View(); com_View = var_View;
		com_View.BeginUpdate();
		com_View.ColumnAutoResize(true);
		var_Columns = COM::createFromObject(com_View.Columns()); com_Columns = var_Columns;
		com_Columns.Add("Default");
		com_View.Key(COMVariant::createFromInt(0));
		var_Items = com_View.Items(); com_Items = var_Items;
			com_Items.AddItem("Item A");
			com_Items.SelectItem(com_Items.AddItem("Item B"),true);
			com_Items.AddItem("Item C");
		com_View.EndUpdate();
	excascadetree1.EndUpdate();
}
1
How do I change the control's background color
public void init()
{
	;

	super();

	excascadetree1.BackColor(WinApi::RGB2int(240,240,240));
}