185
Event event
// Event event - Notifies the application once the control fires an event.
void OnEventExContextMenu1(long   EventID)
{
	OutputDebugStringW( _bstr_t(spExContextMenu1->GetEventParam(-2)) );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spExContextMenu1->GetItems()->PutToString(_bstr_t("Popup 1(Check 1[typ=1],Check 2[typ=1],Check 3[typ=1],Item 1),Expand[img=2][typ=1][chk=1][spchk=-1][group=0x0103](Check 4[typ=1]") +
",Check 5[typ=1],Check 6[typ=1][chk=1],Item 2)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

184
UncheckItem event
// UncheckItem event - Occurs when the user unchecks the item.
void OnUncheckItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spExContextMenu1->GetItems()->PutToString(_bstr_t("Popup 1(Check 1[typ=1],Check 2[typ=1],Check 3[typ=1],Item 1),Expand[img=2][typ=1][chk=1][spchk=-1][group=0x0103](Check 4[typ=1]") +
",Check 5[typ=1],Check 6[typ=1][chk=1],Item 2)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

183
CheckItem event
// CheckItem event - Occurs when the user checks the item.
void OnCheckItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spExContextMenu1->GetItems()->PutToString(_bstr_t("Popup 1(Check 1[typ=1],Check 2[typ=1],Check 3[typ=1],Item 1),Expand[img=2][typ=1][chk=1][spchk=-1][group=0x0103](Check 4[typ=1]") +
",Check 5[typ=1],Check 6[typ=1][chk=1],Item 2)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

182
SelectItem event
// SelectItem event - Occurs when the user selects the item.
void OnSelectItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spExContextMenu1->GetItems()->PutToString(_bstr_t("Popup 1(Check 1[typ=1],Check 2[typ=1],Check 3[typ=1],Item 1),Expand[img=2][typ=1][chk=1][spchk=-1][group=0x0103](Check 4[typ=1]") +
",Check 5[typ=1],Check 6[typ=1][chk=1],Item 2)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutImageSize(32);
spExContextMenu1->GetFont()->PutSize(_variant_t(long(16)));
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") +
"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");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->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") +
"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");
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spExContextMenu1->PutSelBackColor(0x4000000);
spExContextMenu1->PutSelForeColor(RGB(0,0,1));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exCheckBoxState0,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exCheckBoxState1,0x2000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exCheckBoxState2,0x3000000);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_item->PutImage(0);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		var_item->PutCheck(VARIANT_TRUE);
		var_item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->PutPadding(L"22,0,0,0");
			var_Items1->Add(L"Check 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
			var_Items1->Add(L"Check 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Check 3",vtMissing,vtMissing);
				var_item1->PutCheck(VARIANT_TRUE);
				var_item1->PutChecked(VARIANT_TRUE);
		var_item->PutChecked(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(_bstr_t("Expand[typ=1][img=2][chk=1][spchk=-1][group=0x0103][itemspad=22,0,0,0](Check 1[id=20][typ=1],Check 2[id=30][typ=1],Check 3[id=4") +
"0][typ=1][chk=1])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutImageSize(16);
spExContextMenu1->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==");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spExContextMenu1->PutSelBackColor(0x4000000);
spExContextMenu1->PutSelForeColor(RGB(0,0,1));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_item->PutImage(0);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		var_item->PutCheck(VARIANT_TRUE);
		var_item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->PutPadding(L"22,0,0,0");
			var_Items1->Add(L"Check 1",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
			var_Items1->Add(L"Check 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Check 3",vtMissing,vtMissing);
				var_item1->PutCheck(VARIANT_TRUE);
				var_item1->PutChecked(VARIANT_TRUE);
		var_item->PutChecked(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(_bstr_t("Expand[typ=1][img=2][chk=1][spchk=-1][group=0x0103][itemspad=22,0,0,0](Check 1[id=20][typ=1],Check 2[id=30][typ=1],Check 3[id=4") +
"0][typ=1][chk=1])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

179
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 OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Mask[edit=98][editwidth=-128][edittype=2][mask=00000],Mask[edit=98][editwidth=-128][edittype=2][mask=00000;1]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

178
Is it possible to insert items at a specified position during runtime, without rebuilding the entire item which hosts the items
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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);
OutputDebugStringW( _bstr_t(spExContextMenu1->Select(vtMissing,vtMissing,vtMissing)) );

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->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]())");
EXCONTEXTMENULib::IItemPtr var_item = spExContextMenu1->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));
OutputDebugStringW( _bstr_t(spExContextMenu1->Select(vtMissing,vtMissing,vtMissing)) );

176
How can I control the height of the control, so no scroll is required to view all items

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetFont()->PutSize(_variant_t(long(6)));
spExContextMenu1->PutMenuAppearance(EXCONTEXTMENULib::exMenuNormal);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	OutputDebugStringW( _bstr_t(var_Items->GetVisibleItemsCount()) );
	var_Items->PutVisibleItemsCount(255);
	var_Items->PutToString(L"1,2,3,4,5,6,7,8,9,10,11,12,13");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

175
How do I specify the control's height (method 3)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutItemHeight(24);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutItemHeight(24);
	var_Items->Add(L"Item 3",vtMissing,vtMissing)->PutItemHeight(24);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

174
How do I specify the control's height (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutPadding(L"0,4,0,4");
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutPadding(L"0,4,0,4");
	var_Items->Add(L"Item 3",vtMissing,vtMissing)->PutPadding(L"0,4,0,4");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

173
How do I specify the control's height (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetFont()->PutSize(_variant_t(long(12)));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x104),0x1000000);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditProgress);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

171
How can I change the progress's color

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x104),RGB(255,0,0));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditProgress);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

