property Item.ShowPopupOnChecked as Boolean
Specifies whether the item's sub menu is shown only if the item is checked.

TypeDescription
Boolean A Boolean expression that specifies whether the item's sub menu is shown only if the item is checked.
By default, the ShowPopupOnChecked property is False. The Check property assigns a check box to the current item. The SubMenu property specifies the sub-items of the current item. The  ShowPopupOnChecked property has effect only if the item displays sub items ( the SubMenu.Count property is not zero ). The ShowCheckedAsSelected property specifies how the checked item is displayed.

The following screen shot show items with ShowPopupOnChecked on False ( default ) ( please notice that all items display the popup-arrow ):

The following screen shot show items with ShowPopupOnChecked on True ( please notice that just checked popup displays the popup-arrow, and so the sub-menu ):

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

VBA (MS Access, Excell...)

With Ribbon1
	With .Items
		With .Add("Expand",2)
			.GroupPopup = 259 ' GroupPopupEnum.exGroupPopupVertical Or GroupPopupEnum.exNoGroupPopupFrame Or GroupPopupEnum.exGroupPopup
			.Check = True
			.ShowPopupOnChecked = True
			With .Items
				.Padding = "22,0,0,0"
				.Add("Radio 1").Radio = True
				.Add("Radio 2").Radio = True
				With .Add("Radio 3")
					.Radio = True
					.Checked = True
				End With
			End With
			.Checked = True
		End With
	End With
	.Refresh 
End With

VB6

With Ribbon1
	With .Items
		With .Add("Expand",2)
			.GroupPopup = GroupPopupEnum.exGroupPopupVertical Or GroupPopupEnum.exNoGroupPopupFrame Or GroupPopupEnum.exGroupPopup
			.Check = True
			.ShowPopupOnChecked = True
			With .Items
				.Padding = "22,0,0,0"
				.Add("Radio 1").Radio = True
				.Add("Radio 2").Radio = True
				With .Add("Radio 3")
					.Radio = True
					.Checked = True
				End With
			End With
			.Checked = True
		End With
	End With
	.Refresh 
End With

VB.NET

With Exribbon1
	With .Items
		With .Add("Expand",2)
			.GroupPopup = exontrol.EXRIBBONLib.GroupPopupEnum.exGroupPopupVertical Or exontrol.EXRIBBONLib.GroupPopupEnum.exNoGroupPopupFrame Or exontrol.EXRIBBONLib.GroupPopupEnum.exGroupPopup
			.Check = True
			.ShowPopupOnChecked = True
			With .Items
				.Padding = "22,0,0,0"
				.Add("Radio 1").Radio = True
				.Add("Radio 2").Radio = True
				With .Add("Radio 3")
					.Radio = True
					.Checked = True
				End With
			End With
			.Checked = True
		End With
	End With
	.Refresh()
End With

VB.NET for /COM

With AxRibbon1
	With .Items
		With .Add("Expand",2)
			.GroupPopup = EXRIBBONLib.GroupPopupEnum.exGroupPopupVertical Or EXRIBBONLib.GroupPopupEnum.exNoGroupPopupFrame Or EXRIBBONLib.GroupPopupEnum.exGroupPopup
			.Check = True
			.ShowPopupOnChecked = True
			With .Items
				.Padding = "22,0,0,0"
				.Add("Radio 1").Radio = True
				.Add("Radio 2").Radio = True
				With .Add("Radio 3")
					.Radio = True
					.Checked = True
				End With
			End With
			.Checked = True
		End With
	End With
	.Refresh()
End With

C++

