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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutImageSize(32);
spRibbon1->GetFont()->PutSize(_variant_t(long(16)));
spRibbon1->PutPopupFlatImageWidth(36);
spRibbon1->PutPopupAppearance(EXRIBBONLib::EtchedBorder);
spRibbon1->PutLocalAppearance(EXRIBBONLib::EtchedBorder);
spRibbon1->Images(_bstr_t("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") +
"NUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlw" +
"yV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+C" +
"MPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9" +
"FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5" +
"y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIk" +
"FgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMt" +
"NhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xi" +
"oW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X" +
"4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT" +
"6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUV" +
"DNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" +
"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5Wzlf" +
"fEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC" +
"6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8R" +
"gH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVW" +
"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==");
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4" +
"nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnS" +
"cg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBp" +
"AoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaD" +
"RDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+l" +
"GNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQB" +
"gk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwyku" +
"XpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2C" +
"yA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8R" +
"pBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" +
"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAe" +
"HGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAu" +
"hoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwM" +
"sCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4g" +
"aBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAg" +
"swOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBt" +
"YQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGB" +
"hYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0M" +
"gRBCCQAgQEA==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4" +
"nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnS" +
"eQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJj" +
"nOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMa" +
"J9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTG" +
"SUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4" +
"ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgk" +
"XI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD" +
"6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BR" +
"AjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" +
"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQ" +
"HoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgR" +
"hcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOC" +
"QAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYj" +
"VHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4" +
"zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBs" +
"H0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=");
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spRibbon1->PutSelBackColor(0x4000000);
spRibbon1->PutSelForeColor(RGB(0,0,1));
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState0,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState1,0x2000000);
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState2,0x3000000);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Popup[img=1](Item 1[chk],Item 2[chk=1],Item 3[img=1],Item 4[img=2])");
	var_Items->Add(L"",long(1),vtMissing);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item->PutImage(2);
		var_Item->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButton | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

230
ImageSize property on 16 (default) (specifies the size of control' icons)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutImageSize(16);
spRibbon1->PutPopupAppearance(EXRIBBONLib::EtchedBorder);
spRibbon1->PutLocalAppearance(EXRIBBONLib::EtchedBorder);
spRibbon1->Images(_bstr_t("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq") +
"dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" +
"tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" +
"cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +
"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" +
"nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==");
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spRibbon1->PutSelBackColor(0x4000000);
spRibbon1->PutSelForeColor(RGB(0,0,1));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Popup[img=1](Item 1[chk],Item 2[chk=1],Item 3[img=1],Item 4[img=2])");
	var_Items->Add(L"",long(1),vtMissing);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item->PutImage(2);
		var_Item->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButton | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

229
How do I get the item's value without the place holders (exclude mask-characters)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Mask[edit=98][editwidth=-128][edittype=2][mask=00000],Mask[edit=98][editwidth=-128][edittype=2][mask=00000;1]");

228
How can I create a progress/step bar for installation

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABfQCg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGIaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhEMgxDREIwjEKEIhoGQcJAGQBJCjWGodQLOEgwH") +
"IERQjEyUpIgFBIYhzEAZJ5jOioaBOCY0TxCNCQG5oOBIACqariagBUoKUwADCNdIVfIUQBFDYZabjeooJpmWJWRbJQyiLaVaQSGoYLqgO6LajWIJORpZcB1BK2Cy5FSW" +
"JamCYpEwXBY6TpIFKXDIsOSDIqvaKpDI4WxMH4JYELOy4aYPJgAaYweSTTi8CYzMSOLIpOCcCADH4DWjAeh1DAdPzdNytY4uO5YRrzRZ5RDZOgQTq4AZrXbHJpwehZMw" +
"yDmEwMmieBch4ExDk2Cxvi4HAMi6MhTlQGBrnsA4dhQapNGqXBzCMfgaj+DgHkSYRfHiVx+EeSxIAAaBYEaVZfHQXpXngCBCEUAYkGMHQHFGSBlEGUISCgFRAkQIQ2BI" +
"RoRFQDAoEIW4WgkawGBEcRSBOAQQhaJgmgmYoIiYKoKmKSI2C6C5jAiLAkAcDpYk4NYNCMaJmDiDpjHidg6g+IxIhYMYQmQSQWEaEZiHifhKg8JI5AIToNiQKQiFKFJl" +
"EkGhNhWZJJGYT4QFAORWF6F5mAkJhahYJY5hYUBAmOeI4n+GpmkmNhuhuZwJkYcocmcSZWG+C4mEmZhjg8EIZDYaodigCgGgKIJnBmYh7hmKB5hwAIZCeegSg6I5pAmN" +
"oGiIKRIn4fYiGMSg2hGJppkmVoTh6KRKF6FYmGKWh2iaKZnHiNoghkKgqi6JILTKRonieaYJDqLYtGaGoWjKLppBqUojDsax6n6OYsCuSwWgSL4qkmIo4i0aYrBqTodC" +
"yCRqkGK4mFsNpPjWaoYjLlRsjsCovgqbYLgYcI0GxhZejmbRrgqWIvi0Ox2lSOhuisPoTjsbh7j6Oo8G4KI6nSNQvGsEp4jgb4rhqfI7i2eIqn+Phqikcpcj0bZbkMB4" +
"um6TALASJQwmwPoxjkL48E4NpFHEapPAmGRxhuIp3kcbBbhKFpEjCQ43BySQpkzjZKC+W4DCySRxnsUwhh+Mg8k8F5NHEPJeDySpzioPwui+c5sisOZQGobQPDaTAzn0" +
"HxIksc5MicJ5CmwPJLE+R4tiwao1jAdANF6AZSjWKJ2iKGB2E2FhFkCcoZEcZpanaSM7FucItjccpbDcDRLAoHUXIKANACICA");
	var_Appearance->Add(1,"CP:2 -8 0 12 0");
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABNoDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGIaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhEMgxDREIwjEKEIhoGQcJAGQBJCjWGodQLOEgwH") +
"IERQjEyUpIgFBIYhzEAZJ5jOioaBOCY0TxCNCQG5oOBIACqariagBUoKUwADCNdIVfIUQBFDYZabjeooJpmWJWRbJQyiLaVaQSGoYLqgO6LajWIJORpZcB1BK2Cy5FSW" +
"JamCYpEwXBY6TpIFKXDIsOSDIqvaKpDI4WxMH4JYELOy4aYPJgAaYweSTTi8CYzMSOLIpOCcCADH4DWjAeh1DAdPzdNytY4uO5YRrzRZ5RDZOgQTq4AZrXbHJpwehZMw" +
"yDmEwMmieBch4ExDk2Cxvi4HAMi6MhTlQGBrnsA4dhQapNGqXBzCMfgaj+DgHkSYRfHiVx+EeSxIAAaBYEaVZfHQXpXngCBCEUAYkGMHQHFGSBlEGUISCgFRAkQIQ2BI" +
"RoRFQDAoEIW4WgkawGBEcRSBOAQQhMbIkA6IhoiIJ4KGKSIuC6CojAiNgxguYwolYNINmMOJmDaDojgiJAkAcDpYn4QYQCQKQWESEZkDkJhGhKJAIhYPYTmOSRGDuFJl" +
"AkUhShUY4JC4WoSCWOQyF6EIkmkXhihWJhJGIY4ZiYWJCF2GplkmNhfhMUA5iYcoaCcSYeHaHJDimMhvh6Z4kCYSxqGgCgEngO4NioDoFiEKBqCaCIimgeg2gqI4okoP" +
"tHGkShChaIBpgMDh6iaZppC4fobimGgKhXVBqhKJoomqCoWimIYqBoAoch8KZZkAAIeiqVomieKorgqXo6iqa5KDaNRpiqewGjKK5rnMDo7i4a5bB6SovGwWwKjAOxpn" +
"sPhCjEbI7CKVo1G2Cgyk2LBtCsDpchcbRLCaYo1m4OxklqNptlkepRjOLQ6n6Zo7m4W5Gj6L5ukseppjgLprkqcI5C+SoSmiK5ujsfwCDsbgbnaepBnAa5OjWQAQDuVp" +
"PkEb48EcCI/i8SxzAGPZwDwQwTkacIal6f4SDEfA6jSPhxw6EouDGexDA2QJyCkIwakkcwMh8FJCm8bI3BiQQyEzo5HCwXIHCyT5lmyPw6kwc5Kn8PpNmwTJnDuUQ0kq" +
"MwVkqKw9AMDpQjSPQOlWSh0HyWpti0dRtFcCJKGYDIvEiNw1E0NxekIdgMgMYpWiQDYXF2WYvk2JpqlqdQsjsJUXAbR9C+E+IYNQOwPBxFcGwfYzRji5CeLsUo0xbhwB" +
"4E0F4vR3C6EKJ0YgbwOBWDOFYdonA7AzF2PALgjRWjCDiLoZw2xmByC6A4Coyg4i8BcPsH49AODXBmMkagPBWC7EWPIDoXwKjODeNQewxQxD3A6M8Oo3R7idHWFMa4YA" +
"0BPD6OEfAngXiNG+PQXwThQjjHyJ4N4nRyB2F8FICQdRcgoA0AIgI");
	var_Appearance->Add(3,"CP:4 -8 0 12 0");
	var_Appearance->Add(6,_bstr_t("gBFLBCJwBAEHhEJAAEhABFIDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGIaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhEMgxDREIwjEKEIhoGQcJAGQBJCjWGodQLOEgwH") +
"IERQjEyUpIgFBIYhzEAZJ5jOioaBOCY0TxCNCQG5oOBIACqariagBUoKUwADCNdIVfIUQBFDYZabjeooJpmWJWRbJQyiLaVaQSGoYLqgO6LajWIJORpZcB1BK2Cy5FSW" +
"JamCYpEwXBY6TpIFKXDIsOSDIqvaKpDI4WxMH4JYELOy4aYPJgAaYweSTTi8CYzMSOLIpOCcCADH4DWjAeh1DAdPzdNytY4uO5YRrzRZ5RDZOgQTq4AZrXbHJpwehZMw" +
"yDmEwMmieBch4ExDk2Cxvi4HAMi6MhTlQGBrnsA4dhQapNGqXBzCMfgaj+DgHkSYRfHiVx+EeSxIAAaBYEaVZfHQXpXngCBCEUAYkGMHQHFGSBlEGUISCgFRAkQIQ2BI" +
"RoRFQDAoEIW4WgkawGBEcRSBOAQQhAVJCCWIhoiIJ4KGKSIuC6CojAiNgxguYwolYNINmMOJmDaDojgiJAkAcDpYn4QYQCQKQWESEZkDkJhGhKJAIhYPYTmOSRGDuFJl" +
"AkUhShUY4JC4WoSCWOQyF6EIkmkXhihWJhJGIY4ZiYWJCF2GplkmNhfhMUA5iYcoaCcSYeHaHJJGmMhvh6Z4kCYSxqGgCgEn+IJoEoFoGiGaIKCaCoimiSg2geIBpAMD" +
"h6iSZppC4fobikGgKg6JppkodoeiIaYaAKFIfCkWZAACHoqBaJofiqapKjaD4qGkKoWiSHppHqTowDCapqmaOonCses9C0ag6l6O4wmwSo+imL4rCsAoyh+awLBaToxC" +
"uWwukkQJsgkepCjObYKjqUYsmkaxSlKLYslsZpiiebY6n6Xo3C2exemOOpomuFpTimbZ7Faao7C8SoCjCHxua4QY4G8W52gaO4khsKpokCZArk6fo/jADAKnqPBkAwGw" +
"Hj0bY8CsDJBCSDA7A+OwrHwSwUkacRsamRhvhwTwLDscZcHqWZEHIHBunuKhyGudwJkocg5HcJZLGybACGCTAyCoYp8k0MZ7l6b5MHO/w8jqcxpjsGo8jOPVAFEaxMmM" +
"A5MnSKvlD4LwMHMSZUGwXROl+UZ0BqBxYkmc5sioSJXCSHRDF+Kw1iwbxklmNh7hMYZQCWbBrGyWxpl2JxwkCG4PYpQbi7DODsRozwtjwRGAUYI8BOArCmLgLQqAngNG" +
"KPETgbwOjDHeLsXQBxjjyE4K8FoyA2BcGcG4AAHQ3BKKUIAgI");
	var_Appearance->Add(5,"CP:6 -8 0 12 0");
	var_Appearance->Add(8,_bstr_t("gBFLBCJwBAEHhEJAAEhABSoCg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGIaRWgmFgAQhFcZQSIEEhHBKMYwjOJgFgmEQyDCNAEwXDSEQ0DIOEgjGAkRxtDQZIRnGA5B") +
"iGI4RSbKMgwPBIZxCGSfIzpGKqAiCN42UCNFByXAgbyPKibJBBeK4dgOEYhVg7IaCIAFRTJCyTRpEWybLgkNQwWzAdr3DTMTQ3LavKbvKoaYi2L4xSCNEi3VK8dwlJye" +
"KbpWA5IpKCZEQLRU5UXC+KA/OyBY7xHBIXpGU6PVZOVYSHTUE4vAauQAzKQoDqGY5la7aE5WVZkIznWy4Ih0TMcTgBPDVM4qCapJr3DqRRDKMxUfimF57J5hehADoWDw" +
"7kSFRLDsFReEiUBxiOJRCHgEQdE6egti6MhZjqWJNiaTppjeNxuGMdYJP+AZlmERb8hARAkiAaQYkcQZUHIGRZIOVgDFAMQIE2AZRiQVQDAoEZEHkTgGBEcICAgfiDlS" +
"QgliGKByBuBxiSSIoHiISIGCWCJiGgdAkAcDpYi4LYLCKaJGDCDJiniVgyg2IpIiYKIOmIeJ2DqD4iDiXhCg0JA4mIRoLiOeQmDyEokAidhFhOZBJEYR4OGSORWE2Ewk" +
"kkQhThaZYnFIXh0E+eYGGKGJmEmFhmhmZZ5iSQ4WiaSRKDeGomAmHhyhyZxJkIXobGWSY6CyHYnEmdh+hkZxnFIeIgmeOZCH+IZogoBZRiEJ4TjYfIiCkCZ+gqGpnioN" +
"guiOaQaGYfYkmiSY+gaJoqAoboKicaBZiqIYpmoKgGgyJgqgqNhoiiaRaF6H4risSo+iqJRqkqVo6hkKZJEqOYumwCYKj2DRrnsBpGD+bA7BaR4xmkOwqkuMBslqTpPj" +
"GLIbEqU4tGwOpKiaNZrEsZg0jOLZKB6XoRi4C4GHOOJkFuFpmi8KwKFqJYaG6OomHaKQomsWpxjCLpblK9F6kaPo9i2S52m6OQwAsLwCj0LYrkKV5Bm+ag2nuKZwkwDh" +
"djQcRMFYcJCDCWh7BaRptBwYwSjecZMgcF5GHITAMmsboQDQBCAg=");
	var_Appearance->Add(7,"CP:8 0 0 12 0");
	var_Appearance->PutRenderType(-2130772226);
