227:
Is there any function to retrieve all available shortcut keys

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

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

226:
How can I display shortcut keys with a different size

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

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

225:
How can I display shortcut keys with a different font

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

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

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

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

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

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

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

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

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

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

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

221:
How can I show the shortcut keys semi-transparent

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

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

220:
Is it possible somehow to display ID of each item

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

212:
Can I use different shortcut modifier keys for items

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

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

211:
How can I disable a shortcut key

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

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

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

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

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

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

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

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

207:
How can I display extended shortcut keys

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

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

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

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

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

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

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

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

204:
How can I assign a shortcut key to an item

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

199:
Microsoft Office - Ribbon Like - Minimized

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

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

198:
Microsoft Paint - Ribbon Like - Minimized

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

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

197:
Microsoft Windows 8.1 - Ribbon Like - Minimized

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

191:
How can I change the progress's color

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

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

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

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

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

189:
How can I change the color of a disabled item

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

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

188:
Microsoft Windows 8.1 - Ribbon Like

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

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

187:
Microsoft Paint - Ribbon Like

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

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

186:
Microsoft Office - Ribbon Like

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

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

185:
How I can assign buttons to a tab

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

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

184:
How can I hide an item

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

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

183:
How do I quickly load items into the control

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

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

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

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

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

181:
How do I get the item giving its caption

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

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

180:
How do I get the item giving its identifier

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

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

179:
Can I change the cursor where it hovers the item

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

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

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

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

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

177:
Is it possible to display the item's identifiers

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

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

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

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

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

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

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

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

174:
How can I disable the control

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

168:
How can I show a border arround the control

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

152:
How do I let the tooltip being displayed longer

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

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

151:
How do I show the tooltip quicker

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

144:
How do I get notified once I uncheck an item

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

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

143:
How do I get notified once I check an item

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

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

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

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

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

141:
Does your control support padding for items

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

134:
How can I change the background color for items

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

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

133:
Is it possible to hide the popup's arrow

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

126:
How can I add a button (push button)

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

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

125:
How can I display grouping items with no frame arround

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

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

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

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

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

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

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

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

122:
How do I display items horizontally arranged

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

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

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

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

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

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

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

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

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

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

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

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

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

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

117:
Does your control implement padding for item

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

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

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

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

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

115:
How can I add an empty/separator item

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

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

114:
How can I add an empty/frame item

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

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

113:
How can I specify the height of the item

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

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

112:
How can I specify the width of the item

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

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

111:
How do I align the item

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

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

110:
How can I underline the item

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

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

109:
How can I show the item as strikeout

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

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

108:
How can I show the item in italics

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

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

107:
How can I show the item in bold

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

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

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

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

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

105:
How can I enable or disable an item

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

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

104:
How can I add a separator item

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

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

103:
How can I change the item's foreground color

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

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

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

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

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

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

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

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

100:
How can I prevent showing the border for selected/highlight/hot items

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

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

99:
How can I change the item's background/backcolor, when the cursor hovers it (hot)

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

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

98:
How can I change the item's background/backcolor

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBackColor(RGB(255,0,0));
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBackColor(0x1000000);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[bg=RGB(255,0,0)]");
spRibbon1->Refresh();

97:
How can I specify/assign the item's identifier

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutDebug(VARIANT_TRUE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"ID 1",long(0),long(1000));
	var_Items->Add(L"ID 2",vtMissing,vtMissing)->PutID(1001);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"ID 3[id=1002]");
spRibbon1->Refresh();

96:
The popup is displayed using a fade/light-up effect. Is it possible to prevent that

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

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

95:
How can I show semi-transparent popups

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

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

94:
How can I change the popup's border

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

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

93:
How can I show a horizontal separator/line between groups (method 3,EBN color)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(-128);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(0x1000000);
				var_Item2->PutItemHeight(8);
				var_Item2->PutCaptionWidth(128);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(-128);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