/*
	Copy and paste the following directives to your header file as
	it defines 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();

C++ Builder

Exribbonlib_tlb::IItemsPtr var_Items = Ribbon1->Items;
	Exribbonlib_tlb::IItemPtr var_Item = var_Items->Add(L"Expand",TVariant(2),TNoParam());
		var_Item->GroupPopup = Exribbonlib_tlb::GroupPopupEnum::exGroupPopupVertical | Exribbonlib_tlb::GroupPopupEnum::exNoGroupPopupFrame | Exribbonlib_tlb::GroupPopupEnum::exGroupPopup;
		var_Item->Check = true;
		var_Item->ShowPopupOnChecked = true;
		Exribbonlib_tlb::IItemsPtr var_Items1 = var_Item->Items;
			var_Items1->Padding = L"22,0,0,0";
			var_Items1->Add(L"Radio 1",TNoParam(),TNoParam())->Radio = true;
			var_Items1->Add(L"Radio 2",TNoParam(),TNoParam())->Radio = true;
			Exribbonlib_tlb::IItemPtr var_Item1 = var_Items1->Add(L"Radio 3",TNoParam(),TNoParam());
				var_Item1->Radio = true;
				var_Item1->Checked = true;
		var_Item->Checked = true;
Ribbon1->Refresh();

C#

exontrol.EXRIBBONLib.Items var_Items = exribbon1.Items;
	exontrol.EXRIBBONLib.Item var_Item = var_Items.Add("Expand",2,null);
		var_Item.GroupPopup = exontrol.EXRIBBONLib.GroupPopupEnum.exGroupPopupVertical | exontrol.EXRIBBONLib.GroupPopupEnum.exNoGroupPopupFrame | exontrol.EXRIBBONLib.GroupPopupEnum.exGroupPopup;
		var_Item.Check = true;
		var_Item.ShowPopupOnChecked = true;
		exontrol.EXRIBBONLib.Items var_Items1 = var_Item.Items;
			var_Items1.Padding = "22,0,0,0";
			var_Items1.Add("Radio 1",null,null).Radio = true;
			var_Items1.Add("Radio 2",null,null).Radio = true;
			exontrol.EXRIBBONLib.Item var_Item1 = var_Items1.Add("Radio 3",null,null);
				var_Item1.Radio = true;
				var_Item1.Checked = true;
		var_Item.Checked = true;
exribbon1.Refresh();

JScript/JavaScript

<BODY onload='Init()'>
<OBJECT CLASSID="clsid:DDF58CFA-750F-45E0-8A00-CFBE431702E2" id="Ribbon1"></OBJECT>

<SCRIPT LANGUAGE="JScript">
function Init()
{
	var var_Items = Ribbon1.Items;
		var var_Item = var_Items.Add("Expand",2,null);
			var_Item.GroupPopup = 259;
			var_Item.Check = true;
			var_Item.ShowPopupOnChecked = true;
			var var_Items1 = var_Item.Items;
				var_Items1.Padding = "22,0,0,0";
				var_Items1.Add("Radio 1",null,null).Radio = true;
				var_Items1.Add("Radio 2",null,null).Radio = true;
				var var_Item1 = var_Items1.Add("Radio 3",null,null);
					var_Item1.Radio = true;
					var_Item1.Checked = true;
			var_Item.Checked = true;
	Ribbon1.Refresh();
}
</SCRIPT>
</BODY>

VBScript

<BODY onload='Init()'>
<OBJECT CLASSID="clsid:DDF58CFA-750F-45E0-8A00-CFBE431702E2" id="Ribbon1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With Ribbon1
		With .Items
			With .Add("Expand",2)
				.GroupPopup = 259 ' GroupPopupEnum.exGroupPopupVertical Or GroupPopupEnum.exNoGroupPopupFrame Or GroupPopupEnum.exGroupPopup
				.Check = True
				.ShowPopupOnChecked = True
				With .Items
					.Padding = "22,0,0,0"
					.Add("Radio 1").Radio = True
					.Add("Radio 2").Radio = True
					With .Add("Radio 3")
						.Radio = True
						.Checked = True
					End With
				End With
				.Checked = True
			End With
		End With
		.Refresh 
	End With
End Function
</SCRIPT>
</BODY>

C# for /COM

EXRIBBONLib.Items var_Items = axRibbon1.Items;
	EXRIBBONLib.Item var_Item = var_Items.Add("Expand",2,null);
		var_Item.GroupPopup = EXRIBBONLib.GroupPopupEnum.exGroupPopupVertical | EXRIBBONLib.GroupPopupEnum.exNoGroupPopupFrame | EXRIBBONLib.GroupPopupEnum.exGroupPopup;
		var_Item.Check = true;
		var_Item.ShowPopupOnChecked = true;
		EXRIBBONLib.Items var_Items1 = var_Item.Items;
			var_Items1.Padding = "22,0,0,0";
			var_Items1.Add("Radio 1",null,null).Radio = true;
			var_Items1.Add("Radio 2",null,null).Radio = true;
			EXRIBBONLib.Item var_Item1 = var_Items1.Add("Radio 3",null,null);
				var_Item1.Radio = true;
				var_Item1.Checked = true;
		var_Item.Checked = true;
axRibbon1.Refresh();

X++ (Dynamics Ax 2009)

public void init()
{
	COM com_Item,com_Item1,com_Items,com_Items1;
	anytype var_Item,var_Item1,var_Items,var_Items1;
	;

	super();

	var_Items = exribbon1.Items(); com_Items = var_Items;
		var_Item = com_Items.Add("Expand",COMVariant::createFromInt(2)); com_Item = var_Item;
			com_Item.GroupPopup(259/*exGroupPopupVertical | exNoGroupPopupFrame | exGroupPopup*/);
			com_Item.Check(true);
			com_Item.ShowPopupOnChecked(true);
			var_Items1 = com_Item.Items(); com_Items1 = var_Items1;
				com_Items1.Padding("22,0,0,0");
				var_Item1 = COM::createFromObject(com_Items1.Add("Radio 1")); com_Item1 = var_Item1;
				com_Item1.Radio(true);
				var_Item1 = COM::createFromObject(com_Items1.Add("Radio 2")); com_Item1 = var_Item1;
				com_Item1.Radio(true);
				var_Item1 = com_Items1.Add("Radio 3"); com_Item1 = var_Item1;
					com_Item1.Radio(true);
					com_Item1.Checked(true);
			com_Item.Checked(true);
	exribbon1.Refresh();
}