spRibbon1->PutLocked(VARIANT_TRUE);
spRibbon1->Images(_bstr_t("gBJJgBAIEAAFAEGCgAhb/hz/EIAh8Tf5CJo2AEZjQAjEZFEaKEaj8ZAIAEEbjIylErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx2PyGRyWTymVy2XzGZzWbzmdz2f0Gh0Wj0ml02n1Gp" +
"1WOh8Sh1q1ux1+yf9m2mu2tx1tp2+81+638w3ds4dn3vE2fBu/FrW353J3Nk49z5lt6tc68r7Ni6dy7e+6Nf78a8fi6F68u25Ve7fprPP8Pq+Mt91U9P1q/w2Hn63n/D" +
"mv89b+vm1cCwNA8EQTBUFwYtyLB8lkII8kCRI0kqSo2cEMJy/8Grsf5+Aef5gRBERgIyf5/REcEUxXFEVH/FkYHBFB/xEeCHRujJ8A8R5AnRHkfHQjJgACdgAA9Isjg8" +
"jJAACfAAA/J0oA/JsnyjKcoytKksyqjR4AAB6MzBMUvzDMczzNMsyI3NgATdNE1zTOM6ABLsuy3LEry9O89yIAZ+AAH5gUBQUdg+f5An+fFEUUjKAgA==");
spRibbon1->Images(_bstr_t("gBJJgBggAAQAAgACkKAD/hz/EMNh8TIRNGwAjEZAEXjAojJQjMLjABAAgjUYDMnlUrlkZQcZZ8ZVkymkYVMZOUtjB1moAmcYn8+mEZQk6lsvjExoE9oM3jE5nU8pdTo") +
"VUpQAotGldIAFXoNfjNOAFQltSqtnsFJolardDqlpAFiskss1wuFXrNsjRojJ/jIkv+BjBpnFGsxrwQAwEYxYAQEZwl6vd9xONxuRseGjOIxmVjOPweSycYv2d02KyGF" +
"qObz2n0AAzGivmk1uo0NPzUYzm23mN1+xyRhjJqyRY1VljJayRsjJj0UZ4UY4l64241cY5V65kY53PAHRAHTtnVzPXAHZtnbAHd5/g8Va8lzldm9Fa9Xs0Xu4vHunJ5b" +
"mu877hv26zkOw/7uQC/TqP4+b/O1ADvQW8cGpU+kEPXBUBr0LjPoyDUPpcjIvQw/Dgw2tkOow18QIxFoAK5EkIQTCUUK1FTHRDF0RIxGT0wi9sbKNHEWR1GERxLDTpMk" +
"OiMmUjJPSgjJloyO0kxrJa9SajEnoxKMvSnKsryDLK2S2AEugBL81TCjErRnDMsPDJknSlMCMSpN0xvzISdA+jKOAAFaM0GjFAz/OETL1CatUQjdCUhQyM0c+0gT5MtG" +
"0BSNBU0jFKKM+8lTmvVHUDQtOUlT09xPTEA1cljZgAL9RPfV9bNHWVaVvXdcVnOVa15V9Y18locIyCaMicjIo2DXgioyIljoyG6M2MjFkIxZSMWZZtb2ejFo2vadq2lb" +
"Nl27b1oXKAFqIxawAWwAFtABbl0Vdb4AXDeFxowUSMiOjIWoyDl7Veg6MAujIkIyT6M38jGAIxgSMYJgsA4OAGEoxhaMYbft/4DgeLYujONABjgAY8AGHgBiIAYmAGK5" +
"G0WMZNlGVBUjJGozHAMZm54LIyLedIyE6M5yjGdoxnuftFoKMaHpOi6Pomlozn2mr1p4AaiAGlABoyMaRr2eavrOtaFquwIyBCMh2jI2ugjKUpHn6SJQjIxbgjIdIyA+" +
"2bdvaMPBugAbvkfD8LvSMbijG+oxv6MbajG38ZuW8brmfE7zwQAceAHIgByYAcqAHGwFzHDbtufOctx2/JX0YgxRYgNoyA1m9xiiM2IzAgcAnXZdojPbIx3VeePmXeoz" +
"3/JKN4Uy9r2/c5EjHlox5vReejPZ+j4np2D5PeNT7HgLZ0PPteKqMpNyEA9D9oACujJIIyJqMgl9++Q8jH1ow/F0Jon4EZfmRh+pGH7kYfyd59D/AAP+JK7CBj7ICP0f" +
"s/h/Tr0VkZghACDMESMQFABAcAECQAQLVeQkjAJWGIPAAo5jBLGMKOa6ywMq5yMAsVvCoAELGOwuhgUaGbaWPkYhutsjMOlbQ8h8ymIBGYYkriG1BhxGYjr0iTDsjMTW" +
"VHoiCTqKbXIqxGhwACJSvHQgiIyHqK0WyjRNiuHmNxGAnkZCoRkF6zY0xrjbCuN8fQARyj9HSO0eI9EZjURiNkZJBktjgRmQUPSMx1IxHcjEeVgx7kVICJpLJHkYkjE2" +
"SgAJLAAkwugAZGQZJADMyEjALiMhngcHwjIbyMiVIyG4jIMGCypIxKtGgAJWsSIzLAjEsoNkYloRiWxGJcEYl0RiXi9pfAAmAnGYUrgATGABMhHMypay3lzLuXsqpWTa" +
"m5N418ywATNABM8AE0QATTZGxgGsgHTuniuSAjARnLztYU99mc9p8Odn2Rmfzg5wsboFPUjM95GOmoMR+hE/53MoeLQ4jFEAARXnzICfgAKEuooBQwjFGWmuHBSRkP1L" +
"CM0rcy2dANKqXEYpaRimDqqZUzpfTUAFNwAU5cPTs0VNKbU+qFURYLGIo1KW7UypzFqoVRXtVNmZFQfErqyR2ihGCROqqGAAeCtyHgAGAGAPgBgD1nrS5EZwbw+DmHvW" +
"+uI9yMV0rlXiuwAK9V6rvXCvNgK9jOAeHwcFc7C2HKSP8Pg/x7jPsZY6xdjbH2Rr3ZCylmLJAAAeP8QA/x8Wds+PgjFnSGjwtMP+sYABDj+AwH8cNrbXjhIxbK2FtraA" +
"AGGPwPgPxj27t6McjA8R4B/A+Ae4lxnIj4DAH8QwB7mXOciPwAAfxgAHupda6d1br3ZuuRgf1nRwD/vCP+8ZGB/ifH+Pkh16r2EYICA==");
spRibbon1->Images(_bstr_t("gBJJgBggAAQAAgACkKAD/hz/EMNh8TIRNGwAjEZAEXjAojJQjMLjABAAgjUYDMnlUrlktl0akQAGMZI80jMzjExl87nk9n0/oFBoVDolFo1HpE9B0ZJcZSkZYEZaUZa") +
"9UqVQp1MjNLpNdr1fsFhsVjsAFjItjJ5jK4jK2jKejKDjJxudxt9ttdps8Zs1kv1/wGBwWCtEYPcZY15jB3jI/jIajIHyOPxsZxkYtkYxOGveDz2f0Gh0NcAFqjDHjKy" +
"jI9rdd0msjGq096jGk0W33G53U8JkZXOKAGwAAGv3EjHCzIA5NN3fN53P0NPjC3y2tnsHjAJo2ky4A6kY6XQ8Xj8lGCsZX93jBAnwkjJbjKBjI6jIPoXsjFwjHpjAT8r" +
"/wBAKThkjJprsjDIJclKMDUjJeIybaMkwjL8AA+yewSAC5IwqaMBhAUQRC6AkIybCMjkjIEJeJqMlbAqMlQjJ0IySyMh8yaXRUjEUIwqqMCNEUgyE0USIxE0dxSl4Zoy" +
"KaMyAjCTIwQ6MmgjJRIyHaXx0AEeABHwASfIcxTGskCIxAyMQ2AEMpZC4AAsjIIIyhKMBNA4AFKjI6JfDM1Q6AEPzJQVBqS879vUAEKq9QIACojIkpfCr9AA/iGUJS9M" +
"KI8LvgA7oGtA7iM048NM1LUyet6jDfumjIeIy4yx1g4VOOXU9bVuljSNMADNgA2TguspDXtSxDaAA21cWTZLCgAPiMtQzDqowx0ERwADJWradpOVYrOIxZllXDZS+gAF" +
"yMj031RURNS6IxdsNURTlVtKzoAXJcV8Xy0lUgASqsQ4q0equjCooxfyMX5ZF84Xhid0MmSbIwmqMJwAGH4bjFTorG6VY4ACPIwkCcoykiSI0eCjIeAB/AflCWZRlyV5" +
"glqojglpBn5OSWEOf2dJWR5f58lWgaEk4HA+lwGTclYGCGlwHnHp+opaR5/6KjWeauuOc5oAGbJZmqW5mlmWZilSAgA==");
spRibbon1->Images(_bstr_t("gBJJgBggAAQAAgACkKAD/hz/EMNh8TIRNGwAjEZAEXjAojJQjMLjABAAgjUYDMnlUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpE5g8YCcZBMZpc1qNPj") +
"ASqFJrFZrVbrlYBUZH8ZKcZHcZC0vC8ZHtitVOrtvuFxuVzjARjJsjLHjKpjJZjIfjMmjBbjKtvMZM8ZCF0xmNx2PnALjJFjLMjL4jLjjK8jLAjLky8ZZcZIEZr+Q1Gp" +
"1WOAsZD0ZYcZf0ZfMZd8ZeG02UZYUZDcZhOr4XD4lIqIOjK6jL63cY2fO5oA2sYW8ZBkZknF7Xb7k0qN2jGUjF6jHTAHP8/R9GYjDEjJCjIPq/d+n14nZAHgABEjLIjJ" +
"4vVALoQGADcva0jFOw+0FwYujFowLSMmajJ6oyfkBPTAj0PRC6MQqjBlIyK74wbEsTK0iKMDIjJZNEjJtoydyMn3DDmIwdiMm0jMQowWKMjCv8TyFIahgqjIarYjAvoy" +
"NaMkyjJpQwaCMksjI1IyLyMikjIZpDIkvzArgaIyScZzMjBHoyGMwzZNrHtOAAsP/GKMiqjIDzdPM9Le/EkIwUyMlCjMxpHPdDUOrMjIw/iMCDL1EUhSKigG6yMskjFK" +
"UlTVN05TtPU/UFQqwiofJXUqOo/R4AJI/CMQMnKHolV6VIdWaT1qlp8njWyNHwANeMvX6W19YCMWJYdhJY3NigAzw4JbZ1oABZ6WH8B9mWtZh/k/bVuJbbdtH/cNmICA" +
"=");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L" <img>5</img> Home",vtMissing,vtMissing);
				var_Item1->PutBackColor(0x7000000);
				var_Item1->PutItemHeight(36);
				var_Item1->PutAlignment(EXRIBBONLib::exRight);
				var_Item1->PutForeColor(RGB(128,128,128));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"   <img>6</img> Gebaude",vtMissing,vtMissing);
				var_Item2->PutBackColor(0x5000000);
				var_Item2->PutAlignment(EXRIBBONLib::exRight);
				var_Item2->PutForeColor(RGB(128,128,128));
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"   <img>6</img> Aussttung",vtMissing,vtMissing);
				var_Item3->PutBackColor(0x5000000);
				var_Item3->PutAlignment(EXRIBBONLib::exRight);
				var_Item3->PutForeColor(RGB(128,128,128));
			EXRIBBONLib::IItemPtr var_Item4 = var_Items1->Add(L"   <img>3</img> Produkt",vtMissing,vtMissing);
				var_Item4->PutBackColor(0x3000000);
				var_Item4->PutAlignment(EXRIBBONLib::exRight);
			EXRIBBONLib::IItemPtr var_Item5 = var_Items1->Add(L"   <img>4</img> Rabate",vtMissing,vtMissing);
				var_Item5->PutAlignment(EXRIBBONLib::exRight);
				var_Item5->PutBackColor(0x1000000);
				var_Item5->PutEnabled(VARIANT_FALSE);
			EXRIBBONLib::IItemPtr var_Item6 = var_Items1->Add(L"   <img>7</img> Ergebnis",vtMissing,vtMissing);
				var_Item6->PutAlignment(EXRIBBONLib::exRight);
				var_Item6->PutBackColor(0x1000000);
				var_Item6->PutEnabled(VARIANT_FALSE);
spRibbon1->Refresh();

227
Is there any function to retrieve all available shortcut keys

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyBackColor,RGB(0,0,1));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyForeColor,RGB(255,255,255));
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"3");
spRibbon1->Refresh();
OutputDebugStringW( spRibbon1->GetShortcutKeysInfo() );

226
How can I display shortcut keys with a different size

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyFormat(L"`<font ;14>` + caption");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+SHIFT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

225
How can I display shortcut keys with a different font

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyBackColor,RGB(0,0,1));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyForeColor,RGB(255,255,255));
spRibbon1->PutShortcutKeyFormat(L"`<font Stencil>` + caption");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+SHIFT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

224
How can I change the visual appearance of the shortcut keys (sample 3, theme)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"XP: Button 1 1");
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyAppearance,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyBackColor,RGB(0,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyForeColor,RGB(0,0,0));
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

223
It is possible somehow to show all available shortcut keys (sample 2)

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
	spRibbon1->PutShortcutKeyFormat(L"`<c><font ;6><fgcolor 808080>` + sca + `</fgcolor></font><br><c>Key:` + keys");
	spRibbon1->PutShortcutKeyPressedModifers(EXRIBBONLib::exModifierAny);
	spRibbon1->PutShortcutKeyFormat(L"");
	spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::exShowShortcutKeysToggleDelayed);
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+CTRL+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+SHIFT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

222
It is possible somehow to show all available shortcut keys (sample 1)

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	spRibbon1->PutShortcutKeyPressedModifers(EXRIBBONLib::exModifierAny);
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

221
How can I show the shortcut keys semi-transparent

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyAppearance,RGB(0,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyBackColor,RGB(0,0,1));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyForeColor,RGB(255,255,255));
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
spRibbon1->PutShortcutKeyTransparent(50);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