92:
How can I show a horizontal separator/line between groups (method 2,solid color)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(-128);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(RGB(128,128,128));
				var_Item2->PutItemHeight(8);
				var_Item2->PutCaptionWidth(128);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(-128);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

91:
How can I show a horizontal separator/line between groups (method 1,pattern)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(-128);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",long(2),vtMissing);
				var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item2->GetItems();
					EXRIBBONLib::IItemPtr var_Item3 = var_Items2->Add(L"",vtMissing,vtMissing);
						var_Item3->PutEnabled(VARIANT_FALSE);
						var_Item3->PutItemHeight(8);
						var_Item3->PutCaptionWidth(128);
					var_Items2->PutBackgroundExt(L"none[(0,50%-1,100%,2),pattern=0x006,patterncolor=RGB(128,128,128)]");
			EXRIBBONLib::IItemPtr var_Item4 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item4->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item4->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item4->PutEditWidth(-128);
				var_Item4->PutEditValue(long(25));
spRibbon1->Refresh();

90:
How can I show a vertical separator/line between groups (method 3,EBN color)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutItemHeight(128);
				var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(32);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(0x1000000);
				var_Item2->PutItemHeight(96);
				var_Item2->PutCaptionWidth(8);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutItemHeight(128);
				var_Item3->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(32);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

89:
How can I show a vertical separator/line between groups (method 2,solid color)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutItemHeight(128);
				var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(32);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(RGB(128,128,128));
				var_Item2->PutItemHeight(96);
				var_Item2->PutCaptionWidth(8);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutItemHeight(128);
				var_Item3->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(32);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

88:
How can I show a vertical separator/line between groups (method 1,pattern)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutItemHeight(128);
				var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(32);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",long(2),vtMissing);
				var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item2->GetItems();
					EXRIBBONLib::IItemPtr var_Item3 = var_Items2->Add(L"",vtMissing,vtMissing);
						var_Item3->PutEnabled(VARIANT_FALSE);
						var_Item3->PutItemHeight(96);
						var_Item3->PutCaptionWidth(8);
					var_Items2->PutBackgroundExt(L"none[(50%-1,0,2,100%),pattern=6,patterncolor=RGB(128,128,128)]");
			EXRIBBONLib::IItemPtr var_Item4 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item4->PutItemHeight(128);
				var_Item4->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item4->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item4->PutEditWidth(32);
				var_Item4->PutEditValue(long(25));
spRibbon1->Refresh();

87:
How can I show a pattern on the items

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"2,2,2,12");
	var_Items->PutBackgroundExt(_bstr_t("root[pattern=0x006,patterncolor=RGB(128,128,128),frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><of") +
"f -2> clipboard </off></font></fgcolor>`,align=0x21])");
spRibbon1->Refresh();

86:
How can I show a thick frame arround the items

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"2,2,2,12");
	var_Items->PutBackgroundExt(_bstr_t("root[frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor>`,ali") +
"gn=0x21])");
spRibbon1->Refresh();

85:
How can I add some additional icons on the background

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->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=");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			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->PutPadding(L"0,0,0,16");
	var_Items->PutBackgroundExt(L"root[text=`<img>2</img><font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor><img>2</img>`,align=0x21]");
spRibbon1->Refresh();

84:
How can I add some additional text on the background

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			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->PutPadding(L"0,0,0,8");
	var_Items->PutBackgroundExt(L"root[text=`<font ;6><fgcolor 808080>clipboard`,align=0x21]");
spRibbon1->Refresh();

83:
How can I disable incremental searching

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupIncrementalSearch(EXRIBBONLib::exNoIncrementalSearch);
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

82:
How can I assign a tooltip to an item (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"ToolTip[id=10][ttp=This is a bit of text that should be shown when cursor hovers the item]");