170
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 OnCheckItemExContextMenu1(LPDISPATCH   Itm)
{
	EXCONTEXTMENULib::IItemPtr var_item = spExContextMenu1->GetItems()->Getitem(long(1000));
		var_item->PutVisible(VARIANT_TRUE);
		var_item->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditReadOnly | EXCONTEXTMENULib::exItemEditProgress));
	spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);
}

// UncheckItem event - Occurs when the user unchecks the item.
void OnUncheckItemExContextMenu1(LPDISPATCH   Itm)
{
	EXCONTEXTMENULib::IItemPtr var_item = spExContextMenu1->GetItems()->Getitem(long(1000));
		var_item->PutVisible(VARIANT_FALSE);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemDisableEdit);
	spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Visible",vtMissing,vtMissing);
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item1->PutCheck(VARIANT_TRUE);
				var_item1->PutChecked(VARIANT_TRUE);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Item 2",vtMissing,long(1000));
				var_item2->PutItemHeight(18);
				var_item2->PutCaption(L"Percent");
				var_item2->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditReadOnly | EXCONTEXTMENULib::exItemEditProgress));
				var_item2->PutEditValue(long(50));
				var_item2->PutVisible(VARIANT_TRUE);
			var_Items1->Add(L"Visible",vtMissing,vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

169
How can I change the color of a disabled item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::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(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
	var_Items->Add(L"Disabled",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

168
Microsoft Windows 8.1 - Ribbon Like

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutMenuAppearance(EXCONTEXTMENULib::exMenuNormal);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03](),[id=-20][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	EXCONTEXTMENULib::IItemsPtr var_Items1 = var_Items->Getitem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXCONTEXTMENULib::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])");
			var_item3->PutID(200);
			var_item3->PutCaption(L"Page1");
			EXCONTEXTMENULib::IItemPtr var_item = var_item3->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");
				EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item->GetItems();
					var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item1 = var_Items2->Add(L"",long(2),vtMissing);
						var_item1->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupEqualWidth | EXCONTEXTMENULib::exGroupPopup));
						var_item1->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items3 = var_item1->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item2 = var_Items3->Add(L"R1",vtMissing,vtMissing);
								var_item2->PutRadioGroup(100);
								var_item2->PutRadio(VARIANT_TRUE);
								var_item2->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item2->PutChecked(VARIANT_FALSE);
							EXCONTEXTMENULib::IItemPtr var_item4 = var_Items3->Add(L"R2",vtMissing,vtMissing);
								var_item4->PutRadioGroup(100);
								var_item4->PutRadio(VARIANT_TRUE);
								var_item4->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item4->PutChecked(VARIANT_TRUE);
							EXCONTEXTMENULib::IItemPtr var_item5 = var_Items3->Add(L"R3",vtMissing,vtMissing);
								var_item5->PutRadioGroup(100);
								var_item5->PutRadio(VARIANT_TRUE);
								var_item5->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item5->PutChecked(VARIANT_FALSE);
			var_item1 = var_item3->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");
				EXCONTEXTMENULib::IItemsPtr var_Items4 = var_item1->GetItems();
					var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item6 = var_Items4->Add(L"",long(2),vtMissing);
						var_item6->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exGroupPopupEqualHeight | EXCONTEXTMENULib::exGroupPopup));
						var_item6->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items5 = var_item6->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item7 = var_Items5->Add(L"C1",vtMissing,vtMissing);
								var_item7->PutCheck(VARIANT_TRUE);
								var_item7->PutChecked(VARIANT_TRUE);
							EXCONTEXTMENULib::IItemPtr var_item8 = var_Items5->Add(L"C2",vtMissing,vtMissing);
								var_item8->PutCheck(VARIANT_TRUE);
								var_item8->PutChecked(VARIANT_FALSE);
							EXCONTEXTMENULib::IItemPtr var_item9 = var_Items5->Add(L"C3",vtMissing,vtMissing);
								var_item9->PutCheck(VARIANT_TRUE);
								var_item9->PutChecked(VARIANT_TRUE);
			var_item3->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
			var_item2 = var_item3->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"");
				EXCONTEXTMENULib::IItemsPtr var_Items6 = var_item2->GetItems();
					var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item10 = var_Items6->Add(L"",long(0),vtMissing);
						var_item10->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
						var_item10->PutItemHeight(76);
						var_item10->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
						var_item10->PutEditValue(long(25));
					EXCONTEXTMENULib::IItemPtr var_item11 = var_Items6->Add(L"",long(2),vtMissing);
						var_item11->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
						var_item11->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items7 = var_item11->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item12 = var_Items7->Add(L"",long(2),vtMissing);
								var_item12->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
								EXCONTEXTMENULib::IItemsPtr var_Items8 = var_item12->GetItems();
									EXCONTEXTMENULib::IItemPtr var_item13 = var_Items8->Add(L"Button1",long(2),vtMissing);
										var_item13->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
										EXCONTEXTMENULib::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");
									EXCONTEXTMENULib::IItemPtr var_item14 = var_Items8->Add(L"Button2",long(2),vtMissing);
										var_item14->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
										EXCONTEXTMENULib::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);
							EXCONTEXTMENULib::IItemPtr var_item15 = var_Items7->Add(L"Popup",long(2),vtMissing);
								var_item15->PutAlignment(EXCONTEXTMENULib::exCenter);
								EXCONTEXTMENULib::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);
									EXCONTEXTMENULib::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])");
			var_item4->PutID(300);
			var_item4->PutCaption(L"Page2");
			EXCONTEXTMENULib::IItemsPtr var_Items13 = var_item4->GetItems();
				EXCONTEXTMENULib::IItemPtr var_item16 = var_Items13->Add(L"S1",vtMissing,vtMissing);
					var_item16->PutItemHeight(88);
					var_item16->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item16->PutEditValue(long(25));
				EXCONTEXTMENULib::IItemPtr var_item17 = var_Items13->Add(L"S2",vtMissing,vtMissing);
					var_item17->PutItemHeight(88);
					var_item17->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item17->PutEditValue(long(50));
				EXCONTEXTMENULib::IItemPtr var_item18 = var_Items13->Add(L"S3",vtMissing,vtMissing);
					var_item18->PutItemHeight(88);
					var_item18->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item18->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(1,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn");
	var_Appearance->Add(2,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn");
	var_Appearance->Add(12,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn");
	var_Appearance->Add(14,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn");
	var_Appearance->Add(17,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn");
	var_Appearance->Add(18,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn");
	var_Appearance->Add(32,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn");
	var_Appearance->Add(33,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn");
	var_Appearance->Add(34,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn");
	var_Appearance->Add(35,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn");
spExContextMenu1->PutAppearance(EXCONTEXTMENULib::MenuBorderEnum(0x1000000));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exToolTipAppearance,spExContextMenu1->GetAppearance());
spExContextMenu1->PutSelBackColor(0xe000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuHotBackColor,0xc000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelHotBackColor,0x23000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x2),0x22000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x3),0x23000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exCheckBoxState0,0x20000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exCheckBoxState1,0x21000000);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

167
Microsoft Paint - Ribbon Like

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutMenuAppearance(EXCONTEXTMENULib::exMenuNormal);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03](),[id=-20][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	EXCONTEXTMENULib::IItemsPtr var_Items1 = var_Items->Getitem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXCONTEXTMENULib::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])");
			var_item3->PutID(200);
			var_item3->PutCaption(L"Page1");
			EXCONTEXTMENULib::IItemPtr var_item = var_item3->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");
				EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item->GetItems();
					var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item1 = var_Items2->Add(L"",long(2),vtMissing);
						var_item1->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupEqualWidth | EXCONTEXTMENULib::exGroupPopup));
						var_item1->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items3 = var_item1->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item2 = var_Items3->Add(L"R1",vtMissing,vtMissing);
								var_item2->PutRadioGroup(100);
								var_item2->PutRadio(VARIANT_TRUE);
								var_item2->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item2->PutChecked(VARIANT_FALSE);
							EXCONTEXTMENULib::IItemPtr var_item4 = var_Items3->Add(L"R2",vtMissing,vtMissing);
								var_item4->PutRadioGroup(100);
								var_item4->PutRadio(VARIANT_TRUE);
								var_item4->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item4->PutChecked(VARIANT_TRUE);
							EXCONTEXTMENULib::IItemPtr var_item5 = var_Items3->Add(L"R3",vtMissing,vtMissing);
								var_item5->PutRadioGroup(100);
								var_item5->PutRadio(VARIANT_TRUE);
								var_item5->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item5->PutChecked(VARIANT_FALSE);
			var_item1 = var_item3->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");
				EXCONTEXTMENULib::IItemsPtr var_Items4 = var_item1->GetItems();
					var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item6 = var_Items4->Add(L"",long(2),vtMissing);
						var_item6->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exGroupPopupEqualHeight | EXCONTEXTMENULib::exGroupPopup));
						var_item6->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items5 = var_item6->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item7 = var_Items5->Add(L"C1",vtMissing,vtMissing);
								var_item7->PutCheck(VARIANT_TRUE);
								var_item7->PutChecked(VARIANT_TRUE);
							EXCONTEXTMENULib::IItemPtr var_item8 = var_Items5->Add(L"C2",vtMissing,vtMissing);
								var_item8->PutCheck(VARIANT_TRUE);
								var_item8->PutChecked(VARIANT_FALSE);
							EXCONTEXTMENULib::IItemPtr var_item9 = var_Items5->Add(L"C3",vtMissing,vtMissing);
								var_item9->PutCheck(VARIANT_TRUE);
								var_item9->PutChecked(VARIANT_TRUE);
			var_item3->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
			var_item2 = var_item3->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"");
				EXCONTEXTMENULib::IItemsPtr var_Items6 = var_item2->GetItems();
					var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item10 = var_Items6->Add(L"",long(0),vtMissing);
						var_item10->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
						var_item10->PutItemHeight(76);
						var_item10->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
						var_item10->PutEditValue(long(25));
					EXCONTEXTMENULib::IItemPtr var_item11 = var_Items6->Add(L"",long(2),vtMissing);
						var_item11->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
						var_item11->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items7 = var_item11->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item12 = var_Items7->Add(L"",long(2),vtMissing);
								var_item12->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
								EXCONTEXTMENULib::IItemsPtr var_Items8 = var_item12->GetItems();
									EXCONTEXTMENULib::IItemPtr var_item13 = var_Items8->Add(L"Button1",long(2),vtMissing);
										var_item13->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
										EXCONTEXTMENULib::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");
									EXCONTEXTMENULib::IItemPtr var_item14 = var_Items8->Add(L"Button2",long(2),vtMissing);
										var_item14->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
										EXCONTEXTMENULib::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);
							EXCONTEXTMENULib::IItemPtr var_item15 = var_Items7->Add(L"Popup",long(2),vtMissing);
								var_item15->PutAlignment(EXCONTEXTMENULib::exCenter);
								EXCONTEXTMENULib::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);
									EXCONTEXTMENULib::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])");
			var_item4->PutID(300);
			var_item4->PutCaption(L"Page2");
			EXCONTEXTMENULib::IItemsPtr var_Items13 = var_item4->GetItems();
				EXCONTEXTMENULib::IItemPtr var_item16 = var_Items13->Add(L"S1",vtMissing,vtMissing);
					var_item16->PutItemHeight(88);
					var_item16->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item16->PutEditValue(long(25));
				EXCONTEXTMENULib::IItemPtr var_item17 = var_Items13->Add(L"S2",vtMissing,vtMissing);
					var_item17->PutItemHeight(88);
					var_item17->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item17->PutEditValue(long(50));
				EXCONTEXTMENULib::IItemPtr var_item18 = var_Items13->Add(L"S3",vtMissing,vtMissing);
					var_item18->PutItemHeight(88);
					var_item18->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item18->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(1,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn");
	var_Appearance->Add(2,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn");
	var_Appearance->Add(3,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn");
	var_Appearance->Add(4,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn");
	var_Appearance->Add(5,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn");
	var_Appearance->Add(6,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn");
	var_Appearance->Add(7,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn");
	var_Appearance->Add(8,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn");
	var_Appearance->Add(9,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn");
	var_Appearance->Add(10,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn");
	var_Appearance->Add(11,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn");
	var_Appearance->Add(12,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn");
	var_Appearance->Add(13,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn");
	var_Appearance->Add(14,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn");
	var_Appearance->Add(15,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn");
	var_Appearance->Add(16,"C:/Program Files/Exontrol/ExContextMenu/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/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn");
	var_Appearance->Add(19,"C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn");
	var_Appearance->Add(20,"CP:19 0 0 0 1");
spExContextMenu1->PutLocalAppearance(EXCONTEXTMENULib::ShadowBorder);
spExContextMenu1->PutAppearance(EXCONTEXTMENULib::MenuBorderEnum(0x1000000));
spExContextMenu1->PutForeColor(RGB(21,66,139));
spExContextMenu1->PutSelBackColor(0xe000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exToolTipAppearance,spExContextMenu1->GetAppearance());
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x2),0xd000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameSingle,0x5000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHStart,0x6000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHIntermediate,0x7000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHEnd,0x8000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVStart,0x9000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVIntermediate,0xa000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVEnd,0xb000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuHotBackColor,0xc000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelHotBackColor,0xf000000);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

166
Microsoft Office - Ribbon Like

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutMenuAppearance(EXCONTEXTMENULib::exMenuNormal);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutToString(L"[id=0][group=0x03](),[id=-20][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])");
	EXCONTEXTMENULib::IItemsPtr var_Items1 = var_Items->Getitem(long(0))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXCONTEXTMENULib::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])");
			var_item3->PutID(200);
			var_item3->PutCaption(L"Page1");
			EXCONTEXTMENULib::IItemPtr var_item = var_item3->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");
				EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item->GetItems();
					var_Items2->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item1 = var_Items2->Add(L"",long(2),vtMissing);
						var_item1->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupEqualWidth | EXCONTEXTMENULib::exGroupPopup));
						var_item1->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items3 = var_item1->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item2 = var_Items3->Add(L"R1",vtMissing,vtMissing);
								var_item2->PutRadioGroup(100);
								var_item2->PutRadio(VARIANT_TRUE);
								var_item2->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item2->PutChecked(VARIANT_FALSE);
							EXCONTEXTMENULib::IItemPtr var_item4 = var_Items3->Add(L"R2",vtMissing,vtMissing);
								var_item4->PutRadioGroup(100);
								var_item4->PutRadio(VARIANT_TRUE);
								var_item4->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item4->PutChecked(VARIANT_TRUE);
							EXCONTEXTMENULib::IItemPtr var_item5 = var_Items3->Add(L"R3",vtMissing,vtMissing);
								var_item5->PutRadioGroup(100);
								var_item5->PutRadio(VARIANT_TRUE);
								var_item5->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
								var_item5->PutChecked(VARIANT_FALSE);
			var_item1 = var_item3->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");
				EXCONTEXTMENULib::IItemsPtr var_Items4 = var_item1->GetItems();
					var_Items4->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item6 = var_Items4->Add(L"",long(2),vtMissing);
						var_item6->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exGroupPopupEqualHeight | EXCONTEXTMENULib::exGroupPopup));
						var_item6->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items5 = var_item6->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item7 = var_Items5->Add(L"C1",vtMissing,vtMissing);
								var_item7->PutCheck(VARIANT_TRUE);
								var_item7->PutChecked(VARIANT_TRUE);
							EXCONTEXTMENULib::IItemPtr var_item8 = var_Items5->Add(L"C2",vtMissing,vtMissing);
								var_item8->PutCheck(VARIANT_TRUE);
								var_item8->PutChecked(VARIANT_FALSE);
							EXCONTEXTMENULib::IItemPtr var_item9 = var_Items5->Add(L"C3",vtMissing,vtMissing);
								var_item9->PutCheck(VARIANT_TRUE);
								var_item9->PutChecked(VARIANT_TRUE);
			var_item3->GetItems()->Add(L"",long(0),long(0))->PutPadding(L"4,0,0,0");
			var_item2 = var_item3->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"");
				EXCONTEXTMENULib::IItemsPtr var_Items6 = var_item2->GetItems();
					var_Items6->PutBackgroundExt(L"bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]");
					EXCONTEXTMENULib::IItemPtr var_item10 = var_Items6->Add(L"",long(0),vtMissing);
						var_item10->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
						var_item10->PutItemHeight(76);
						var_item10->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
						var_item10->PutEditValue(long(25));
					EXCONTEXTMENULib::IItemPtr var_item11 = var_Items6->Add(L"",long(2),vtMissing);
						var_item11->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
						var_item11->PutCaption(L"");
						EXCONTEXTMENULib::IItemsPtr var_Items7 = var_item11->GetItems();
							EXCONTEXTMENULib::IItemPtr var_item12 = var_Items7->Add(L"",long(2),vtMissing);
								var_item12->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
								EXCONTEXTMENULib::IItemsPtr var_Items8 = var_item12->GetItems();
									EXCONTEXTMENULib::IItemPtr var_item13 = var_Items8->Add(L"Button1",long(2),vtMissing);
										var_item13->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
										EXCONTEXTMENULib::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");
									EXCONTEXTMENULib::IItemPtr var_item14 = var_Items8->Add(L"Button2",long(2),vtMissing);
										var_item14->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
										EXCONTEXTMENULib::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);
							EXCONTEXTMENULib::IItemPtr var_item15 = var_Items7->Add(L"Popup",long(2),vtMissing);
								var_item15->PutAlignment(EXCONTEXTMENULib::exCenter);
								EXCONTEXTMENULib::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);
									EXCONTEXTMENULib::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])");
			var_item4->PutID(300);
			var_item4->PutCaption(L"Page2");
			EXCONTEXTMENULib::IItemsPtr var_Items13 = var_item4->GetItems();
				EXCONTEXTMENULib::IItemPtr var_item16 = var_Items13->Add(L"S1",vtMissing,vtMissing);
					var_item16->PutItemHeight(88);
					var_item16->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item16->PutEditValue(long(25));
				EXCONTEXTMENULib::IItemPtr var_item17 = var_Items13->Add(L"S2",vtMissing,vtMissing);
					var_item17->PutItemHeight(88);
					var_item17->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item17->PutEditValue(long(50));
				EXCONTEXTMENULib::IItemPtr var_item18 = var_Items13->Add(L"S3",vtMissing,vtMissing);
					var_item18->PutItemHeight(88);
					var_item18->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditProgress));
					var_item18->PutEditValue(long(75));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(1,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_background.ebn");
	var_Appearance->Add(2,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupt.ebn");
	var_Appearance->Add(3,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_groupo.ebn");
	var_Appearance->Add(4,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_grouphot.ebn");
	var_Appearance->Add(5,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameh.ebn");
	var_Appearance->Add(6,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehs.ebn");
	var_Appearance->Add(7,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehi.ebn");
	var_Appearance->Add(8,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_framehe.ebn");
	var_Appearance->Add(9,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevs.ebn");
	var_Appearance->Add(10,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_framevi.ebn");
	var_Appearance->Add(11,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_frameve.ebn");
	var_Appearance->Add(12,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_select.ebn");
	var_Appearance->Add(13,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_bordert.ebn");
	var_Appearance->Add(14,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttond.ebn");
	var_Appearance->Add(15,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_buttonu.ebn");
	var_Appearance->Add(16,"C:\\Program Files\\Exontrol\\ExContextMenu\\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\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabhot.ebn");
	var_Appearance->Add(19,"C:\\Program Files\\Exontrol\\ExContextMenu\\Sample\\EBN\\MSOffice-Ribbon\\msor_tabselhot.ebn");
	var_Appearance->Add(20,"CP:19 0 0 0 1");
spExContextMenu1->PutForeColor(RGB(21,66,139));
spExContextMenu1->PutSelBackColor(0xe000000);
spExContextMenu1->PutLocalAppearance(EXCONTEXTMENULib::ShadowBorder);
spExContextMenu1->PutAppearance(EXCONTEXTMENULib::MenuBorderEnum(0x1000000));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exToolTipAppearance,spExContextMenu1->GetAppearance());
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x2),0xd000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameSingle,0x5000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHStart,0x6000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHIntermediate,0x7000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHEnd,0x8000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVStart,0x9000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVIntermediate,0xa000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVEnd,0xb000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuHotBackColor,0xc000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelHotBackColor,0xf000000);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

165
How I can assign buttons to a tab

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelBorderColor,RGB(240,240,240));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutToString(_bstr_t("[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=0][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-10") +
"0]))");
	EXCONTEXTMENULib::IItemsPtr var_Items1 = var_Items->Getitem(long(-10))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXCONTEXTMENULib::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]([id=50][group=0x03]([]))");
			var_item->PutCaption(L"Page<off -5><font ;5><b>1</b></font></off>");
			EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item->GetItems();
				var_Items2->Add(L"Button 1",vtMissing,vtMissing)->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsButtonAutoSize | EXCONTEXTMENULib::exShowAsButton));
				var_Items2->Add(L"Button 2",vtMissing,vtMissing)->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsButtonAutoSize | EXCONTEXTMENULib::exShowAsButton));
				var_Items2->Add(L"Button 3",vtMissing,vtMissing)->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsButtonAutoSize | EXCONTEXTMENULib::exShowAsButton));
		EXCONTEXTMENULib::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]([id=50][group=0x03]([]))");
			var_item1->PutCaption(L"Page<off -5><font ;5><b>2</b></font></off>");
			EXCONTEXTMENULib::IItemsPtr var_Items3 = var_item1->GetItems();
				var_Items3->Add(L"Button 3",vtMissing,vtMissing)->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsButtonAutoSize | EXCONTEXTMENULib::exShowAsButton));
				var_Items3->Add(L"Button 4",vtMissing,vtMissing)->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsButtonAutoSize | EXCONTEXTMENULib::exShowAsButton));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