220
Is it possible somehow to display ID of each item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutDebug(VARIANT_TRUE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

219
How can I change the visual appearance of the shortcut keys (sample 2, EBN)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyAppearance,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyBackColor,RGB(0,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyForeColor,RGB(0,0,0));
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

218
How can I change the visual appearance of the shortcut keys (sample 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyAppearance,RGB(0,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyBackColor,RGB(0,0,1));
spRibbon1->PutBackground(EXRIBBONLib::exShortcutKeyForeColor,RGB(255,255,255));
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

217
Can I show the shortcut key right after the item so it won't overlap it (sample 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyExtPaddingH(L"16 + width/2, 16 + height/2 ,16 + width/2,16 + height/2");
spRibbon1->PutShortcutKeyExtPaddingV(L"16 + width/2, 16 + height/2 ,16 + width/2,16 + height/2");
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

216
Can I show the shortcut key right after the item so it won't overlap it (sample 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyExtPaddingH(L"width/2, height/2 ,width/2,height/2");
spRibbon1->PutShortcutKeyExtPaddingV(L"width/2, height/2 ,width/2,height/2");
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

215
Can I specify padding for shortcut keys (sample 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyPadding(L"8,8,8,8");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

214
Can I specify padding for shortcut keys (sample 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyPadding(L"0,0,0,0");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

213
Is it possible to specify where the shortcut keys should be shown

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyAlignH(EXRIBBONLib::exShortcutKeyUpperLeft);
spRibbon1->PutShortcutKeyAlignV(EXRIBBONLib::exShortcutKeyLowerRight);
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exCloseShortcutKeysOnClick | EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

212
Can I use different shortcut modifier keys for items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT + CTRL + 1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"CTRL + SHIFT + ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"3 + 33");
	var_Items->Add(L"",vtMissing,vtMissing);
	var_Items->Add(L"Press <b>CTRL or ALT",vtMissing,vtMissing);

211
How can I disable a shortcut key

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"3 + 33");

210
I have noticed that the shortcut keys are still visible while I clicking the control. Is it possible to hide them as soon as user clicks anywhere
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exCloseShortcutKeysOnClick | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"3 + 33");

209
I have a shortcut that's not currently visible, the question is if I can invoke somehow
// CheckItem event - Occurs when the user checks the item.
void OnCheckItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exAllowShortcutKeysIfNotShown | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"ALT + 4");
	var_Items->Add(L"press ALT + 4",vtMissing,vtMissing);

208
Can I specify a longer delay to display shortcut once the user presses any modifer keys
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exLongerDelayShortcutKeys | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"3+33");

207
How can I display extended shortcut keys

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"333");

206
Is it possible to disable the shortcut keys, whithout changing the Shortcut property

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::ShortcutKeyVisibleEnum(EXRIBBONLib::exDisplayShortcutKeysAllAvailable | EXRIBBONLib::exDisableShortcutKeys | EXRIBBONLib::exShowShortcutKeysToggleDelayed));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

205
How can display the shortcut keys only when modifier keys are pressed

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShortcutKeyVisible(EXRIBBONLib::exShowShortcutKeysPressOnly);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"3+33");

204
How can I assign a shortcut key to an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),long(10));
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Item 1",long(0),long(20));
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutShortcut(L"ALT+1");
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",long(0),long(30));
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutChecked(VARIANT_TRUE);
				var_Item2->PutShortcut(L"ALT+2");
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Item 3",long(2),long(40));
				var_Item3->PutShortcut(L"ALT+3");
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
					EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"Sub-Item 3.1",long(0),long(50));
						var_Item4->PutRadio(VARIANT_TRUE);
						var_Item4->PutChecked(VARIANT_TRUE);
						var_Item4->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item4->PutShortcut(L"1");
					EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(60));
						var_Item5->PutRadio(VARIANT_TRUE);
						var_Item5->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item5->PutShortcut(L"2");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items2->Add(L"Sub-Item 3.2",long(0),long(70));
						var_Item6->PutRadio(VARIANT_TRUE);
						var_Item6->PutCloseOnClick(EXRIBBONLib::exCloseOnClick);
						var_Item6->PutShortcut(L"33+3");

203
Is it possible to insert items at a specified position during runtime, without rebuilding the entire item which hosts the items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item A",long(0),long(1000));
	var_Items->Add(L"Item B",long(0),long(1001));
	var_Items->Add(L"Item C",long(0),long(1002))->PutPosition(0);

202
Is it possible to have a popup on a radio button when it is checked

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"[group=0x03][id=0](Link[id=10][typ=2][grp=100][chk=1],Move To[id=20][typ=2][grp=100][spchk][arrow=0]())");
EXRIBBONLib::IItemPtr var_Item = spRibbon1->GetItems()->GetItem(long(20));
	var_Item->GetItems()->Add(L"Item A",long(0),long(1000));
	var_Item->GetItems()->Add(L"Item B",long(0),long(1001));
	var_Item->GetItems()->Add(L"Item C",long(0),long(1002));

201
Is it possible to minimize the control, once the user clicks a button

// CheckItem event - Occurs when the user checks the item.
void OnCheckItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	spRibbon1->GetItems()->GetItem(long(-99))->PutVisible(spRibbon1->GetItems()->GetItem(long(-999))->GetChecked());
	OutputDebugStringW( L"RequiredHeight" );
	OutputDebugStringW( _bstr_t(spRibbon1->GetRequiredHeight()) );
}