Delphi 8 (.NET only)

with AxRibbon1 do
begin
	with Items do
	begin
		with Add('Expand',TObject(2),Nil) do
		begin
			GroupPopup := Integer(EXRIBBONLib.GroupPopupEnum.exGroupPopupVertical) Or Integer(EXRIBBONLib.GroupPopupEnum.exNoGroupPopupFrame) Or Integer(EXRIBBONLib.GroupPopupEnum.exGroupPopup);
			Check := True;
			ShowPopupOnChecked := True;
			with Items do
			begin
				Padding := '22,0,0,0';
				Add('Radio 1',Nil,Nil).Radio := True;
				Add('Radio 2',Nil,Nil).Radio := True;
				with Add('Radio 3',Nil,Nil) do
				begin
					Radio := True;
					Checked := True;
				end;
			end;
			Checked := True;
		end;
	end;
	Refresh();
end

Delphi (standard)

with Ribbon1 do
begin
	with Items do
	begin
		with Add('Expand',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXRIBBONLib_TLB.exGroupPopupVertical) Or Integer(EXRIBBONLib_TLB.exNoGroupPopupFrame) Or Integer(EXRIBBONLib_TLB.exGroupPopup);
			Check := True;
			ShowPopupOnChecked := True;
			with Items do
			begin
				Padding := '22,0,0,0';
				Add('Radio 1',Null,Null).Radio := True;
				Add('Radio 2',Null,Null).Radio := True;
				with Add('Radio 3',Null,Null) do
				begin
					Radio := True;
					Checked := True;
				end;
			end;
			Checked := True;
		end;
	end;
	Refresh();
end

VFP