164
How can I hide an item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutVisible(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

163
How do I get the item giving its caption

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutID(1000);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutID(1001);
spExContextMenu1->Getitem("Item 1")->PutBold(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

162
How do I get the item giving its identifier

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutID(1000);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutID(1001);
spExContextMenu1->Getitem(long(1000))->PutBold(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

161
Can I change the cursor where it hovers the item
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutCursor("exCross");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutCursor("exNoDrop");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutAllowToggleRadio(VARIANT_TRUE);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Radio 1",vtMissing,long(1000));
		var_item->PutRadio(VARIANT_TRUE);
		var_item->PutRadioGroup(100);
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Radio 2",vtMissing,long(1001));
		var_item1->PutRadio(VARIANT_TRUE);
		var_item1->PutRadioGroup(100);
	EXCONTEXTMENULib::IItemPtr var_item2 = var_Items->Add(L"Radio 2",vtMissing,long(1003));
		var_item2->PutRadio(VARIANT_TRUE);
		var_item2->PutRadioGroup(100);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

159
Is it possible to display the item's identifiers

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutDebug(VARIANT_TRUE);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutID(10001);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutID(10002);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

158
How do I disable showing the tooltip for all control (method 2)
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutAllowToolTip(VARIANT_FALSE);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

157
How can I disable the control

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"Item 3",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spExContextMenu1->PutLocalAppearance(EXCONTEXTMENULib::MenuBorderEnum(0x1000000));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_item1->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
				EXCONTEXTMENULib::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);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_item2->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
				EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutLocalAppearance(EXCONTEXTMENULib::ShadowBorder);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_item1->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
				EXCONTEXTMENULib::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);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Button",long(2),vtMissing);
				var_item2->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
				EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spExContextMenu1->PutAppearance(EXCONTEXTMENULib::MenuBorderEnum(0x1000000));
spExContextMenu1->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemCheckHighlight);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