// UncheckItem event - Occurs when the user unchecks the item.
void OnUncheckItemRibbon1(LPDISPATCH   Itm)
{
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	spRibbon1->GetItems()->GetItem(long(-99))->PutVisible(spRibbon1->GetItems()->GetItem(long(-999))->GetChecked());
	OutputDebugStringW( L"RequiredHeight" );
	OutputDebugStringW( _bstr_t(spRibbon1->GetRequiredHeight()) );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03]([id=-999][chk][height=18]),[id=-99][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	EXRIBBONLib::IItemPtr var_Item = var_Items->GetItem(long(-999));
		var_Item->PutCheck(VARIANT_TRUE);
		var_Item->PutChecked(spRibbon1->GetItem(long(-99))->GetVisible());
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item3->PutToString(_bstr_t("[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item3->PutID(200);
			var_Item3->PutCaption(L"Page1");
			var_Item3->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item1 = var_Item3->GetItems()->GetItem(long(0));
				var_Item = var_Item1->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item->PutCaption(L"<b><font ;14>A");
					EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems();
						var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item2 = var_Items2->Add(L"",long(2),vtMissing);
							var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
							var_Item2->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
								EXRIBBONLib::IItemPtr var_Item4 = var_Items3->Add(L"R1",vtMissing,vtMissing);
									var_Item4->PutRadioGroup(100);
									var_Item4->PutRadio(VARIANT_TRUE);
									var_Item4->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item4->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item5 = var_Items3->Add(L"R2",vtMissing,vtMissing);
									var_Item5->PutRadioGroup(100);
									var_Item5->PutRadio(VARIANT_TRUE);
									var_Item5->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item5->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item6 = var_Items3->Add(L"R3",vtMissing,vtMissing);
									var_Item6->PutRadioGroup(100);
									var_Item6->PutRadio(VARIANT_TRUE);
									var_Item6->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item6->PutChecked(VARIANT_FALSE);
				var_Item1 = var_Item1->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item1->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item1->PutCaption(L"<b><font ;14>B");
					EXRIBBONLib::IItemsPtr var_Items4 = var_Item1->GetItems();
						var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item7 = var_Items4->Add(L"",long(2),vtMissing);
							var_Item7->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopup));
							var_Item7->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items5 = var_Item7->GetItems();
								EXRIBBONLib::IItemPtr var_Item8 = var_Items5->Add(L"C1",vtMissing,vtMissing);
									var_Item8->PutCheck(VARIANT_TRUE);
									var_Item8->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item9 = var_Items5->Add(L"C2",vtMissing,vtMissing);
									var_Item9->PutCheck(VARIANT_TRUE);
									var_Item9->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item10 = var_Items5->Add(L"C3",vtMissing,vtMissing);
									var_Item10->PutCheck(VARIANT_TRUE);
									var_Item10->PutChecked(VARIANT_TRUE);
				var_Item1->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
				var_Item2 = var_Item1->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item2->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item2->PutCaption(L"");
					EXRIBBONLib::IItemsPtr var_Items6 = var_Item2->GetItems();
						var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item11 = var_Items6->Add(L"",long(0),vtMissing);
							var_Item11->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
							var_Item11->PutItemHeight(76);
							var_Item11->PutEditBorder(EXRIBBONLib::exEditBorderNone);
							var_Item11->PutEditValue(long(25));
						EXRIBBONLib::IItemPtr var_Item12 = var_Items6->Add(L"",long(2),vtMissing);
							var_Item12->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
							var_Item12->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items7 = var_Item12->GetItems();
								EXRIBBONLib::IItemPtr var_Item13 = var_Items7->Add(L"",long(2),vtMissing);
									var_Item13->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
									EXRIBBONLib::IItemsPtr var_Items8 = var_Item13->GetItems();
										EXRIBBONLib::IItemPtr var_Item14 = var_Items8->Add(L"Button1",long(2),vtMissing);
											var_Item14->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items9 = var_Item14->GetItems();
												var_Items9->Add(L"Item 1",vtMissing,vtMissing);
												var_Items9->Add(L"Item 2",vtMissing,vtMissing);
												var_Items9->Add(L"Item 3",vtMissing,vtMissing);
										var_Items8->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
										EXRIBBONLib::IItemPtr var_Item15 = var_Items8->Add(L"Button2",long(2),vtMissing);
											var_Item15->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items10 = var_Item15->GetItems();
												var_Items10->Add(L"Item 4",vtMissing,vtMissing);
												var_Items10->Add(L"Item 5",vtMissing,vtMissing);
												var_Items10->Add(L"Item 6",vtMissing,vtMissing);
								EXRIBBONLib::IItemPtr var_Item16 = var_Items7->Add(L"Popup",long(2),vtMissing);
									var_Item16->PutAlignment(EXRIBBONLib::exCenter);
									EXRIBBONLib::IItemsPtr var_Items11 = var_Item16->GetItems();
										var_Items11->Add(L"Item 7",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
										var_Items11->Add(L"Item 8",vtMissing,vtMissing);
										EXRIBBONLib::IItemsPtr var_Items12 = var_Items11->Add(L"Item 9",long(2),vtMissing)->GetItems();
											var_Items12->Add(L"Item 10",vtMissing,vtMissing);
											var_Items12->Add(L"Item 11",vtMissing,vtMissing);
											var_Items12->Add(L"Item 12",vtMissing,vtMissing);
		var_Item4 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item4->PutToString(_bstr_t("[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item4->PutID(300);
			var_Item4->PutCaption(L"Page2");
			var_Item4->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item17 = var_Item4->GetItems()->GetItem(long(0));
				EXRIBBONLib::IItemsPtr var_Items13 = var_Item17->GetItems();
					EXRIBBONLib::IItemPtr var_Item18 = var_Items13->Add(L"S1",vtMissing,vtMissing);
						var_Item18->PutItemHeight(88);
						var_Item18->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item18->PutEditValue(long(25));
					EXRIBBONLib::IItemPtr var_Item19 = var_Items13->Add(L"S2",vtMissing,vtMissing);
						var_Item19->PutItemHeight(88);
						var_Item19->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item19->PutEditValue(long(50));
					EXRIBBONLib::IItemPtr var_Item20 = var_Items13->Add(L"S3",vtMissing,vtMissing);
						var_Item20->PutItemHeight(88);
						var_Item20->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item20->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_background.ebn");
	var_Appearance->Add(2,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupt.ebn");
	var_Appearance->Add(3,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupo.ebn");
	var_Appearance->Add(4,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_grouphot.ebn");
	var_Appearance->Add(5,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameh.ebn");
	var_Appearance->Add(6,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehs.ebn");
	var_Appearance->Add(7,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehi.ebn");
	var_Appearance->Add(8,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehe.ebn");
	var_Appearance->Add(9,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevs.ebn");
	var_Appearance->Add(10,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevi.ebn");
	var_Appearance->Add(11,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameve.ebn");
	var_Appearance->Add(12,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_select.ebn");
	var_Appearance->Add(13,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_bordert.ebn");
	var_Appearance->Add(14,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttond.ebn");
	var_Appearance->Add(15,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttonu.ebn");
	var_Appearance->Add(16,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tab.ebn");
	var_Appearance->Add(17,"CP:16 0 0 0 1");
	var_Appearance->Add(18,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabhot.ebn");
	var_Appearance->Add(19,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabselhot.ebn");
	var_Appearance->Add(20,"CP:19 0 0 0 1");
spRibbon1->PutForeColor(RGB(21,66,139));
spRibbon1->PutSelBackColor(0xe000000);
spRibbon1->PutLocalAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,spRibbon1->GetAppearance());
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0xd000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSingle,0x5000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHStart,0x6000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHIntermediate,0x7000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHEnd,0x8000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVStart,0x9000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVIntermediate,0xa000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVEnd,0xb000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,0xc000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,0xf000000);
spRibbon1->Refresh();

200
Is there any debug option, so I can see the IDs of the items I have in the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutDebug(VARIANT_TRUE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		var_Item->PutCheck(VARIANT_TRUE);
		var_Item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPadding(L"22,0,0,0");
			var_Items1->Add(L"Radio 1",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
			var_Items1->Add(L"Radio 2",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 3",vtMissing,vtMissing);
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
		var_Item->PutChecked(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(_bstr_t("Expand[typ=1][chk=1][spchk=-1][group=0x0103][itemspad=22,0,0,0](Radio 1[id=20][typ=2],Radio 2[id=30][typ=2],Radio 3[id=40][typ=") +
"2][chk=1])");
spRibbon1->Refresh();

199
Microsoft Office - Ribbon Like - Minimized

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"[id=0][group=0x03](),[id=-99][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
spRibbon1->GetItem(long(-99))->PutVisible(VARIANT_FALSE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItem(long(0))->GetItems();
	var_Items->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
	EXRIBBONLib::IItemPtr var_Item3 = var_Items->Add(L"New Page",vtMissing,vtMissing);
		var_Item3->PutToString(_bstr_t("[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
		var_Item3->PutID(200);
		var_Item3->PutCaption(L"Page1");
		var_Item3->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		EXRIBBONLib::IItemPtr var_Item = var_Item3->GetItems()->GetItem(long(0));
			var_Item = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
				var_Item->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
				var_Item->PutCaption(L"<b><font ;14>A");
				EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
					var_Items1->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
					EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",long(2),vtMissing);
						var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
						var_Item1->PutCaption(L"");
						EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
							EXRIBBONLib::IItemPtr var_Item2 = var_Items2->Add(L"R1",vtMissing,vtMissing);
								var_Item2->PutRadioGroup(100);
								var_Item2->PutRadio(VARIANT_TRUE);
								var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
								var_Item2->PutChecked(VARIANT_FALSE);
							EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"R2",vtMissing,vtMissing);
								var_Item4->PutRadioGroup(100);
								var_Item4->PutRadio(VARIANT_TRUE);
								var_Item4->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
								var_Item4->PutChecked(VARIANT_TRUE);
							EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"R3",vtMissing,vtMissing);
								var_Item5->PutRadioGroup(100);
								var_Item5->PutRadio(VARIANT_TRUE);
								var_Item5->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
								var_Item5->PutChecked(VARIANT_FALSE);
			var_Item1 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
				var_Item1->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
				var_Item1->PutCaption(L"<b><font ;14>B");
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item1->GetItems();
					var_Items3->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items3->Add(L"",long(2),vtMissing);
						var_Item6->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopup));
						var_Item6->PutCaption(L"");
						EXRIBBONLib::IItemsPtr var_Items4 = var_Item6->GetItems();
							EXRIBBONLib::IItemPtr var_Item7 = var_Items4->Add(L"C1",vtMissing,vtMissing);
								var_Item7->PutCheck(VARIANT_TRUE);
								var_Item7->PutChecked(VARIANT_TRUE);
							EXRIBBONLib::IItemPtr var_Item8 = var_Items4->Add(L"C2",vtMissing,vtMissing);
								var_Item8->PutCheck(VARIANT_TRUE);
								var_Item8->PutChecked(VARIANT_FALSE);
							EXRIBBONLib::IItemPtr var_Item9 = var_Items4->Add(L"C3",vtMissing,vtMissing);
								var_Item9->PutCheck(VARIANT_TRUE);
								var_Item9->PutChecked(VARIANT_TRUE);
			var_Item->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
			var_Item2 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
				var_Item2->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
				var_Item2->PutCaption(L"");
				EXRIBBONLib::IItemsPtr var_Items5 = var_Item2->GetItems();
					var_Items5->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
					EXRIBBONLib::IItemPtr var_Item10 = var_Items5->Add(L"",long(0),vtMissing);
						var_Item10->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
						var_Item10->PutItemHeight(76);
						var_Item10->PutEditBorder(EXRIBBONLib::exEditBorderNone);
						var_Item10->PutEditValue(long(25));
					EXRIBBONLib::IItemPtr var_Item11 = var_Items5->Add(L"",long(2),vtMissing);
						var_Item11->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
						var_Item11->PutCaption(L"");
						EXRIBBONLib::IItemsPtr var_Items6 = var_Item11->GetItems();
							EXRIBBONLib::IItemPtr var_Item12 = var_Items6->Add(L"",long(2),vtMissing);
								var_Item12->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
								EXRIBBONLib::IItemsPtr var_Items7 = var_Item12->GetItems();
									EXRIBBONLib::IItemPtr var_Item13 = var_Items7->Add(L"Button1",long(2),vtMissing);
										var_Item13->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
										EXRIBBONLib::IItemsPtr var_Items8 = var_Item13->GetItems();
											var_Items8->Add(L"Item 1",vtMissing,vtMissing);
											var_Items8->Add(L"Item 2",vtMissing,vtMissing);
											var_Items8->Add(L"Item 3",vtMissing,vtMissing);
									var_Items7->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
									EXRIBBONLib::IItemPtr var_Item14 = var_Items7->Add(L"Button2",long(2),vtMissing);
										var_Item14->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
										EXRIBBONLib::IItemsPtr var_Items9 = var_Item14->GetItems();
											var_Items9->Add(L"Item 4",vtMissing,vtMissing);
											var_Items9->Add(L"Item 5",vtMissing,vtMissing);
											var_Items9->Add(L"Item 6",vtMissing,vtMissing);
							EXRIBBONLib::IItemPtr var_Item15 = var_Items6->Add(L"Popup",long(2),vtMissing);
								var_Item15->PutAlignment(EXRIBBONLib::exCenter);
								EXRIBBONLib::IItemsPtr var_Items10 = var_Item15->GetItems();
									var_Items10->Add(L"Item 7",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
									var_Items10->Add(L"Item 8",vtMissing,vtMissing);
									EXRIBBONLib::IItemsPtr var_Items11 = var_Items10->Add(L"Item 9",long(2),vtMissing)->GetItems();
										var_Items11->Add(L"Item 10",vtMissing,vtMissing);
										var_Items11->Add(L"Item 11",vtMissing,vtMissing);
										var_Items11->Add(L"Item 12",vtMissing,vtMissing);
	var_Item4 = var_Items->Add(L"New Page",vtMissing,vtMissing);
		var_Item4->PutToString(_bstr_t("[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
		var_Item4->PutID(300);
		var_Item4->PutCaption(L"Page2");
		var_Item4->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		EXRIBBONLib::IItemPtr var_Item16 = var_Item4->GetItems()->GetItem(long(0));
			EXRIBBONLib::IItemsPtr var_Items12 = var_Item16->GetItems();
				EXRIBBONLib::IItemPtr var_Item17 = var_Items12->Add(L"S1",vtMissing,vtMissing);
					var_Item17->PutItemHeight(88);
					var_Item17->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
					var_Item17->PutEditValue(long(25));
				EXRIBBONLib::IItemPtr var_Item18 = var_Items12->Add(L"S2",vtMissing,vtMissing);
					var_Item18->PutItemHeight(88);
					var_Item18->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
					var_Item18->PutEditValue(long(50));
				EXRIBBONLib::IItemPtr var_Item19 = var_Items12->Add(L"S3",vtMissing,vtMissing);
					var_Item19->PutItemHeight(88);
					var_Item19->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
					var_Item19->PutEditValue(long(75));
	var_Items->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_background.ebn");
	var_Appearance->Add(2,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupt.ebn");
	var_Appearance->Add(3,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupo.ebn");
	var_Appearance->Add(4,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_grouphot.ebn");
	var_Appearance->Add(5,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameh.ebn");
	var_Appearance->Add(6,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehs.ebn");
	var_Appearance->Add(7,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehi.ebn");
	var_Appearance->Add(8,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehe.ebn");
	var_Appearance->Add(9,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevs.ebn");
	var_Appearance->Add(10,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevi.ebn");
	var_Appearance->Add(11,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameve.ebn");
	var_Appearance->Add(12,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_select.ebn");
	var_Appearance->Add(13,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_bordert.ebn");
	var_Appearance->Add(14,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttond.ebn");
	var_Appearance->Add(15,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttonu.ebn");
	var_Appearance->Add(16,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tab.ebn");
	var_Appearance->Add(17,"CP:16 0 0 0 1");
	var_Appearance->Add(18,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabhot.ebn");
	var_Appearance->Add(19,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabselhot.ebn");
	var_Appearance->Add(20,"CP:19 0 0 0 1");
spRibbon1->PutForeColor(RGB(21,66,139));
spRibbon1->PutSelBackColor(0xe000000);
spRibbon1->PutLocalAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,spRibbon1->GetAppearance());
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0xd000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSingle,0x5000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHStart,0x6000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHIntermediate,0x7000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHEnd,0x8000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVStart,0x9000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVIntermediate,0xa000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVEnd,0xb000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,0xc000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,0xf000000);
spRibbon1->Refresh();

198
Microsoft Paint - Ribbon Like - Minimized

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03](),[id=-99][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	var_Items->GetItem(long(-99))->PutVisible(VARIANT_FALSE);
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item3->PutToString(_bstr_t("[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item3->PutID(200);
			var_Item3->PutCaption(L"Page1");
			var_Item3->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item = var_Item3->GetItems()->GetItem(long(0));
				var_Item = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item->PutCaption(L"<b><font ;14>A");
					EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems();
						var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item1 = var_Items2->Add(L"",long(2),vtMissing);
							var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
							var_Item1->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items3 = var_Item1->GetItems();
								EXRIBBONLib::IItemPtr var_Item2 = var_Items3->Add(L"R1",vtMissing,vtMissing);
									var_Item2->PutRadioGroup(100);
									var_Item2->PutRadio(VARIANT_TRUE);
									var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item2->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item4 = var_Items3->Add(L"R2",vtMissing,vtMissing);
									var_Item4->PutRadioGroup(100);
									var_Item4->PutRadio(VARIANT_TRUE);
									var_Item4->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item4->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item5 = var_Items3->Add(L"R3",vtMissing,vtMissing);
									var_Item5->PutRadioGroup(100);
									var_Item5->PutRadio(VARIANT_TRUE);
									var_Item5->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item5->PutChecked(VARIANT_FALSE);
				var_Item1 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item1->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item1->PutCaption(L"<b><font ;14>B");
					EXRIBBONLib::IItemsPtr var_Items4 = var_Item1->GetItems();
						var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item6 = var_Items4->Add(L"",long(2),vtMissing);
							var_Item6->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopup));
							var_Item6->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items5 = var_Item6->GetItems();
								EXRIBBONLib::IItemPtr var_Item7 = var_Items5->Add(L"C1",vtMissing,vtMissing);
									var_Item7->PutCheck(VARIANT_TRUE);
									var_Item7->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item8 = var_Items5->Add(L"C2",vtMissing,vtMissing);
									var_Item8->PutCheck(VARIANT_TRUE);
									var_Item8->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item9 = var_Items5->Add(L"C3",vtMissing,vtMissing);
									var_Item9->PutCheck(VARIANT_TRUE);
									var_Item9->PutChecked(VARIANT_TRUE);
				var_Item->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
				var_Item2 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item2->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item2->PutCaption(L"");
					EXRIBBONLib::IItemsPtr var_Items6 = var_Item2->GetItems();
						var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item10 = var_Items6->Add(L"",long(0),vtMissing);
							var_Item10->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
							var_Item10->PutItemHeight(76);
							var_Item10->PutEditBorder(EXRIBBONLib::exEditBorderNone);
							var_Item10->PutEditValue(long(25));
						EXRIBBONLib::IItemPtr var_Item11 = var_Items6->Add(L"",long(2),vtMissing);
							var_Item11->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
							var_Item11->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items7 = var_Item11->GetItems();
								EXRIBBONLib::IItemPtr var_Item12 = var_Items7->Add(L"",long(2),vtMissing);
									var_Item12->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
									EXRIBBONLib::IItemsPtr var_Items8 = var_Item12->GetItems();
										EXRIBBONLib::IItemPtr var_Item13 = var_Items8->Add(L"Button1",long(2),vtMissing);
											var_Item13->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items9 = var_Item13->GetItems();
												var_Items9->Add(L"Item 1",vtMissing,vtMissing);
												var_Items9->Add(L"Item 2",vtMissing,vtMissing);
												var_Items9->Add(L"Item 3",vtMissing,vtMissing);
										var_Items8->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
										EXRIBBONLib::IItemPtr var_Item14 = var_Items8->Add(L"Button2",long(2),vtMissing);
											var_Item14->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items10 = var_Item14->GetItems();
												var_Items10->Add(L"Item 4",vtMissing,vtMissing);
												var_Items10->Add(L"Item 5",vtMissing,vtMissing);
												var_Items10->Add(L"Item 6",vtMissing,vtMissing);
								EXRIBBONLib::IItemPtr var_Item15 = var_Items7->Add(L"Popup",long(2),vtMissing);
									var_Item15->PutAlignment(EXRIBBONLib::exCenter);
									EXRIBBONLib::IItemsPtr var_Items11 = var_Item15->GetItems();
										var_Items11->Add(L"Item 7",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
										var_Items11->Add(L"Item 8",vtMissing,vtMissing);
										EXRIBBONLib::IItemsPtr var_Items12 = var_Items11->Add(L"Item 9",long(2),vtMissing)->GetItems();
											var_Items12->Add(L"Item 10",vtMissing,vtMissing);
											var_Items12->Add(L"Item 11",vtMissing,vtMissing);
											var_Items12->Add(L"Item 12",vtMissing,vtMissing);
		var_Item4 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item4->PutToString(_bstr_t("[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item4->PutID(300);
			var_Item4->PutCaption(L"Page2");
			var_Item4->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item16 = var_Item4->GetItems()->GetItem(long(0));
				EXRIBBONLib::IItemsPtr var_Items13 = var_Item16->GetItems();
					EXRIBBONLib::IItemPtr var_Item17 = var_Items13->Add(L"S1",vtMissing,vtMissing);
						var_Item17->PutItemHeight(88);
						var_Item17->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item17->PutEditValue(long(25));
					EXRIBBONLib::IItemPtr var_Item18 = var_Items13->Add(L"S2",vtMissing,vtMissing);
						var_Item18->PutItemHeight(88);
						var_Item18->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item18->PutEditValue(long(50));
					EXRIBBONLib::IItemPtr var_Item19 = var_Items13->Add(L"S3",vtMissing,vtMissing);
						var_Item19->PutItemHeight(88);
						var_Item19->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item19->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn");
	var_Appearance->Add(2,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn");
	var_Appearance->Add(3,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn");
	var_Appearance->Add(4,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn");
	var_Appearance->Add(5,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn");
	var_Appearance->Add(6,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn");
	var_Appearance->Add(7,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn");
	var_Appearance->Add(8,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn");
	var_Appearance->Add(9,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn");
	var_Appearance->Add(10,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn");
	var_Appearance->Add(11,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn");
	var_Appearance->Add(12,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn");
	var_Appearance->Add(13,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn");
	var_Appearance->Add(14,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn");
	var_Appearance->Add(15,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn");
	var_Appearance->Add(16,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_tab.ebn");
	var_Appearance->Add(17,"CP:16 0 0 0 1");
	var_Appearance->Add(18,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn");
	var_Appearance->Add(19,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn");
	var_Appearance->Add(20,"CP:19 0 0 0 1");
spRibbon1->PutLocalAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutForeColor(RGB(21,66,139));
spRibbon1->PutSelBackColor(0xe000000);
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,spRibbon1->GetAppearance());
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0xd000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSingle,0x5000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHStart,0x6000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHIntermediate,0x7000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHEnd,0x8000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVStart,0x9000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVIntermediate,0xa000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVEnd,0xb000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,0xc000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,0xf000000);
spRibbon1->Refresh();

197
Microsoft Windows 8.1 - Ribbon Like - Minimized

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03](),[id=-99][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	var_Items->GetItem(long(-99))->PutVisible(VARIANT_FALSE);
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item3->PutToString(_bstr_t("[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item3->PutID(200);
			var_Item3->PutCaption(L"Page1");
			var_Item3->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item = var_Item3->GetItems()->GetItem(long(0));
				var_Item = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item->PutCaption(L"<b><font ;14>A");
					EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems();
						var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item1 = var_Items2->Add(L"",long(2),vtMissing);
							var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
							var_Item1->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items3 = var_Item1->GetItems();
								EXRIBBONLib::IItemPtr var_Item2 = var_Items3->Add(L"R1",vtMissing,vtMissing);
									var_Item2->PutRadioGroup(100);
									var_Item2->PutRadio(VARIANT_TRUE);
									var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item2->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item4 = var_Items3->Add(L"R2",vtMissing,vtMissing);
									var_Item4->PutRadioGroup(100);
									var_Item4->PutRadio(VARIANT_TRUE);
									var_Item4->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item4->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item5 = var_Items3->Add(L"R3",vtMissing,vtMissing);
									var_Item5->PutRadioGroup(100);
									var_Item5->PutRadio(VARIANT_TRUE);
									var_Item5->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item5->PutChecked(VARIANT_FALSE);
				var_Item1 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item1->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item1->PutCaption(L"<b><font ;14>B");
					EXRIBBONLib::IItemsPtr var_Items4 = var_Item1->GetItems();
						var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item6 = var_Items4->Add(L"",long(2),vtMissing);
							var_Item6->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopup));
							var_Item6->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items5 = var_Item6->GetItems();
								EXRIBBONLib::IItemPtr var_Item7 = var_Items5->Add(L"C1",vtMissing,vtMissing);
									var_Item7->PutCheck(VARIANT_TRUE);
									var_Item7->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item8 = var_Items5->Add(L"C2",vtMissing,vtMissing);
									var_Item8->PutCheck(VARIANT_TRUE);
									var_Item8->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item9 = var_Items5->Add(L"C3",vtMissing,vtMissing);
									var_Item9->PutCheck(VARIANT_TRUE);
									var_Item9->PutChecked(VARIANT_TRUE);
				var_Item->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
				var_Item2 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item2->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item2->PutCaption(L"");
					EXRIBBONLib::IItemsPtr var_Items6 = var_Item2->GetItems();
						var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item10 = var_Items6->Add(L"",long(0),vtMissing);
							var_Item10->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
							var_Item10->PutItemHeight(76);
							var_Item10->PutEditBorder(EXRIBBONLib::exEditBorderNone);
							var_Item10->PutEditValue(long(25));
						EXRIBBONLib::IItemPtr var_Item11 = var_Items6->Add(L"",long(2),vtMissing);
							var_Item11->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
							var_Item11->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items7 = var_Item11->GetItems();
								EXRIBBONLib::IItemPtr var_Item12 = var_Items7->Add(L"",long(2),vtMissing);
									var_Item12->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
									EXRIBBONLib::IItemsPtr var_Items8 = var_Item12->GetItems();
										EXRIBBONLib::IItemPtr var_Item13 = var_Items8->Add(L"Button1",long(2),vtMissing);
											var_Item13->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items9 = var_Item13->GetItems();
												var_Items9->Add(L"Item 1",vtMissing,vtMissing);
												var_Items9->Add(L"Item 2",vtMissing,vtMissing);
												var_Items9->Add(L"Item 3",vtMissing,vtMissing);
										var_Items8->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
										EXRIBBONLib::IItemPtr var_Item14 = var_Items8->Add(L"Button2",long(2),vtMissing);
											var_Item14->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items10 = var_Item14->GetItems();
												var_Items10->Add(L"Item 4",vtMissing,vtMissing);
												var_Items10->Add(L"Item 5",vtMissing,vtMissing);
												var_Items10->Add(L"Item 6",vtMissing,vtMissing);
								EXRIBBONLib::IItemPtr var_Item15 = var_Items7->Add(L"Popup",long(2),vtMissing);
									var_Item15->PutAlignment(EXRIBBONLib::exCenter);
									EXRIBBONLib::IItemsPtr var_Items11 = var_Item15->GetItems();
										var_Items11->Add(L"Item 7",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
										var_Items11->Add(L"Item 8",vtMissing,vtMissing);
										EXRIBBONLib::IItemsPtr var_Items12 = var_Items11->Add(L"Item 9",long(2),vtMissing)->GetItems();
											var_Items12->Add(L"Item 10",vtMissing,vtMissing);
											var_Items12->Add(L"Item 11",vtMissing,vtMissing);
											var_Items12->Add(L"Item 12",vtMissing,vtMissing);
		var_Item4 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item4->PutToString(_bstr_t("[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item4->PutID(300);
			var_Item4->PutCaption(L"Page2");
			var_Item4->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item16 = var_Item4->GetItems()->GetItem(long(0));
				EXRIBBONLib::IItemsPtr var_Items13 = var_Item16->GetItems();
					EXRIBBONLib::IItemPtr var_Item17 = var_Items13->Add(L"S1",vtMissing,vtMissing);
						var_Item17->PutItemHeight(88);
						var_Item17->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item17->PutEditValue(long(25));
					EXRIBBONLib::IItemPtr var_Item18 = var_Items13->Add(L"S2",vtMissing,vtMissing);
						var_Item18->PutItemHeight(88);
						var_Item18->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item18->PutEditValue(long(50));
					EXRIBBONLib::IItemPtr var_Item19 = var_Items13->Add(L"S3",vtMissing,vtMissing);
						var_Item19->PutItemHeight(88);
						var_Item19->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item19->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn");
	var_Appearance->Add(2,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn");
	var_Appearance->Add(12,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn");
	var_Appearance->Add(14,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn");
	var_Appearance->Add(17,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn");
	var_Appearance->Add(18,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn");
	var_Appearance->Add(32,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn");
	var_Appearance->Add(33,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn");
	var_Appearance->Add(34,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn");
	var_Appearance->Add(35,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn");
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,spRibbon1->GetAppearance());
spRibbon1->PutSelBackColor(0xe000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,0xc000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,0x23000000);
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0x22000000);
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x3),0x23000000);
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState0,0x20000000);
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState1,0x21000000);
spRibbon1->Refresh();

196
How can I display a tab into the ribbon (method 2, minimized)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(240,240,240));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(_bstr_t("[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=-99][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-") +
"100]))");
	var_Items->GetItem(long(-99))->PutVisible(VARIANT_FALSE);
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(-10))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item->PutToString(_bstr_t("[typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0][popupalign=0x01]([id=0][group=0x03]([]))");
			var_Item->PutCaption(L"Page<off -5><font ;5><b>1</b></font></off>");
			EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems()->GetItem(long(0))->GetItems();
				EXRIBBONLib::IItemPtr var_Item1 = var_Items2->Add(L"add here fields for page 1",vtMissing,vtMissing);
					var_Item1->PutID(-1000);
					var_Item1->PutEnabled(VARIANT_FALSE);
					var_Item1->PutBackColor(RGB(255,0,0));
		EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item2->PutToString(_bstr_t("[typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0][popupalign=0x01]([id=0][group=0x03]([]))");
			var_Item2->PutCaption(L"Page<off -5><font ;5><b>2</b></font></off>");
			EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems()->GetItem(long(0))->GetItems();
				EXRIBBONLib::IItemPtr var_Item3 = var_Items3->Add(L"add here fields for page 2",vtMissing,vtMissing);
					var_Item3->PutID(-1001);
					var_Item3->PutEnabled(VARIANT_FALSE);
					var_Item3->PutBackColor(RGB(0,255,0));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->Refresh();

195
How can I display a tab into the ribbon (method 1, minimized)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(240,240,240));
spRibbon1->PutToString(_bstr_t("[group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03]([id=50][pad=8,0,0,0],Page<off -5><font ;5><b>1</b></font></off>[id=60][ty") +
"p=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][grou" +
"p=0x03][tab=-100][pad=2,0,2,0][popupalign=1]([group=0x03]([id=80],add here fields for page 1[id=-1000][dis])),Page<off -5><font " +
";5><b>2</b></font></off>[id=100][typ=2][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(2" +
"40,240,240)][height=16][group=0x03][tab=-100][pad=2,0,2,0][popupalign=1]([group=0x03]([id=120],add here fields for page 2[id=-10" +
"01][dis])),[id=140][pad=8,0,0,0]),[id=-99][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-100]))");
EXRIBBONLib::IItemPtr var_Item = spRibbon1->GetItems()->GetItem(long(-1000));
	var_Item->PutBackColor(RGB(255,0,0));
EXRIBBONLib::IItemPtr var_Item1 = spRibbon1->GetItems()->GetItem(long(-1001));
	var_Item1->PutBackColor(RGB(0,255,0));
spRibbon1->GetItem(long(-99))->PutVisible(VARIANT_FALSE);

194
How can I display the drop down panel to a specified location only
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Popup",long(2),long(100));
		var_Item->PutShowPopupArrow(VARIANT_FALSE);
		var_Item->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		var_Item->PutShowPopupOffset(L"0:screen,0:screen");
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

193
How can I displays the drop down bellow the control, rather than item itself

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Popup <b>1",long(2),long(100));
		var_Item->PutShowPopupArrow(VARIANT_FALSE);
		var_Item->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		var_Item->PutShowPopupOffset(L"0,0:control");
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Popup <b>2",long(2),long(200));
		var_Item1->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
			var_Items2->Add(L"Item 2",vtMissing,vtMissing);
			var_Items2->Add(L"Item 3",vtMissing,vtMissing);
			var_Items2->Add(L"Item 4",vtMissing,vtMissing);
spRibbon1->Refresh();

192
How can I change the visual appearance of the progress bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x104),0x1000000);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditProgress);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
spRibbon1->Refresh();

191
How can I change the progress's color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x104),RGB(255,0,0));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditProgress);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
spRibbon1->Refresh();

190
I am using the Item.Visible property on False to hide the item, but the editor is still visible
// CheckItem event - Occurs when the user checks the item.
void OnCheckItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	EXRIBBONLib::IItemPtr var_Item = spRibbon1->GetItems()->GetItem(long(1000));
		var_Item->PutVisible(VARIANT_TRUE);
		var_Item->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditReadOnly | EXRIBBONLib::exItemEditProgress));
	spRibbon1->Refresh();
}

// UncheckItem event - Occurs when the user unchecks the item.
void OnUncheckItemRibbon1(LPDISPATCH   Itm)
{
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	EXRIBBONLib::IItemPtr var_Item = spRibbon1->GetItems()->GetItem(long(1000));
		var_Item->PutVisible(VARIANT_FALSE);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemDisableEdit);
	spRibbon1->Refresh();
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Visible",vtMissing,vtMissing);
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Item 2",vtMissing,long(1000));
				var_Item2->PutItemHeight(18);
				var_Item2->PutCaption(L"Percent");
				var_Item2->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditReadOnly | EXRIBBONLib::exItemEditProgress));
				var_Item2->PutEditValue(long(50));
				var_Item2->PutVisible(VARIANT_TRUE);
			var_Items1->Add(L"Visible",vtMissing,vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
spRibbon1->Refresh();

189
How can I change the color of a disabled item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Disabled",long(2),long(0));
		var_Item->PutForeColor(RGB(255,0,0));
		var_Item->GetItems()->Add(L"",vtMissing,vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		var_Item->PutShowPopupArrow(VARIANT_FALSE);
	var_Items->Add(L"Disabled",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
spRibbon1->Refresh();

188
Microsoft Windows 8.1 - Ribbon Like

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03](),[id=-99][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item3->PutToString(_bstr_t("[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item3->PutID(200);
			var_Item3->PutCaption(L"Page1");
			var_Item3->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item = var_Item3->GetItems()->GetItem(long(0));
				var_Item = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item->PutCaption(L"<b><font ;14>A");
					EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems();
						var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item1 = var_Items2->Add(L"",long(2),vtMissing);
							var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
							var_Item1->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items3 = var_Item1->GetItems();
								EXRIBBONLib::IItemPtr var_Item2 = var_Items3->Add(L"R1",vtMissing,vtMissing);
									var_Item2->PutRadioGroup(100);
									var_Item2->PutRadio(VARIANT_TRUE);
									var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item2->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item4 = var_Items3->Add(L"R2",vtMissing,vtMissing);
									var_Item4->PutRadioGroup(100);
									var_Item4->PutRadio(VARIANT_TRUE);
									var_Item4->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item4->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item5 = var_Items3->Add(L"R3",vtMissing,vtMissing);
									var_Item5->PutRadioGroup(100);
									var_Item5->PutRadio(VARIANT_TRUE);
									var_Item5->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item5->PutChecked(VARIANT_FALSE);
				var_Item1 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item1->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item1->PutCaption(L"<b><font ;14>B");
					EXRIBBONLib::IItemsPtr var_Items4 = var_Item1->GetItems();
						var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item6 = var_Items4->Add(L"",long(2),vtMissing);
							var_Item6->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopup));
							var_Item6->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items5 = var_Item6->GetItems();
								EXRIBBONLib::IItemPtr var_Item7 = var_Items5->Add(L"C1",vtMissing,vtMissing);
									var_Item7->PutCheck(VARIANT_TRUE);
									var_Item7->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item8 = var_Items5->Add(L"C2",vtMissing,vtMissing);
									var_Item8->PutCheck(VARIANT_TRUE);
									var_Item8->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item9 = var_Items5->Add(L"C3",vtMissing,vtMissing);
									var_Item9->PutCheck(VARIANT_TRUE);
									var_Item9->PutChecked(VARIANT_TRUE);
				var_Item->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
				var_Item2 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item2->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item2->PutCaption(L"");
					EXRIBBONLib::IItemsPtr var_Items6 = var_Item2->GetItems();
						var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item10 = var_Items6->Add(L"",long(0),vtMissing);
							var_Item10->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
							var_Item10->PutItemHeight(76);
							var_Item10->PutEditBorder(EXRIBBONLib::exEditBorderNone);
							var_Item10->PutEditValue(long(25));
						EXRIBBONLib::IItemPtr var_Item11 = var_Items6->Add(L"",long(2),vtMissing);
							var_Item11->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
							var_Item11->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items7 = var_Item11->GetItems();
								EXRIBBONLib::IItemPtr var_Item12 = var_Items7->Add(L"",long(2),vtMissing);
									var_Item12->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
									EXRIBBONLib::IItemsPtr var_Items8 = var_Item12->GetItems();
										EXRIBBONLib::IItemPtr var_Item13 = var_Items8->Add(L"Button1",long(2),vtMissing);
											var_Item13->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items9 = var_Item13->GetItems();
												var_Items9->Add(L"Item 1",vtMissing,vtMissing);
												var_Items9->Add(L"Item 2",vtMissing,vtMissing);
												var_Items9->Add(L"Item 3",vtMissing,vtMissing);
										var_Items8->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
										EXRIBBONLib::IItemPtr var_Item14 = var_Items8->Add(L"Button2",long(2),vtMissing);
											var_Item14->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items10 = var_Item14->GetItems();
												var_Items10->Add(L"Item 4",vtMissing,vtMissing);
												var_Items10->Add(L"Item 5",vtMissing,vtMissing);
												var_Items10->Add(L"Item 6",vtMissing,vtMissing);
								EXRIBBONLib::IItemPtr var_Item15 = var_Items7->Add(L"Popup",long(2),vtMissing);
									var_Item15->PutAlignment(EXRIBBONLib::exCenter);
									EXRIBBONLib::IItemsPtr var_Items11 = var_Item15->GetItems();
										var_Items11->Add(L"Item 7",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
										var_Items11->Add(L"Item 8",vtMissing,vtMissing);
										EXRIBBONLib::IItemsPtr var_Items12 = var_Items11->Add(L"Item 9",long(2),vtMissing)->GetItems();
											var_Items12->Add(L"Item 10",vtMissing,vtMissing);
											var_Items12->Add(L"Item 11",vtMissing,vtMissing);
											var_Items12->Add(L"Item 12",vtMissing,vtMissing);
		var_Item4 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item4->PutToString(_bstr_t("[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item4->PutID(300);
			var_Item4->PutCaption(L"Page2");
			var_Item4->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item16 = var_Item4->GetItems()->GetItem(long(0));
				EXRIBBONLib::IItemsPtr var_Items13 = var_Item16->GetItems();
					EXRIBBONLib::IItemPtr var_Item17 = var_Items13->Add(L"S1",vtMissing,vtMissing);
						var_Item17->PutItemHeight(88);
						var_Item17->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item17->PutEditValue(long(25));
					EXRIBBONLib::IItemPtr var_Item18 = var_Items13->Add(L"S2",vtMissing,vtMissing);
						var_Item18->PutItemHeight(88);
						var_Item18->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item18->PutEditValue(long(50));
					EXRIBBONLib::IItemPtr var_Item19 = var_Items13->Add(L"S3",vtMissing,vtMissing);
						var_Item19->PutItemHeight(88);
						var_Item19->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item19->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn");
	var_Appearance->Add(2,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn");
	var_Appearance->Add(12,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn");
	var_Appearance->Add(14,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn");
	var_Appearance->Add(17,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn");
	var_Appearance->Add(18,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn");
	var_Appearance->Add(32,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn");
	var_Appearance->Add(33,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn");
	var_Appearance->Add(34,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn");
	var_Appearance->Add(35,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn");
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,spRibbon1->GetAppearance());
spRibbon1->PutSelBackColor(0xe000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,0xc000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,0x23000000);
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0x22000000);
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x3),0x23000000);
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState0,0x20000000);
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState1,0x21000000);
spRibbon1->Refresh();

187
Microsoft Paint - Ribbon Like

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03](),[id=-99][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item3->PutToString(_bstr_t("[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item3->PutID(200);
			var_Item3->PutCaption(L"Page1");
			var_Item3->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item = var_Item3->GetItems()->GetItem(long(0));
				var_Item = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item->PutCaption(L"<b><font ;14>A");
					EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems();
						var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item1 = var_Items2->Add(L"",long(2),vtMissing);
							var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
							var_Item1->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items3 = var_Item1->GetItems();
								EXRIBBONLib::IItemPtr var_Item2 = var_Items3->Add(L"R1",vtMissing,vtMissing);
									var_Item2->PutRadioGroup(100);
									var_Item2->PutRadio(VARIANT_TRUE);
									var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item2->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item4 = var_Items3->Add(L"R2",vtMissing,vtMissing);
									var_Item4->PutRadioGroup(100);
									var_Item4->PutRadio(VARIANT_TRUE);
									var_Item4->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item4->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item5 = var_Items3->Add(L"R3",vtMissing,vtMissing);
									var_Item5->PutRadioGroup(100);
									var_Item5->PutRadio(VARIANT_TRUE);
									var_Item5->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
									var_Item5->PutChecked(VARIANT_FALSE);
				var_Item1 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item1->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item1->PutCaption(L"<b><font ;14>B");
					EXRIBBONLib::IItemsPtr var_Items4 = var_Item1->GetItems();
						var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item6 = var_Items4->Add(L"",long(2),vtMissing);
							var_Item6->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopup));
							var_Item6->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items5 = var_Item6->GetItems();
								EXRIBBONLib::IItemPtr var_Item7 = var_Items5->Add(L"C1",vtMissing,vtMissing);
									var_Item7->PutCheck(VARIANT_TRUE);
									var_Item7->PutChecked(VARIANT_TRUE);
								EXRIBBONLib::IItemPtr var_Item8 = var_Items5->Add(L"C2",vtMissing,vtMissing);
									var_Item8->PutCheck(VARIANT_TRUE);
									var_Item8->PutChecked(VARIANT_FALSE);
								EXRIBBONLib::IItemPtr var_Item9 = var_Items5->Add(L"C3",vtMissing,vtMissing);
									var_Item9->PutCheck(VARIANT_TRUE);
									var_Item9->PutChecked(VARIANT_TRUE);
				var_Item->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
				var_Item2 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
					var_Item2->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
					var_Item2->PutCaption(L"");
					EXRIBBONLib::IItemsPtr var_Items6 = var_Item2->GetItems();
						var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
						EXRIBBONLib::IItemPtr var_Item10 = var_Items6->Add(L"",long(0),vtMissing);
							var_Item10->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
							var_Item10->PutItemHeight(76);
							var_Item10->PutEditBorder(EXRIBBONLib::exEditBorderNone);
							var_Item10->PutEditValue(long(25));
						EXRIBBONLib::IItemPtr var_Item11 = var_Items6->Add(L"",long(2),vtMissing);
							var_Item11->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
							var_Item11->PutCaption(L"");
							EXRIBBONLib::IItemsPtr var_Items7 = var_Item11->GetItems();
								EXRIBBONLib::IItemPtr var_Item12 = var_Items7->Add(L"",long(2),vtMissing);
									var_Item12->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
									EXRIBBONLib::IItemsPtr var_Items8 = var_Item12->GetItems();
										EXRIBBONLib::IItemPtr var_Item13 = var_Items8->Add(L"Button1",long(2),vtMissing);
											var_Item13->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items9 = var_Item13->GetItems();
												var_Items9->Add(L"Item 1",vtMissing,vtMissing);
												var_Items9->Add(L"Item 2",vtMissing,vtMissing);
												var_Items9->Add(L"Item 3",vtMissing,vtMissing);
										var_Items8->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
										EXRIBBONLib::IItemPtr var_Item14 = var_Items8->Add(L"Button2",long(2),vtMissing);
											var_Item14->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
											EXRIBBONLib::IItemsPtr var_Items10 = var_Item14->GetItems();
												var_Items10->Add(L"Item 4",vtMissing,vtMissing);
												var_Items10->Add(L"Item 5",vtMissing,vtMissing);
												var_Items10->Add(L"Item 6",vtMissing,vtMissing);
								EXRIBBONLib::IItemPtr var_Item15 = var_Items7->Add(L"Popup",long(2),vtMissing);
									var_Item15->PutAlignment(EXRIBBONLib::exCenter);
									EXRIBBONLib::IItemsPtr var_Items11 = var_Item15->GetItems();
										var_Items11->Add(L"Item 7",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
										var_Items11->Add(L"Item 8",vtMissing,vtMissing);
										EXRIBBONLib::IItemsPtr var_Items12 = var_Items11->Add(L"Item 9",long(2),vtMissing)->GetItems();
											var_Items12->Add(L"Item 10",vtMissing,vtMissing);
											var_Items12->Add(L"Item 11",vtMissing,vtMissing);
											var_Items12->Add(L"Item 12",vtMissing,vtMissing);
		var_Item4 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item4->PutToString(_bstr_t("[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
			var_Item4->PutID(300);
			var_Item4->PutCaption(L"Page2");
			var_Item4->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
			EXRIBBONLib::IItemPtr var_Item16 = var_Item4->GetItems()->GetItem(long(0));
				EXRIBBONLib::IItemsPtr var_Items13 = var_Item16->GetItems();
					EXRIBBONLib::IItemPtr var_Item17 = var_Items13->Add(L"S1",vtMissing,vtMissing);
						var_Item17->PutItemHeight(88);
						var_Item17->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item17->PutEditValue(long(25));
					EXRIBBONLib::IItemPtr var_Item18 = var_Items13->Add(L"S2",vtMissing,vtMissing);
						var_Item18->PutItemHeight(88);
						var_Item18->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item18->PutEditValue(long(50));
					EXRIBBONLib::IItemPtr var_Item19 = var_Items13->Add(L"S3",vtMissing,vtMissing);
						var_Item19->PutItemHeight(88);
						var_Item19->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
						var_Item19->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn");
	var_Appearance->Add(2,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn");
	var_Appearance->Add(3,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn");
	var_Appearance->Add(4,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn");
	var_Appearance->Add(5,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn");
	var_Appearance->Add(6,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn");
	var_Appearance->Add(7,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn");
	var_Appearance->Add(8,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn");
	var_Appearance->Add(9,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn");
	var_Appearance->Add(10,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn");
	var_Appearance->Add(11,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn");
	var_Appearance->Add(12,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn");
	var_Appearance->Add(13,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn");
	var_Appearance->Add(14,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn");
	var_Appearance->Add(15,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn");
	var_Appearance->Add(16,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_tab.ebn");
	var_Appearance->Add(17,"CP:16 0 0 0 1");
	var_Appearance->Add(18,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn");
	var_Appearance->Add(19,"C:/Program Files/Exontrol/ExRibbon/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn");
	var_Appearance->Add(20,"CP:19 0 0 0 1");
spRibbon1->PutLocalAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutForeColor(RGB(21,66,139));
spRibbon1->PutSelBackColor(0xe000000);
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,spRibbon1->GetAppearance());
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0xd000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSingle,0x5000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHStart,0x6000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHIntermediate,0x7000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHEnd,0x8000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVStart,0x9000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVIntermediate,0xa000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVEnd,0xb000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,0xc000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,0xf000000);
spRibbon1->Refresh();

186
Microsoft Office - Ribbon Like

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"[id=0][group=0x03](),[id=-99][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItem(long(0))->GetItems();
	var_Items->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
	EXRIBBONLib::IItemPtr var_Item3 = var_Items->Add(L"New Page",vtMissing,vtMissing);
		var_Item3->PutToString(_bstr_t("[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
		var_Item3->PutID(200);
		var_Item3->PutCaption(L"Page1");
		var_Item3->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		EXRIBBONLib::IItemPtr var_Item = var_Item3->GetItems()->GetItem(long(0));
			var_Item = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
				var_Item->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
				var_Item->PutCaption(L"<b><font ;14>A");
				EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
					var_Items1->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
					EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",long(2),vtMissing);
						var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
						var_Item1->PutCaption(L"");
						EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
							EXRIBBONLib::IItemPtr var_Item2 = var_Items2->Add(L"R1",vtMissing,vtMissing);
								var_Item2->PutRadioGroup(100);
								var_Item2->PutRadio(VARIANT_TRUE);
								var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
								var_Item2->PutChecked(VARIANT_FALSE);
							EXRIBBONLib::IItemPtr var_Item4 = var_Items2->Add(L"R2",vtMissing,vtMissing);
								var_Item4->PutRadioGroup(100);
								var_Item4->PutRadio(VARIANT_TRUE);
								var_Item4->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
								var_Item4->PutChecked(VARIANT_TRUE);
							EXRIBBONLib::IItemPtr var_Item5 = var_Items2->Add(L"R3",vtMissing,vtMissing);
								var_Item5->PutRadioGroup(100);
								var_Item5->PutRadio(VARIANT_TRUE);
								var_Item5->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
								var_Item5->PutChecked(VARIANT_FALSE);
			var_Item1 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
				var_Item1->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
				var_Item1->PutCaption(L"<b><font ;14>B");
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item1->GetItems();
					var_Items3->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
					EXRIBBONLib::IItemPtr var_Item6 = var_Items3->Add(L"",long(2),vtMissing);
						var_Item6->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopup));
						var_Item6->PutCaption(L"");
						EXRIBBONLib::IItemsPtr var_Items4 = var_Item6->GetItems();
							EXRIBBONLib::IItemPtr var_Item7 = var_Items4->Add(L"C1",vtMissing,vtMissing);
								var_Item7->PutCheck(VARIANT_TRUE);
								var_Item7->PutChecked(VARIANT_TRUE);
							EXRIBBONLib::IItemPtr var_Item8 = var_Items4->Add(L"C2",vtMissing,vtMissing);
								var_Item8->PutCheck(VARIANT_TRUE);
								var_Item8->PutChecked(VARIANT_FALSE);
							EXRIBBONLib::IItemPtr var_Item9 = var_Items4->Add(L"C3",vtMissing,vtMissing);
								var_Item9->PutCheck(VARIANT_TRUE);
								var_Item9->PutChecked(VARIANT_TRUE);
			var_Item->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
			var_Item2 = var_Item->GetItems()->Add(L"New Group",vtMissing,vtMissing);
				var_Item2->PutToString(L"[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()");
				var_Item2->PutCaption(L"");
				EXRIBBONLib::IItemsPtr var_Items5 = var_Item2->GetItems();
					var_Items5->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
					EXRIBBONLib::IItemPtr var_Item10 = var_Items5->Add(L"",long(0),vtMissing);
						var_Item10->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
						var_Item10->PutItemHeight(76);
						var_Item10->PutEditBorder(EXRIBBONLib::exEditBorderNone);
						var_Item10->PutEditValue(long(25));
					EXRIBBONLib::IItemPtr var_Item11 = var_Items5->Add(L"",long(2),vtMissing);
						var_Item11->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
						var_Item11->PutCaption(L"");
						EXRIBBONLib::IItemsPtr var_Items6 = var_Item11->GetItems();
							EXRIBBONLib::IItemPtr var_Item12 = var_Items6->Add(L"",long(2),vtMissing);
								var_Item12->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
								EXRIBBONLib::IItemsPtr var_Items7 = var_Item12->GetItems();
									EXRIBBONLib::IItemPtr var_Item13 = var_Items7->Add(L"Button1",long(2),vtMissing);
										var_Item13->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
										EXRIBBONLib::IItemsPtr var_Items8 = var_Item13->GetItems();
											var_Items8->Add(L"Item 1",vtMissing,vtMissing);
											var_Items8->Add(L"Item 2",vtMissing,vtMissing);
											var_Items8->Add(L"Item 3",vtMissing,vtMissing);
									var_Items7->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
									EXRIBBONLib::IItemPtr var_Item14 = var_Items7->Add(L"Button2",long(2),vtMissing);
										var_Item14->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
										EXRIBBONLib::IItemsPtr var_Items9 = var_Item14->GetItems();
											var_Items9->Add(L"Item 4",vtMissing,vtMissing);
											var_Items9->Add(L"Item 5",vtMissing,vtMissing);
											var_Items9->Add(L"Item 6",vtMissing,vtMissing);
							EXRIBBONLib::IItemPtr var_Item15 = var_Items6->Add(L"Popup",long(2),vtMissing);
								var_Item15->PutAlignment(EXRIBBONLib::exCenter);
								EXRIBBONLib::IItemsPtr var_Items10 = var_Item15->GetItems();
									var_Items10->Add(L"Item 7",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
									var_Items10->Add(L"Item 8",vtMissing,vtMissing);
									EXRIBBONLib::IItemsPtr var_Items11 = var_Items10->Add(L"Item 9",long(2),vtMissing)->GetItems();
										var_Items11->Add(L"Item 10",vtMissing,vtMissing);
										var_Items11->Add(L"Item 11",vtMissing,vtMissing);
										var_Items11->Add(L"Item 12",vtMissing,vtMissing);
	var_Item4 = var_Items->Add(L"New Page",vtMissing,vtMissing);
		var_Item4->PutToString(_bstr_t("[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][p") +
"ad=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03]([id=0][group=0x03]))");
		var_Item4->PutID(300);
		var_Item4->PutCaption(L"Page2");
		var_Item4->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		EXRIBBONLib::IItemPtr var_Item16 = var_Item4->GetItems()->GetItem(long(0));
			EXRIBBONLib::IItemsPtr var_Items12 = var_Item16->GetItems();
				EXRIBBONLib::IItemPtr var_Item17 = var_Items12->Add(L"S1",vtMissing,vtMissing);
					var_Item17->PutItemHeight(88);
					var_Item17->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
					var_Item17->PutEditValue(long(25));
				EXRIBBONLib::IItemPtr var_Item18 = var_Items12->Add(L"S2",vtMissing,vtMissing);
					var_Item18->PutItemHeight(88);
					var_Item18->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
					var_Item18->PutEditValue(long(50));
				EXRIBBONLib::IItemPtr var_Item19 = var_Items12->Add(L"S3",vtMissing,vtMissing);
					var_Item19->PutItemHeight(88);
					var_Item19->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditProgress));
					var_Item19->PutEditValue(long(75));
	var_Items->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_background.ebn");
	var_Appearance->Add(2,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupt.ebn");
	var_Appearance->Add(3,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupo.ebn");
	var_Appearance->Add(4,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_grouphot.ebn");
	var_Appearance->Add(5,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameh.ebn");
	var_Appearance->Add(6,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehs.ebn");
	var_Appearance->Add(7,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehi.ebn");
	var_Appearance->Add(8,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehe.ebn");
	var_Appearance->Add(9,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevs.ebn");
	var_Appearance->Add(10,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevi.ebn");
	var_Appearance->Add(11,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameve.ebn");
	var_Appearance->Add(12,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_select.ebn");
	var_Appearance->Add(13,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_bordert.ebn");
	var_Appearance->Add(14,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttond.ebn");
	var_Appearance->Add(15,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttonu.ebn");
	var_Appearance->Add(16,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tab.ebn");
	var_Appearance->Add(17,"CP:16 0 0 0 1");
	var_Appearance->Add(18,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabhot.ebn");
	var_Appearance->Add(19,"C:\\Program Files\\Exontrol\\ExRibbon\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabselhot.ebn");
	var_Appearance->Add(20,"CP:19 0 0 0 1");
spRibbon1->PutForeColor(RGB(21,66,139));
spRibbon1->PutSelBackColor(0xe000000);
spRibbon1->PutLocalAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,spRibbon1->GetAppearance());
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0xd000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSingle,0x5000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHStart,0x6000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHIntermediate,0x7000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHEnd,0x8000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVStart,0x9000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVIntermediate,0xa000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVEnd,0xb000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,0xc000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,0xf000000);
spRibbon1->Refresh();

185
How I can assign buttons to a tab

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(240,240,240));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(_bstr_t("[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=-99][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-") +
"100]))");
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(-10))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item->PutToString(_bstr_t("[typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0][popupalign=0x01]([id=0][group=0x03]([]))");
			var_Item->PutCaption(L"Page<off -5><font ;5><b>1</b></font></off>");
			var_Item->PutID(-1000);
			EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems()->GetItem(long(0))->GetItems();
				var_Items2->Add(L"Button 1",vtMissing,vtMissing)->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsButtonAutoSize | EXRIBBONLib::exShowAsButton));
				var_Items2->Add(L"Button 2",vtMissing,vtMissing)->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsButtonAutoSize | EXRIBBONLib::exShowAsButton));
				var_Items2->Add(L"Button 3",vtMissing,vtMissing)->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsButtonAutoSize | EXRIBBONLib::exShowAsButton));
		EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item1->PutToString(_bstr_t("[typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0][popupalign=0x01]([id=0][group=0x03]([]))");
			var_Item1->PutCaption(L"Page<off -5><font ;5><b>2</b></font></off>");
			var_Item1->PutID(-1001);
			EXRIBBONLib::IItemsPtr var_Items3 = var_Item1->GetItems()->GetItem(long(0))->GetItems();
				var_Items3->Add(L"Button 3",vtMissing,vtMissing)->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsButtonAutoSize | EXRIBBONLib::exShowAsButton));
				var_Items3->Add(L"Button 4",vtMissing,vtMissing)->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsButtonAutoSize | EXRIBBONLib::exShowAsButton));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->Refresh();

184
How can I hide an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutVisible(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
spRibbon1->Refresh();

183
How do I quickly load items into the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Check 1[chk],Check 2[chk=1]");

182
Are there any functions to get the size/width/height of the control so all items fit the control's client area

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
spRibbon1->Refresh();
OutputDebugStringW( _bstr_t(spRibbon1->GetRequiredWidth()) );
OutputDebugStringW( _bstr_t(spRibbon1->GetRequiredHeight()) );

181
How do I get the item giving its caption

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutID(1000);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutID(1001);
spRibbon1->GetItem("Item 1")->PutBold(VARIANT_TRUE);
spRibbon1->Refresh();

180
How do I get the item giving its identifier

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutID(1000);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutID(1001);
spRibbon1->GetItem(long(1000))->PutBold(VARIANT_TRUE);
spRibbon1->Refresh();

179
Can I change the cursor where it hovers the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutCursor("exCross");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutCursor("exNoDrop");
spRibbon1->Refresh();

178
I am using radio-buttons, the question is it possible to uncheck the radio-buttons, so no button is pressed in the group

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutAllowToggleRadio(VARIANT_TRUE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Radio 1",vtMissing,long(1000));
		var_Item->PutRadio(VARIANT_TRUE);
		var_Item->PutRadioGroup(100);
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Radio 2",vtMissing,long(1001));
		var_Item1->PutRadio(VARIANT_TRUE);
		var_Item1->PutRadioGroup(100);
	EXRIBBONLib::IItemPtr var_Item2 = var_Items->Add(L"Radio 2",vtMissing,long(1003));
		var_Item2->PutRadio(VARIANT_TRUE);
		var_Item2->PutRadioGroup(100);
spRibbon1->Refresh();

177
Is it possible to display the item's identifiers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutDebug(VARIANT_TRUE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutID(10001);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutID(10002);
spRibbon1->Refresh();

176
How do I disable showing the tooltip for all control (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutAllowToolTip(VARIANT_FALSE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
spRibbon1->Refresh();

175
How can I lock the control, so no events occur, but no shown in gray as Enabled do

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"SelectItem should not be fired while locked" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutLocked(VARIANT_TRUE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Disabled",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

174
How can I disable the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutEnabled(VARIANT_FALSE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Disabled",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

173
How can I specify a different border/visual appearance for drop down portion of the popup menu (ebn)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->PutPopupAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup 1",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	EXRIBBONLib::IItemsPtr var_Items2 = var_Items->Add(L"Popup 2",long(2),vtMissing)->GetItems();
		var_Items2->Add(L"Item 4",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items2->Add(L"Item 5",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items2->Add(L"Item 6",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

172
How can I specify a different border for drop down portion of the popup menu

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup 1",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	EXRIBBONLib::IItemsPtr var_Items2 = var_Items->Add(L"Popup 2",long(2),vtMissing)->GetItems();
		var_Items2->Add(L"Item 4",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items2->Add(L"Item 5",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items2->Add(L"Item 6",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

171
How can I specify a different border/visual appearance for drop down portion of the select buttons/combobox (ebn)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->PutLocalAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_Item1->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
					var_Items2->Add(L"Item 1",vtMissing,vtMissing);
					var_Items2->Add(L"Item 2",vtMissing,vtMissing);
					var_Items2->Add(L"Item 3",vtMissing,vtMissing);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_Item2->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
					var_Items3->Add(L"Item 4",vtMissing,vtMissing);
					var_Items3->Add(L"Item 5",vtMissing,vtMissing);
					var_Items3->Add(L"Item 6",vtMissing,vtMissing);
spRibbon1->Refresh();

170
How can I specify a different border for drop down portion of the select buttons/combobox

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutLocalAppearance(EXRIBBONLib::ShadowBorder);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_Item1->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
					var_Items2->Add(L"Item 1",vtMissing,vtMissing);
					var_Items2->Add(L"Item 2",vtMissing,vtMissing);
					var_Items2->Add(L"Item 3",vtMissing,vtMissing);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_Item2->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
					var_Items3->Add(L"Item 4",vtMissing,vtMissing);
					var_Items3->Add(L"Item 5",vtMissing,vtMissing);
					var_Items3->Add(L"Item 6",vtMissing,vtMissing);
spRibbon1->Refresh();

169
How can I change the visual appearance for the entire control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->PutAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemCheckHighlight);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Radio 1",vtMissing,vtMissing);
		var_Item->PutRadio(VARIANT_TRUE);
		var_Item->PutChecked(VARIANT_TRUE);
	var_Items->Add(L"Radio 2",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
	var_Items->Add(L"Radio 3",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
spRibbon1->Refresh();

168
How can I show a border arround the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutAppearance(EXRIBBONLib::FlatBorder);
spRibbon1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemCheckHighlight);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_Item->PutChecked(VARIANT_TRUE);
		var_Item->PutCheck(VARIANT_TRUE);
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Check 2",vtMissing,vtMissing);
		var_Item1->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

167
Is it possible to change the item's background color when check/uncheck the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemCheckHighlight);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_Item->PutChecked(VARIANT_TRUE);
		var_Item->PutCheck(VARIANT_TRUE);
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Check 2",vtMissing,vtMissing);
		var_Item1->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

166
How can I change the colors for hot/hover items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotBackColor,RGB(0,0,1));
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotForeColor,RGB(255,255,255));
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotBackColor,RGB(128,128,128));
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelHotForeColor,RGB(255,255,255));
spRibbon1->PutSelBackColor(RGB(128,128,128));
spRibbon1->PutSelForeColor(RGB(255,255,255));
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(128,128,128));
spRibbon1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemCheckHighlight);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"[group=3](Item 1,Item 2)");
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_Item->PutChecked(VARIANT_TRUE);
		var_Item->PutCheck(VARIANT_TRUE);
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Check 2",vtMissing,vtMissing);
		var_Item1->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

165
How do I change the visual appearance of the groups (vertical)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
	var_Appearance->Add(3,"c:\\exontrol\\images\\hot.ebn");
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSingle,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVStart,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVIntermediate,0x2000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameVEnd,0x3000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSolid,RGB(255,0,0));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Vertical",long(2),vtMissing);
				var_Item1->PutAlignment(EXRIBBONLib::exCenter);
				var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
					var_Items2->Add(L"Item 1",vtMissing,vtMissing);
					var_Items2->Add(L"Item 2",vtMissing,vtMissing);
					var_Items2->Add(L"Item 3",vtMissing,vtMissing);
					var_Items2->Add(L"Item 4",vtMissing,vtMissing);
					var_Items2->Add(L"Item 5",vtMissing,vtMissing);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutCaptionWidth(12);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Vertical",long(2),vtMissing);
				var_Item2->PutAlignment(EXRIBBONLib::exCenter);
				var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopupFrameThickBox | EXRIBBONLib::exGroupPopupFrameSolidBox | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
					var_Items3->Add(L"Item 1",vtMissing,vtMissing);
					var_Items3->Add(L"Item 2",vtMissing,vtMissing);
					var_Items3->Add(L"Item 3",vtMissing,vtMissing);
					var_Items3->Add(L"Item 4",vtMissing,vtMissing);
					var_Items3->Add(L"Item 5",vtMissing,vtMissing);
spRibbon1->Refresh();

164
How do I change the visual appearance of the groups (horizontal)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
	var_Appearance->Add(3,"c:\\exontrol\\images\\hot.ebn");
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSingle,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHStart,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHIntermediate,0x2000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameHEnd,0x3000000);
spRibbon1->PutBackground(EXRIBBONLib::exGroupPopupFrameSolid,RGB(255,0,0));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
			var_Items1->Add(L"Item 4",vtMissing,vtMissing);
			var_Items1->Add(L"Item 5",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Horizontal Group[group=193](Item 1,Item 2,Item 3,Item 4,Item 5)");
spRibbon1->Refresh();

163
How can I change the visual appearance of the separator item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->PutBackground(EXRIBBONLib::exMenuSeparatorItem,0x1000000);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCaptionWidth(128);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCaptionWidth(128);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"<font ;5>separator[sep]");
spRibbon1->Refresh();

162
How can I change the visual appearance of the drop down of the control (normal.2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spRibbon1->PutPopupFlatImageWidth(0);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->PutPopupAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->Refresh();

161
How can I change the visual appearance of the drop down of the control (normal.1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->PutPopupAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->Refresh();

160
How can I change the visual appearance of the drop down of the control (flat)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spRibbon1->PutPopupFlatBackColor(0x2000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuFlatLineColor,spRibbon1->GetPopupFlatBackColor());
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->PutPopupAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->Refresh();

159
How can I change the visual appearance of the flat portion of the drop down of the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->PutPopupFlatBackColor(0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuFlatLineColor,spRibbon1->GetPopupFlatBackColor());
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
		var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

158
How can I change the visual appearance of the radio-buttons to be displayed in the ribbon control (ebn)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spRibbon1->PutBackground(EXRIBBONLib::exRadioButtonState0,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exRadioButtonState1,0x2000000);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 1",vtMissing,long(1000));
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Radio 2",vtMissing,long(1001));
				var_Item2->PutRadio(VARIANT_TRUE);
				var_Item2->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Radio 2",vtMissing,long(1003));
				var_Item3->PutRadio(VARIANT_TRUE);
				var_Item3->PutRadioGroup(100);
			var_Items1->GetItem(long(1000))->PutChecked(VARIANT_TRUE);
spRibbon1->Refresh();

157
How can I change the visual appearance of the check-boxes to be displayed in the ribbon control (ebn)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState0,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exCheckBoxState1,0x2000000);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Check 1",vtMissing,vtMissing);
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
			var_Items1->Add(L"Check 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

156
How can I change the visual appearance of the tooltips to be displayed in the ribbon control (ebn)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spRibbon1->PutToolTipDelay(1);
spRibbon1->PutBackground(EXRIBBONLib::exToolTipAppearance,0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::exToolTipForeColor,RGB(255,0,0));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
spRibbon1->Refresh();

155
Is it possible to change the visual appearance of the buttons to be displayed in the ribbon control (ebn)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IAppearancePtr var_Appearance = spRibbon1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x2),0x1000000);
spRibbon1->PutBackground(EXRIBBONLib::BackgroundPartEnum(0x3),0x2000000);
spRibbon1->PutBackground(EXRIBBONLib::exMenuSeparatorSelectButton,RGB(255,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exMenuSeparatorSelectButtonBottom,RGB(0,0,255));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	var_Items->Add(L"Button",vtMissing,vtMissing)->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsButtonAutoSize | EXRIBBONLib::exShowAsButton));
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",vtMissing,vtMissing);
		var_Item->PutEnabled(VARIANT_FALSE);
		var_Item->PutItemHeight(4);
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item1->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item1->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	EXRIBBONLib::IItemPtr var_Item2 = var_Items->Add(L"",vtMissing,vtMissing);
		var_Item2->PutEnabled(VARIANT_FALSE);
		var_Item2->PutItemHeight(4);
	EXRIBBONLib::IItemPtr var_Item3 = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item3->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButton | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items2 = var_Item3->GetItems();
			var_Items2->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
			var_Items2->Add(L"Item 1",vtMissing,vtMissing);
			var_Items2->Add(L"Item 2",vtMissing,vtMissing);
			var_Items2->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

154
I've seen that the width of the tooltip is variable. Can I make it larger

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToolTipWidth(328);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
spRibbon1->Refresh();

153
How do I disable showing the tooltip for all control (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToolTipDelay(0);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
spRibbon1->Refresh();

152
How do I let the tooltip being displayed longer

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToolTipPopDelay(10000);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
spRibbon1->Refresh();

151
How do I show the tooltip quicker

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToolTipDelay(1);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutTooltip(L"this is a bit of text to be shown when cursor hovers it");
spRibbon1->Refresh();

150
How can I get the version of the control I am running

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
OutputDebugStringW( spRibbon1->GetVersion() );

149
How can I align the picture on the control's background

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPicture(IPictureDispPtr(((ObjectPtr)(spRibbon1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\card.png`)")))));
spRibbon1->PutPictureDisplay(EXRIBBONLib::UpperRight);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spRibbon1->Refresh();

148
Is it possible to place a picture on the control's background

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPicture(IPictureDispPtr(((ObjectPtr)(spRibbon1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\card.png`)")))));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spRibbon1->Refresh();

147
How can I display the item using a different font/size

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"",vtMissing,vtMissing)->PutCaption(L"<font ;14>This is a bit of text");
	var_Items->Add(L"<font ;6>This is a bit of text",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutCaption(L"<font Times New Roman;22>This is a bit of text</font>. Default");
spRibbon1->Refresh();

146
How can I use the Event event, available for /COM version

// Event event - Notifies the application once the control fires an event.
void OnEventRibbon1(long   EventID)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Event" );
	OutputDebugStringW( _bstr_t(spRibbon1->GetEventParam(-2)) );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Check",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
		var_Item->PutEditWidth(128);
		var_Item->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item->PutEditValue(long(25));
spRibbon1->Refresh();

145
Is it possible to get notified once the user edits the field, or change the slider value

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"EditChange event on Itm object" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Item",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
		var_Item->PutEditWidth(128);
		var_Item->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item->PutEditValue(long(25));
spRibbon1->Refresh();

144
How do I get notified once I uncheck an item

// UncheckItem event - Occurs when the user unchecks the item.
void OnUncheckItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"UncheckItem event on Itm object" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

143
How do I get notified once I check an item

// CheckItem event - Occurs when the user checks the item.
void OnCheckItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"CheckItem event on Itm object" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

142
How do I get notified once I click/select an item

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"SelectItem event on Itm object" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spRibbon1->Refresh();

141
Does your control support padding for items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"2,12,2,2");
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutBackgroundExt(L"root[pattern=0x000,frame=RGB(128,128,128)](top[2],top[10,text=`<font ;6><fgcolor 808080> group </font></fgcolor>`,align=0x11])");
spRibbon1->Refresh();

140
How can I display the drop down popup to a different position ( method 2 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Popup",long(2),long(100));
		var_Item->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		var_Item->PutShowPopupArrow(VARIANT_FALSE);
		var_Item->PutShowPopupOffset(L"-12,-48");
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::RaisedBorder);
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

139
How can I display the drop down popup to a different position ( method 1 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Popup 1",long(2),long(100));
				var_Item1->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
				var_Item1->PutShowPopupArrow(VARIANT_FALSE);
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
					var_Items2->PutPopupAppearance(EXRIBBONLib::RaisedBorder);
					var_Items2->Add(L"Item 1",vtMissing,vtMissing);
					var_Items2->Add(L"Item 2",vtMissing,vtMissing);
					var_Items2->Add(L"Item 3",vtMissing,vtMissing);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Popup 2",long(2),long(200));
				var_Item2->PutShowPopupAt(100);
				var_Item2->PutShowPopupArrow(VARIANT_FALSE);
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
					var_Items3->PutPopupAppearance(EXRIBBONLib::RaisedBorder);
					var_Items3->Add(L"Item 4",vtMissing,vtMissing);
					var_Items3->Add(L"Item 5",vtMissing,vtMissing);
					var_Items3->Add(L"Item 6",vtMissing,vtMissing);
spRibbon1->Refresh();

138
Is it possible to show the popup bellow to the item, rather than on the right side

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Popup",long(2),vtMissing);
		var_Item->PutShowPopupAlign(EXRIBBONLib::exShowPopupAlignDown);
		var_Item->PutShowPopupArrow(VARIANT_FALSE);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::FlatBorder);
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Popup[arrow=0][popupalign=1][popupapp=1](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

137
How can I change the visual appearance for items, when cursor hovers it (hot,EBN)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutHotBackColor(0x1000000);
			var_Items1->PutPadding(L"4,8,4,8");
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"[group=0x03][itemspad=4,8,4,8][itemsbghot=0x1000000](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

136
How can I change the background color for items, when cursor hovers it (hot)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutHotBackColor(RGB(255,0,0));
			var_Items1->PutPadding(L"0,8,0,8");
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"[group=0x03][itemspad=0,8,0,8][itemsbghot=RGB(255,0,0)](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

135
How can I change the visual appearance for items (EBN)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutBackColor(0x1000000);
			var_Items1->PutPadding(L"4,8,4,8");
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"[group=0x03][itemspad=4,8,4,8][itemsbg=0x1000000](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

134
How can I change the background color for items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutBackColor(RGB(255,0,0));
			var_Items1->PutPadding(L"0,8,0,8");
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"[group=0x03][itemspad=0,8,0,8][itemsbg=RGB(255,0,0)](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

133
Is it possible to hide the popup's arrow

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Popup",long(2),vtMissing);
		var_Item->PutShowPopupArrow(VARIANT_FALSE);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Popup[arrow=0][popupapp=6](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

132
How do I hide the left gray portion to be shown on the drop down menu/popup (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupFlatImageWidth(0);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
		var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

131
How do I hide the left gray portion to be shown on the drop down menu/popup (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
		var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

130
How can I arrange the drop down item from left to right, rather than top to bottom

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Clicked" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupFlatAppearance(VARIANT_FALSE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",long(2),vtMissing);
				var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
					var_Items2->Add(L"Item 1",vtMissing,vtMissing);
					var_Items2->Add(L"Item 2",vtMissing,vtMissing);
					var_Items2->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Button[button=0x0113][popupapp=6]([group=0x03](Item 1,Item 2,Item 3))");
spRibbon1->Refresh();

129
How can I add a drop down button / combobox (method 2)

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Clicked" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButtonBottom | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Button[button=275][popupapp=6](Item 1[id=20],Item 2[id=30],Item 3[id=40])");
spRibbon1->Refresh();

128
How can I add a drop down button / combobox (method 1)

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Clicked" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButton | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Button[button=0x13][popupapp=6](Item 1[id=20],Item 2[id=30],Item 3[id=40])");
spRibbon1->Refresh();

127
I am using exShowAsSelectButton/exShowAsSelectButtonBottom but none of them works. What could be wrong

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Clicked" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsSelectButton | EXRIBBONLib::exShowAsButtonAutoSize));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

126
How can I add a button (push button)

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Clicked" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Button",vtMissing,vtMissing)->PutShowAsButton(EXRIBBONLib::ShowAsButtonEnum(EXRIBBONLib::exShowAsButtonAutoSize | EXRIBBONLib::exShowAsButton));
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Button[button=0x03]");
spRibbon1->Refresh();

125
How can I display grouping items with no frame arround

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupFrameThickBox | EXRIBBONLib::exGroupPopupFrameSolidBox | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"A",vtMissing,vtMissing)->PutAlignment(EXRIBBONLib::exCenter);
			var_Items1->Add(L"BC",vtMissing,vtMissing)->PutAlignment(EXRIBBONLib::exCenter);
			var_Items1->Add(L"D",vtMissing,vtMissing)->PutAlignment(EXRIBBONLib::exCenter);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Horizontal Group[group=243](A[id=20][align=1],BC[id=30][align=1],D[id=40][align=1])");
spRibbon1->Refresh();

124
How can I display grouping items of the same size/width/height

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupFrameThickBox | EXRIBBONLib::exGroupPopupFrameSolidBox | EXRIBBONLib::exGroupPopupEqualHeight | EXRIBBONLib::exGroupPopupEqualWidth | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"A",vtMissing,vtMissing)->PutAlignment(EXRIBBONLib::exCenter);
			var_Items1->Add(L"BC",vtMissing,vtMissing)->PutAlignment(EXRIBBONLib::exCenter);
			var_Items1->Add(L"D",vtMissing,vtMissing)->PutAlignment(EXRIBBONLib::exCenter);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Horizontal Group[group=0xF1](A[id=20][align=1],BC[id=30][align=1],D[id=40][align=1])");
spRibbon1->Refresh();

123
Is it possible to display a ticker frame arround grouping items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupFrameThickBox | EXRIBBONLib::exGroupPopupFrameSolidBox | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Horizontal Group[group=193](Item 1[id=20],Item 2[id=30],Item 3[id=40])");
spRibbon1->Refresh();

122
How do I display items horizontally arranged

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Horizontal Group[group=0x01](Item 1[id=20],Item 2[id=30],Item 3[id=40])");
spRibbon1->Refresh();

121
Is it possible to expand an item when it is clicked (tree,group,vertical)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		var_Item->PutCheck(VARIANT_TRUE);
		var_Item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPadding(L"22,0,0,0");
			var_Items1->Add(L"Radio 1",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
			var_Items1->Add(L"Radio 2",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 3",vtMissing,vtMissing);
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
		var_Item->PutChecked(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(_bstr_t("Expand[typ=1][chk=1][spchk=-1][group=0x0103][itemspad=22,0,0,0](Radio 1[id=20][typ=2],Radio 2[id=30][typ=2],Radio 3[id=40][typ=") +
"2][chk=1])");
spRibbon1->Refresh();

120
Is it possible to expand an item when it is clicked (tree,group,vertical)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		var_Item->PutCheck(VARIANT_TRUE);
		var_Item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPadding(L"22,0,0,0");
			var_Items1->Add(L"Radio 1",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
			var_Items1->Add(L"Radio 2",vtMissing,vtMissing)->PutRadio(VARIANT_TRUE);
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 3",vtMissing,vtMissing);
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
		var_Item->PutChecked(VARIANT_TRUE);
spRibbon1->Refresh();

119
Is it possible to expand an item when it is clicked (group)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		var_Item->PutItemHeight(24);
		var_Item->PutCheck(VARIANT_TRUE);
		var_Item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

118
Is it possible to extend an item when it is clicked

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_Item->PutCheck(VARIANT_TRUE);
		var_Item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
			var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

117
Does your control implement padding for item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutBackColor(RGB(250,250,250));
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutPadding(L"4,4,4,4");
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[pad=4,4,4,4]");
spRibbon1->Refresh();

116
How can I add an empty item for a horizontal group

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",long(2),vtMissing);
				var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupCenter | EXRIBBONLib::exGroupPopup));
				var_Item1->PutItemHeight(12);
				EXRIBBONLib::IItemPtr var_Item2 = var_Item1->GetItems()->Add(L"",vtMissing,vtMissing);
					var_Item2->PutEnabled(VARIANT_FALSE);
					var_Item2->PutItemHeight(8);
					var_Item2->PutCaptionWidth(8);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
spRibbon1->Refresh();

115
How can I add an empty/separator item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",vtMissing,vtMissing);
		var_Item->PutEnabled(VARIANT_FALSE);
		var_Item->PutItemHeight(2);
		var_Item->PutCaptionWidth(8);
		var_Item->PutBackColor(RGB(240,240,240));
	var_Items->Add(L"Item",vtMissing,vtMissing);
spRibbon1->Refresh();

114
How can I add an empty/frame item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupCenter | EXRIBBONLib::exGroupPopup));
		var_Item->PutItemHeight(12);
		EXRIBBONLib::IItemPtr var_Item1 = var_Item->GetItems()->Add(L"",vtMissing,vtMissing);
			var_Item1->PutEnabled(VARIANT_FALSE);
			var_Item1->PutItemHeight(8);
			var_Item1->PutCaptionWidth(8);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
spRibbon1->Refresh();

113
How can I specify the height of the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutBackColor(RGB(250,250,250));
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutItemHeight(64);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[height=64]");
spRibbon1->Refresh();

112
How can I specify the width of the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutBackColor(RGB(250,250,250));
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCaptionWidth(128);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[captionwidth=128]");
spRibbon1->Refresh();

111
How do I align the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutBackColor(RGB(250,250,250));
	var_Items->Add(L"Item",vtMissing,vtMissing);
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Item",vtMissing,vtMissing);
		var_Item->PutAlignment(EXRIBBONLib::exCenter);
		var_Item->PutCaptionWidth(128);
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Item",vtMissing,vtMissing);
		var_Item1->PutAlignment(EXRIBBONLib::exRight);
		var_Item1->PutCaptionWidth(128);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[align=1]");
spRibbon1->Refresh();

110
How can I underline the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutUnderline(VARIANT_TRUE);
	var_Items->Add(L"<u>Item</u>",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[und]");
spRibbon1->Refresh();

109
How can I show the item as strikeout

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutStrikeout(VARIANT_TRUE);
	var_Items->Add(L"<s>Item</s>",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[stk]");
spRibbon1->Refresh();

108
How can I show the item in italics

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutItalic(VARIANT_TRUE);
	var_Items->Add(L"<i>Item</i>",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[itl]");
spRibbon1->Refresh();

107
How can I show the item in bold

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBold(VARIANT_TRUE);
	var_Items->Add(L"<b>Item</b>",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[bld]");
spRibbon1->Refresh();

106
How can I show the item as disabled but still be able to select or use it

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutShowAsDisabled(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[showdis=1]");
spRibbon1->Refresh();

105
How can I enable or disable an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[dis]");
spRibbon1->Refresh();

104
How can I add a separator item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCaptionWidth(128);
	var_Items->Add(L"<font ;6>separator",long(1),vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCaptionWidth(128);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"<font ;6>separator[sep]");
spRibbon1->Refresh();

103
How can I change the item's foreground color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutForeColor(RGB(255,0,0));
	var_Items->Add(L"<fgcolor FF0000>Item",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[fg=RGB(255,0,0)]");
spRibbon1->Refresh();

102
How can I change the item's background/backcolor, when the item is selected/checked (radio-buttons)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 1",vtMissing,vtMissing);
				var_Item1->PutHotBackColor(RGB(255,255,255));
				var_Item1->PutSelBackColor(RGB(255,0,0));
				var_Item1->PutSelHotBackColor(RGB(255,0,0));
				var_Item1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutRadioGroup(100);
				var_Item1->PutChecked(VARIANT_TRUE);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Radio 2",vtMissing,vtMissing);
				var_Item2->PutHotBackColor(RGB(255,255,255));
				var_Item2->PutSelBackColor(RGB(255,0,0));
				var_Item2->PutSelHotBackColor(RGB(255,0,0));
				var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item2->PutRadio(VARIANT_TRUE);
				var_Item2->PutRadioGroup(100);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutToString(L"Radio 3[typ=2][show=1][grp=100][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]");
spRibbon1->Refresh();

101
How can I change the item's background/backcolor, when the item is selected/checked (check-box)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_Item->PutHotBackColor(RGB(255,255,255));
		var_Item->PutSelBackColor(RGB(255,0,0));
		var_Item->PutSelHotBackColor(RGB(255,0,0));
		var_Item->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
		var_Item->PutChecked(VARIANT_TRUE);
		var_Item->PutCheck(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Check 2[typ=1][chk=0][show=1][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]");
spRibbon1->Refresh();