81:
How can I assign a tooltip to an item (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->Add(L"ToolTip",vtMissing,vtMissing)->PutTooltip(L"This is a bit of text that should be shown when cursor hovers the item");
spRibbon1->Refresh();

80:
How can I assign a spin field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Spin",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditSpin);
		var_Item->PutEditWidth(16);
		var_Item->PutEditValue(long(15));
		var_Item->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item->PutEditOption(EXRIBBONLib::exEditMaxValue,long(1000));
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Edit-Spin",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditText));
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditValue(long(15));
		var_Item1->PutEditOption(EXRIBBONLib::exEditMaxValue,long(1000));
	EXRIBBONLib::IItemPtr var_Item2 = var_Items->Add(L"Splider-Spin",vtMissing,vtMissing);
		var_Item2->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditSlider));
		var_Item2->PutEditWidth(-128);
		var_Item2->PutEditValue(long(25));
		var_Item2->PutEditBorder(EXRIBBONLib::exEditBorderNone);
spRibbon1->Refresh();

79:
How can I assign a spin field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("Spin[id=10][edittype=0x0200][edit=15][border=0][max=1000][editwidth=16],Edit-Spin[id=20][edittype=0x0201][edit=15][max=1000][ed") +
"itwidth=-128],Splider-Spin[id=30][edittype=0x0203][edit=25][border=0][editwidth=-128]");

78:
How can I add a vertical slider (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Vertical[id=10][edittype=0x0403][edit=25][border=0][height=128]");

77:
How can I add a vertical slider (method 1)

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

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

76:
How can I disable an editor (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Disabled[id=10][dis][edittype=0x01][edit=text-box][editwidth=-128]");

75:
How can I disable an editor (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Disabled",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditText);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue("text-box");
		var_Item->PutEnabled(VARIANT_FALSE);
spRibbon1->Refresh();

74:
How can I lock an editor (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Locked[id=10][edittype=0x0101][edit=disabled text-box][editwidth=-128]");

73:
How can I lock an editor (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Locked",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditReadOnly | EXRIBBONLib::exItemEditText));
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue("disabled text-box");
spRibbon1->Refresh();

72:
How can I assign a font field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Font",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditFont);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue("Tahoma");
spRibbon1->Refresh();

71:
How can I assign a font field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Font[id=10][edittype=0x07][edit=Tahoma][editwidth=-128]");

70:
How can I assign a color field to the item (method 2)

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

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

69:
How can I assign a color field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Color[id=10][edittype=0x06][edit=#FF0000][border=0][editwidth=-128]");

68:
How can I assign a scrollbar field to the item (method 2)

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

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

67:
How can I assign a scrollbar field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"ScrollBar[id=10][edittype=0x05][edit=25][editwidth=-128]");

66:
Is it possible to change the tooltip beging shown when I change the slider/scroll/progress value

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditProgress);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
		var_Item->PutEditOption(EXRIBBONLib::exEditChangeToolTip,"`Current value is: ` + value");
spRibbon1->Refresh();

65:
How can I hide the tooltip beging shown when I change the slider/scroll/progress value

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditProgress);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
		var_Item->PutEditOption(EXRIBBONLib::exEditChangeToolTip,"");
spRibbon1->Refresh();

64:
How can I assign a progress field to the item (method 2)

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

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

63:
How can I assign a progress field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Progress[id=10][edittype=0x04][edit=25][editwidth=-128]");

62:
How can I assign a slider field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
		var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditOption(EXRIBBONLib::exEditMinValue,long(50));
		var_Item1->PutEditOption(EXRIBBONLib::exEditMaxValue,long(450));
		var_Item1->PutEditOption(EXRIBBONLib::exEditTickStyle,long(2));
		var_Item1->PutEditOption(EXRIBBONLib::exEditTickFrequency,long(50));
		var_Item1->PutEditOption(EXRIBBONLib::exEditTickLabel,_bstr_t("value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><font ;6><b><fgcolor") +
" FF0000>'+value : '' ) )");
		var_Item1->PutEditValue(long(345));
spRibbon1->Refresh();

61:
How can I assign a slider field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("Slider[id=10][edittype=0x03][edit=25][editwidth=-128],Slider[id=20][edittype=0x03][edit=345][border=0][min=50][max=450][tick=2]") +
"[freq=50][ticklabel=value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><" +
"font ;6><b><fgcolor FF0000>'+value : '' ) )][editwidth=-128]");

60:
How can I assign a mask (time) field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Time",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"99:00:00;;0;overtype,warning=Invalid character");
		var_Item->PutEditValue("123456");
spRibbon1->Refresh();

59:
How can I assign a mask (time) field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Time[id=10][edittype=0x02][edit=12:34:56][mask=99:00:00;;0;overtype,warning=Invalid character][editwidth=-128]");

58:
How can I assign a mask (license key) field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"License Key",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"AAAA-AAAA-AAAA-AAAA");
		var_Item->PutEditValue("1234");
spRibbon1->Refresh();

57:
How can I assign a mask (license key) field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"License Key[id=10][edittype=0x02][edit=1234-____-____-____][mask=AAAA-AAAA-AAAA-AAAA][editwidth=-128]");

56:
How can I assign a mask (IP address) field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"IP Address",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"{0,255}.{0,255}.{0,255}.{0,255}");
		var_Item->PutEditValue("1.2.3.4");
spRibbon1->Refresh();

55:
How can I assign a mask (IP address) field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"IP Address[id=10][edittype=0x02][edit=1.2.3.4][mask={0,255}.{0,255}.{0,255}.{0,255}][editwidth=-128]");

54:
How can I assign a mask (phone) field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Phone",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"!(9999) 000 000;;;empty,select=4,overtype,beep");
		var_Item->PutEditValue("0771638317");
spRibbon1->Refresh();

53:
How can I assign a mask (phone) field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Phone[id=10][edittype=0x02][edit=(0771) 638 317][mask=!(9999) 000 000;;;empty,select=4,overtype,beep][editwidth=-128]");

52:
How can I assign a mask (date) field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"`Date: `{1,12}/{1,31}/{1950,2050};;;select=1");
		var_Item->PutEditValue(COleDateTime(2015,2,15,0,00,00).operator DATE());
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Date",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditMask(L"!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,overtype");
		var_Item1->PutEditValue(COleDateTime(2015,2,15,0,00,00).operator DATE());
spRibbon1->Refresh();

51:
How can I assign a mask (date) field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("[id=10][edittype=0x02][edit=Date: 2/15/2015][mask=`Date: `{1,12}/{1,31}/{1950,2050};;;select=1][editwidth=-128],Date[id=20][edi") +
"ttype=0x02][edit=02/15/2015][mask=!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,ov" +
"ertype][editwidth=-128]");

50:
How can I assign a mask (integer) field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Integer",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L";;;float,grouping=,digits=0");
		var_Item->PutEditValue(long(1000));
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Integer-Grouping",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditMask(L";;;float,decimal=,digits=0,select=1");
		var_Item1->PutEditValue(long(1000));
	EXRIBBONLib::IItemPtr var_Item2 = var_Items->Add(L"Integer-In-Range",vtMissing,vtMissing);
		var_Item2->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item2->PutEditWidth(-128);
		var_Item2->PutEditMask(L"{0,2050}");
		var_Item2->PutEditValue(long(1000));
spRibbon1->Refresh();

49:
How can I assign a mask (integer) field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("Integer[id=10][edittype=0x02][edit=1000][mask=;;;float,grouping=,digits=0][editwidth=-128],Integer-Grouping[id=20][edittype=0x0") +
"2][edit=1,000][mask=;;;float,decimal=,digits=0,select=1][editwidth=-128],Integer-In-Range[id=30][edittype=0x02][edit=1000][mask=" +
"{0,2050}][editwidth=-128]");

48:
How can I assign a mask field to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Mask",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L";;;float,select=1");
		var_Item->PutEditValue(long(1000));
spRibbon1->Refresh();

47:
How can I assign a mask field to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Text-Box[id=10][edittype=0x02][edit=1,000][mask=;;;float,select=1][editwidth=-128]");