with thisform.Ribbon1
	with .Items
		with .Add("Expand",2)
			.GroupPopup = 259 && GroupPopupEnum.exGroupPopupVertical Or GroupPopupEnum.exNoGroupPopupFrame Or GroupPopupEnum.exGroupPopup
			.Check = .T.
			.ShowPopupOnChecked = .T.
			with .Items
				.Padding = "22,0,0,0"
				.Add("Radio 1").Radio = .T.
				.Add("Radio 2").Radio = .T.
				with .Add("Radio 3")
					.Radio = .T.
					.Checked = .T.
				endwith
			endwith
			.Checked = .T.
		endwith
	endwith
	.Refresh
endwith

dBASE Plus

local oRibbon,var_Item,var_Item1,var_Item2,var_Item3,var_Items,var_Items1

oRibbon = form.Activex1.nativeObject
var_Items = oRibbon.Items
	var_Item = var_Items.Add("Expand",2)
		var_Item.GroupPopup = 259 /*exGroupPopupVertical | exNoGroupPopupFrame | exGroupPopup*/
		var_Item.Check = true
		var_Item.ShowPopupOnChecked = true
		var_Items1 = var_Item.Items
			var_Items1.Padding = "22,0,0,0"
			// var_Items1.Add("Radio 1").Radio = true
			var_Item1 = var_Items1.Add("Radio 1")
			with (oRibbon)
				TemplateDef = [Dim var_Item1]
				TemplateDef = var_Item1
				Template = [var_Item1.Radio = true]
			endwith
			// var_Items1.Add("Radio 2").Radio = true
			var_Item2 = var_Items1.Add("Radio 2")
			with (oRibbon)
				TemplateDef = [Dim var_Item2]
				TemplateDef = var_Item2
				Template = [var_Item2.Radio = true]
			endwith
			var_Item3 = var_Items1.Add("Radio 3")
				var_Item3.Radio = true
				var_Item3.Checked = true
		var_Item.Checked = true
oRibbon.Refresh()

XBasic (Alpha Five)

Dim oRibbon as P
Dim var_Item as P
Dim var_Item1 as P
Dim var_Item2 as P
Dim var_Item3 as P
Dim var_Items as P
Dim var_Items1 as P

oRibbon = topparent:CONTROL_ACTIVEX1.activex
var_Items = oRibbon.Items
	var_Item = var_Items.Add("Expand",2)
		var_Item.GroupPopup = 259 'exGroupPopupVertical + exNoGroupPopupFrame + exGroupPopup
		var_Item.Check = .t.
		var_Item.ShowPopupOnChecked = .t.
		var_Items1 = var_Item.Items
			var_Items1.Padding = "22,0,0,0"
			' var_Items1.Add("Radio 1").Radio = .t.
			var_Item1 = var_Items1.Add("Radio 1")
			oRibbon.TemplateDef = "Dim var_Item1"
			oRibbon.TemplateDef = var_Item1
			oRibbon.Template = "var_Item1.Radio = True"

			' var_Items1.Add("Radio 2").Radio = .t.
			var_Item2 = var_Items1.Add("Radio 2")
			oRibbon.TemplateDef = "Dim var_Item2"
			oRibbon.TemplateDef = var_Item2
			oRibbon.Template = "var_Item2.Radio = True"

			var_Item3 = var_Items1.Add("Radio 3")
				var_Item3.Radio = .t.
				var_Item3.Checked = .t.
		var_Item.Checked = .t.
oRibbon.Refresh()

Visual Objects

local var_Item,var_Item1 as IItem
local var_Items,var_Items1 as IItems

var_Items := oDCOCX_Exontrol1:Items
	var_Item := var_Items:Add("Expand",2,nil)
		var_Item:GroupPopup := exGroupPopupVertical | exNoGroupPopupFrame | exGroupPopup
		var_Item:Check := true
		var_Item:ShowPopupOnChecked := true
		var_Items1 := var_Item:Items
			var_Items1:Padding := "22,0,0,0"
			var_Items1:Add("Radio 1",nil,nil):Radio := true
			var_Items1:Add("Radio 2",nil,nil):Radio := true
			var_Item1 := var_Items1:Add("Radio 3",nil,nil)
				var_Item1:Radio := true
				var_Item1:Checked := true
		var_Item:Checked := true