153
How can I show a border arround the control

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutAppearance(EXCONTEXTMENULib::FlatBorder);
spExContextMenu1->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemCheckHighlight);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_item->PutChecked(VARIANT_TRUE);
		var_item->PutCheck(VARIANT_TRUE);
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Check 2",vtMissing,vtMissing);
		var_item1->PutCheck(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemCheckHighlight);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_item->PutChecked(VARIANT_TRUE);
		var_item->PutCheck(VARIANT_TRUE);
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Check 2",vtMissing,vtMissing);
		var_item1->PutCheck(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuHotBackColor,RGB(0,0,1));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuHotForeColor,RGB(255,255,255));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelHotBackColor,RGB(128,128,128));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelHotForeColor,RGB(255,255,255));
spExContextMenu1->PutSelBackColor(RGB(128,128,128));
spExContextMenu1->PutSelForeColor(RGB(255,255,255));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelBorderColor,RGB(128,128,128));
spExContextMenu1->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemCheckHighlight);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"[group=3](Item 1,Item 2)");
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_item->PutChecked(VARIANT_TRUE);
		var_item->PutCheck(VARIANT_TRUE);
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Check 2",vtMissing,vtMissing);
		var_item1->PutCheck(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->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");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameSingle,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVStart,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVIntermediate,0x2000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameVEnd,0x3000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameSolid,RGB(255,0,0));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Vertical",long(2),vtMissing);
				var_item1->PutAlignment(EXCONTEXTMENULib::exCenter);
				var_item1->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exGroupPopup));
				EXCONTEXTMENULib::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);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Vertical",long(2),vtMissing);
				var_item2->PutAlignment(EXCONTEXTMENULib::exCenter);
				var_item2->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exGroupPopupFrameThickBox | EXCONTEXTMENULib::exGroupPopupFrameSolidBox | EXCONTEXTMENULib::exGroupPopup));
				EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->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");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameSingle,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHStart,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHIntermediate,0x2000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameHEnd,0x3000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exGroupPopupFrameSolid,RGB(255,0,0));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
		EXCONTEXTMENULib::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)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSeparatorItem,0x1000000);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spExContextMenu1->PutFlatBackColor(0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuFlatLineColor,spExContextMenu1->GetFlatBackColor());
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

146
How can I change the visual appearance of the radio-buttons to be displayed in the context menu (ebn)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exRadioButtonState0,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exRadioButtonState1,0x2000000);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Radio 1",vtMissing,long(1000));
				var_item1->PutRadio(VARIANT_TRUE);
				var_item1->PutRadioGroup(100);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Radio 2",vtMissing,long(1001));
				var_item2->PutRadio(VARIANT_TRUE);
				var_item2->PutRadioGroup(100);
			EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

145
How can I change the visual appearance of the check-boxes to be displayed in the context menu (ebn)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exCheckBoxState0,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exCheckBoxState1,0x2000000);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

144
How can I change the visual appearance of the tooltips to be displayed in the context menu (ebn)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spExContextMenu1->PutToolTipDelay(1);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exToolTipAppearance,0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exToolTipForeColor,RGB(255,0,0));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

143
Is it possible to change the visual appearance of the buttons to be displayed in the context menu (ebn)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IAppearancePtr var_Appearance = spExContextMenu1->GetVisualAppearance();
	var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x2),0x1000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::BackgroundPartEnum(0x3),0x2000000);
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSeparatorSelectButton,RGB(255,0,0));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSeparatorSelectButtonBottom,RGB(0,0,255));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"4,4,4,4");
	var_Items->Add(L"Button",vtMissing,vtMissing)->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsButtonAutoSize | EXCONTEXTMENULib::exShowAsButton));
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",vtMissing,vtMissing);
		var_item->PutEnabled(VARIANT_FALSE);
		var_item->PutItemHeight(4);
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Button",long(2),vtMissing);
		var_item1->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item1->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);
	EXCONTEXTMENULib::IItemPtr var_item2 = var_Items->Add(L"",vtMissing,vtMissing);
		var_item2->PutEnabled(VARIANT_FALSE);
		var_item2->PutItemHeight(4);
	EXCONTEXTMENULib::IItemPtr var_item3 = var_Items->Add(L"Button",long(2),vtMissing);
		var_item3->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButton | EXCONTEXTMENULib::exShowAsButtonAutoSize));
		EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item3->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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToolTipWidth(328);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

141
How do I disable showing the tooltip for all control (method 1)
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToolTipDelay(0);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

140
How do I let the tooltip being displayed longer

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToolTipPopDelay(10000);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

139
How do I show the tooltip quicker

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToolTipDelay(1);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

138
How can I get the version of the control I am running
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
OutputDebugStringW( spExContextMenu1->GetVersion() );

137
How can I align the picture on the control's background
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutPicture(IPictureDispPtr(((ObjectPtr)(spExContextMenu1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\card.png`)")))));
spExContextMenu1->PutPictureDisplay(EXCONTEXTMENULib::UpperRight);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

136
Is it possible to place a picture on the control's background
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutPicture(IPictureDispPtr(((ObjectPtr)(spExContextMenu1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\card.png`)")))));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

// Event event - Notifies the application once the control fires an event.
void OnEventExContextMenu1(long   EventID)
{
	OutputDebugStringW( L"Event" );
	OutputDebugStringW( _bstr_t(spExContextMenu1->GetEventParam(-2)) );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Check",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
		var_item->PutEditWidth(128);
		var_item->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
		var_item->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

133
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 OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"EditChange event on Itm object" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Item",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
		var_item->PutEditWidth(128);
		var_item->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
		var_item->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

132
How do I get notified once I uncheck an item
// UncheckItem event - Occurs when the user unchecks the item.
void OnUncheckItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"UncheckItem event on Itm object" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

131
How do I get notified once I check an item
// CheckItem event - Occurs when the user checks the item.
void OnCheckItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"CheckItem event on Itm object" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

130
How do I get notified once I click/select an item
// SelectItem event - Occurs when the user selects the item.
void OnSelectItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"SelectItem event on Itm object" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

129
Does your control support padding for items

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutMenuAppearance(EXCONTEXTMENULib::exMenuNormal);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"2,12,2,2");
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::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])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::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)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::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)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::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)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

125
How can I change the background color for items

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::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)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutFlatImageWidth(0);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutMenuAppearance(EXCONTEXTMENULib::exMenuNormal);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

122
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 OnSelectItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Clicked" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutMenuAppearance(EXCONTEXTMENULib::exMenuNormal);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Button",long(2),vtMissing);
		var_item->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",long(2),vtMissing);
				var_item1->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
				EXCONTEXTMENULib::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))");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Clicked" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Button",long(2),vtMissing);
		var_item->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButtonBottom | EXCONTEXTMENULib::exShowAsButtonAutoSize));
		EXCONTEXTMENULib::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"Button[button=275][popupapp=6](Item 1[id=20],Item 2[id=30],Item 3[id=40])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Clicked" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Button",long(2),vtMissing);
		var_item->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButton | EXCONTEXTMENULib::exShowAsButtonAutoSize));
		EXCONTEXTMENULib::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"Button[button=0x13][popupapp=6](Item 1[id=20],Item 2[id=30],Item 3[id=40])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Clicked" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Button",long(2),vtMissing);
		var_item->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsSelectButton | EXCONTEXTMENULib::exShowAsButtonAutoSize));
		EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

118
How can I add a button (push button)

// SelectItem event - Occurs when the user selects the item.
void OnSelectItemExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Clicked" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Button",vtMissing,vtMissing)->PutShowAsButton(EXCONTEXTMENULib::ShowAsButtonEnum(EXCONTEXTMENULib::exShowAsButtonAutoSize | EXCONTEXTMENULib::exShowAsButton));
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Button[button=0x03]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

117
How can I display grouping items with no frame arround

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupFrameThickBox | EXCONTEXTMENULib::exGroupPopupFrameSolidBox | EXCONTEXTMENULib::exGroupPopupEqualHeight | EXCONTEXTMENULib::exGroupPopupEqualWidth | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"A",vtMissing,vtMissing)->PutAlignment(EXCONTEXTMENULib::exCenter);
			var_Items1->Add(L"BC",vtMissing,vtMissing)->PutAlignment(EXCONTEXTMENULib::exCenter);
			var_Items1->Add(L"D",vtMissing,vtMissing)->PutAlignment(EXCONTEXTMENULib::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])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupFrameThickBox | EXCONTEXTMENULib::exGroupPopupFrameSolidBox | EXCONTEXTMENULib::exGroupPopupEqualHeight | EXCONTEXTMENULib::exGroupPopupEqualWidth | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"A",vtMissing,vtMissing)->PutAlignment(EXCONTEXTMENULib::exCenter);
			var_Items1->Add(L"BC",vtMissing,vtMissing)->PutAlignment(EXCONTEXTMENULib::exCenter);
			var_Items1->Add(L"D",vtMissing,vtMissing)->PutAlignment(EXCONTEXTMENULib::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])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupFrameThickBox | EXCONTEXTMENULib::exGroupPopupFrameSolidBox | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::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])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

114
How do I display items horizontally arranged

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Horizontal Group",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
		EXCONTEXTMENULib::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])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		var_item->PutCheck(VARIANT_TRUE);
		var_item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXCONTEXTMENULib::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);
			EXCONTEXTMENULib::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])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		var_item->PutCheck(VARIANT_TRUE);
		var_item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXCONTEXTMENULib::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);
			EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
		var_item->PutItemHeight(24);
		var_item->PutCheck(VARIANT_TRUE);
		var_item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Expand",long(2),vtMissing);
		var_item->PutCheck(VARIANT_TRUE);
		var_item->PutShowPopupOnChecked(VARIANT_TRUE);
		EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

109
Does your control implement padding for item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

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

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",long(2),vtMissing);
				var_item1->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupCenter | EXCONTEXTMENULib::exGroupPopup));
				var_item1->PutItemHeight(12);
				EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

107
How can I add an empty/separator item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

106
How can I add an empty/frame item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupCenter | EXCONTEXTMENULib::exGroupPopup));
		var_item->PutItemHeight(12);
		EXCONTEXTMENULib::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);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

105
How can I specify the height of the item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

104
How can I specify the width of the item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

103
How do I align the item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutBackColor(RGB(250,250,250));
	var_Items->Add(L"Item",vtMissing,vtMissing);
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Item",vtMissing,vtMissing);
		var_item->PutAlignment(EXCONTEXTMENULib::exCenter);
		var_item->PutCaptionWidth(128);
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Item",vtMissing,vtMissing);
		var_item1->PutAlignment(EXCONTEXTMENULib::exRight);
		var_item1->PutCaptionWidth(128);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[align=1]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

102
How can I underline the item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

101
How can I show the item as strikeout

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->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]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);