46:
How can I assign an edit / text-box to the item (method 2)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Mask",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditText);
		var_Item->PutEditValue("this is a text");
		var_Item->PutEditWidth(-128);
spRibbon1->Refresh();

45:
How can I assign an edit / text-box to the item (method 1)

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

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Text-Box[edit=this is a text][editwidth=-128]");

44:
How can I display a tab into the ribbon (method 2)

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

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

43:
How can I add check-buttons to items, without showing the check-box (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Check 1",vtMissing,vtMissing);
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
				var_Item1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Check 2",vtMissing,vtMissing);
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Check 3",vtMissing,vtMissing);
				var_Item3->PutCheck(VARIANT_TRUE);
				var_Item3->PutChecked(VARIANT_TRUE);
				var_Item3->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
spRibbon1->Refresh();

42:
How can I add check-buttons to items, without showing the check-box (method 1)

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

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

41:
How can I add radio buttons to items, without showing the radio-buttons (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 1",vtMissing,long(1000));
				var_Item1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Radio 2",vtMissing,long(1001));
				var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item2->PutRadio(VARIANT_TRUE);
				var_Item2->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Radio 2",vtMissing,long(1003));
				var_Item3->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item3->PutRadio(VARIANT_TRUE);
				var_Item3->PutRadioGroup(100);
			var_Items1->GetItem(long(1000))->PutChecked(VARIANT_TRUE);
spRibbon1->Refresh();

40:
How can I add radio buttons to items, without showing the radio-buttons (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("[group=0x3](Radio 1[rad=1][show=1][grp=100][id=1000],Radio 2[rad=0][show=1][grp=100][id=1001],Radio 2[rad=0][show=1][grp=100][i") +
"d=1002])");

39:
How can I add check-buttons to items (method 2)

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

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

38:
How can I add check-buttons to items (method 1)

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

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

37:
How can I add radio buttons to items (method 2)

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

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

36:
How can I add radio buttons to items (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"[group=0x1](Radio 1[rad=1][grp=100][id=1000],Radio 2[rad=0][grp=100][id=1001],Radio 2[rad=0][grp=100][id=1002])");

35:
How can I change the selection/highlighting color

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutSelBackColor(RGB(0,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(128,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotForeColor,RGB(255,255,255));
spRibbon1->PutToString(L"[group=3](Item 1[chk],Item 2[chk])");

34:
How can I prevent showing/hide the border on the selected/highlighted item

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,spRibbon1->GetSelBackColor());
spRibbon1->PutToString(L"Item 1,Item 2");

33:
How can I display a tab into the ribbon (method 1)

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

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

32:
How do I prevent highlighting the item (method 2.b)

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

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

31:
How do I prevent highlighting the item (method 2.a)

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

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

30:
How do I prevent highlighting the item (method 1.b)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"No highlight[dis],Item 2,Item 3");
spRibbon1->Refresh();

29:
How do I prevent highlighting the item (method 1.a)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"No highlight[group=0x3][arrow=0]([]),Item 2,Item 3");
spRibbon1->Refresh();

28:
How can I can I assign pictures or images for the item (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spRibbon1->PutHTMLPicture(L"pic2","c:\\exontrol\\images\\auction.gif");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHTMLImage(L"pic1");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHTMLImage(L"pic2");
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>pic1</img>",vtMissing,vtMissing);
	var_Items->Add(L"Item <img>pic2</img>",vtMissing,vtMissing);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"<img>pic1</img> Item <img>pic2</img>",vtMissing,vtMissing);
spRibbon1->Refresh();

27:
How can I can I assign pictures or images for the item (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spRibbon1->PutHTMLPicture(L"pic2","c:\\exontrol\\images\\auction.gif");
spRibbon1->PutToString(L"Item[himg=pic1],Item[himg=pic2],[sep],Item <img>pic1</img>,Item <img>pic2</img>,[sep],<img>pic1</img> Item <img>pic2</img>");

26:
How can I can I assign icons for the item (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->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=");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutImage(1);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutImage(2);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>1</img>",vtMissing,vtMissing);
	var_Items->Add(L"Item <img>2</img>",vtMissing,vtMissing);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>1</img>",vtMissing,vtMissing)->PutImage(1);
spRibbon1->Refresh();

25:
How can I can I assign icons for the item (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->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=");
spRibbon1->GetItems()->PutToString(L"Item[img=1],Item[img=2],[sep],Item <img>1</img>,Item <img>2</img>,[sep],Item <img>1</img>[img=1]");
spRibbon1->Refresh();

24:
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"2,2,2,2");
	var_Items->PutBackColor(0x1000000);
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

23:
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->GetItems()->PutToString(L"[itemsbg=0x1000000][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

22:
How can I change the background color for a collection of items/group (method 2)

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

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

21:
How can I change the background color for a collection of items/group (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"[itemsbg=RGB(255,0,0)][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

20:
How can I change the visual appearance / background color (EBN) for a specified item (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutBackColor(0x1000000);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

19:
How can I change the visual appearance / background color (EBN) for a specified item (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->GetItems()->PutToString(L"Item 1,Item 2[bg=0x1000000],Item 3");
spRibbon1->Refresh();

18:
How can I change the background color for a specified item (method 2)

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

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

17:
How can I change the background color for a specified item (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Item 1,Item 2[bg=RGB(255,0,0)],Item 3");
spRibbon1->Refresh();

16:
How can I change the visual appearance (EBN) of the floating popups (method 2, applies to single popup)

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

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

15:
How can I change the visual appearance (EBN) of the floating popups (method 1, applies to all)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->PutPopupAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->Refresh();

14:
How can I change the visual appearance of the floating popups (method 2, applies to single popup)

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

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

13:
How can I change the visual appearance of the floating popups (method 1, applies to all)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

12:
How do I add a popup or a sub-menu so it show when cursor hovers it (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::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);
spRibbon1->Refresh();

11:
How do I add a popup or a sub-menu so it show when cursor hovers it (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

10:
How can I arrange the items by grouping (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Horizontal",long(2),vtMissing);
				var_Item1->PutGroupPopup(EXRIBBONLib::exGroupPopup);
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
					var_Items2->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items2->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items2->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutCaptionWidth(16);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Vertical",long(2),vtMissing);
				var_Item2->PutAlignment(EXRIBBONLib::exCenter);
				var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
					var_Items3->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items3->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items3->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutCaptionWidth(16);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Popup",long(2),vtMissing);
				EXRIBBONLib::IItemsPtr var_Items4 = var_Item3->GetItems();
					var_Items4->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items4->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items4->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
spRibbon1->Refresh();

9:
How can I arrange the items by grouping (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(_bstr_t("[group=0x03](Horizontal[group=0x01](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Vertical[group=0x0") +
"101][align=1](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Popup(Sub-Item <b>A</b>,Sub-Item <b>B</b>" +
",Sub-Item <b>C</b>),[captionwidth=160])");
spRibbon1->Refresh();

8:
How can I arrange some items vertically, and some horizontally (method 2)

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

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

7:
How can I arrange some items vertically, and some horizontally (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"[group=3](1,2,3),[group=3](4,5,6),[group=3](7,8,9)");
spRibbon1->Refresh();

6:
How can I assign multiple-lines to an item (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>1");
			var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>2");
			var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>3");
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
spRibbon1->Refresh();

5:
How can I assign multiple-lines to an item (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"[group=3](Item <br><c><b>1,Item <br><c><b>2,Item <br><c><b>3)");
spRibbon1->Refresh();

4:
How can I add new items arranged horizontally to the ribbon control (method 2)

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

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

3:
How can I add new items arranged horizontally to the ribbon control (method 1)

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

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

2:
How can I add new items to the ribbon control (method 2)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->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);
spRibbon1->Refresh();

1:
How can I add new items to the ribbon control (method 1)

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

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Item 1,Item 2,Item 3");
spRibbon1->Refresh();