oDCOCX_Exontrol1:Refresh()

PowerBuilder

OleObject oRibbon,var_Item,var_Item1,var_Items,var_Items1

oRibbon = ole_1.Object
var_Items = oRibbon.Items
	var_Item = var_Items.Add("Expand",2)
		var_Item.GroupPopup = 259 /*exGroupPopupVertical | exNoGroupPopupFrame | exGroupPopup*/
		var_Item.Check = true
		var_Item.ShowPopupOnChecked = true
		var_Items1 = var_Item.Items
			var_Items1.Padding = "22,0,0,0"
			var_Items1.Add("Radio 1").Radio = true
			var_Items1.Add("Radio 2").Radio = true
			var_Item1 = var_Items1.Add("Radio 3")
				var_Item1.Radio = true
				var_Item1.Checked = true
		var_Item.Checked = true
oRibbon.Refresh()

Visual DataFlex

Procedure OnCreate
	Forward Send OnCreate
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant voItem
		Get ComAdd of hoItems "Expand" 2 Nothing to voItem
		Handle hoItem
		Get Create (RefClass(cComItem)) to hoItem
		Set pvComObject of hoItem to voItem
			Set ComGroupPopup of hoItem to (OLEexGroupPopupVertical + OLEexNoGroupPopupFrame + OLEexGroupPopup)
			Set ComCheck of hoItem to True
			Set ComShowPopupOnChecked of hoItem to True
			Variant voItems1
			Get ComItems of hoItem to voItems1
			Handle hoItems1
			Get Create (RefClass(cComItems)) to hoItems1
			Set pvComObject of hoItems1 to voItems1
				Set ComPadding of hoItems1 to "22,0,0,0"
				Variant voItem1
				Get ComAdd of hoItems1 "Radio 1" Nothing Nothing to voItem1
				Handle hoItem1
				Get Create (RefClass(cComItem)) to hoItem1
				Set pvComObject of hoItem1 to voItem1
					Set ComRadio of hoItem1 to True
				Send Destroy to hoItem1
				Variant voItem2
				Get ComAdd of hoItems1 "Radio 2" Nothing Nothing to voItem2
				Handle hoItem2
				Get Create (RefClass(cComItem)) to hoItem2
				Set pvComObject of hoItem2 to voItem2
					Set ComRadio of hoItem2 to True
				Send Destroy to hoItem2
				Variant voItem3
				Get ComAdd of hoItems1 "Radio 3" Nothing Nothing to voItem3
				Handle hoItem3
				Get Create (RefClass(cComItem)) to hoItem3
				Set pvComObject of hoItem3 to voItem3
					Set ComRadio of hoItem3 to True
					Set ComChecked of hoItem3 to True
				Send Destroy to hoItem3
			Send Destroy to hoItems1
			Set ComChecked of hoItem to True
		Send Destroy to hoItem
	Send Destroy to hoItems
	Send ComRefresh
End_Procedure

XBase++

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItem,oItem1
	LOCAL oItems,oItems1
	LOCAL oRibbon

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oRibbon := XbpActiveXControl():new( oForm:drawingArea )
	oRibbon:CLSID  := "Exontrol.Ribbon.1" /*{DDF58CFA-750F-45E0-8A00-CFBE431702E2}*/
	oRibbon:create(,, {10,60},{610,370} )

		oItems := oRibbon:Items()
			oItem := oItems:Add("Expand",2)
				oItem:GroupPopup := 259/*exGroupPopupVertical+exNoGroupPopupFrame+exGroupPopup*/
				oItem:Check := .T.
				oItem:ShowPopupOnChecked := .T.
				oItems1 := oItem:Items()
					oItems1:Padding := "22,0,0,0"
					oItems1:Add("Radio 1"):Radio := .T.
					oItems1:Add("Radio 2"):Radio := .T.
					oItem1 := oItems1:Add("Radio 3")
						oItem1:Radio := .T.
						oItem1:Checked := .T.
				oItem:Checked := .T.
		oRibbon:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN