property Item.ShowAsButton as ShowAsButtonEnum
Specifies whether the item is shown as a button.

TypeDescription
ShowAsButtonEnum A ShowAsButtonEnum expression that indicates whether the item is shown as a button.
By default, the ShowAsButton property is False. Use the ShowAsButton property to add buttons to your item. The Caption property specifies the caption of the item/button. Use the Item's CloseOnClick property to specify a different way to close the menu when user clicks a specified item. You can use the ShowAsButton property on exShowAsSelectButton, for a popup-item, where the SubMenu property determines the sub-menu/items to be shown when user clicks the associated arrow ( select button ).

The following screen shot shows the items with no button appearance ( ShowAsButton on exShowAsButtonNone )

The following screen shot shows the items with button appearance ( ShowAsButton on exShowAsButton )

The following screen shot shows the items with button appearance ( ShowAsButton on exShowAsSelectButtonBottom )

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

VBA (MS Access, Excell...)

With ToolBar1
	With .Items
		With .Add("Button",2)
			.ShowAsButton = 19 ' ShowAsButtonEnum.exShowAsSelectButton Or ShowAsButtonEnum.exShowAsButtonAutoSize
			With .Items
				.PopupAppearance = 6
				.Add "Item 1"
				.Add "Item 2"
				.Add "Item 3"
			End With
		End With
	End With
	.Refresh 
End With

VB6

With ToolBar1
	With .Items
		With .Add("Button",2)
			.ShowAsButton = ShowAsButtonEnum.exShowAsSelectButton Or ShowAsButtonEnum.exShowAsButtonAutoSize
			With .Items
				.PopupAppearance = ShadowBorder
				.Add "Item 1"
				.Add "Item 2"
				.Add "Item 3"
			End With
		End With
	End With
	.Refresh 
End With

VB.NET

With Extoolbar1
	With .Items
		With .Add("Button",2)
			.ShowAsButton = exontrol.EXTOOLBARLib.ShowAsButtonEnum.exShowAsSelectButton Or exontrol.EXTOOLBARLib.ShowAsButtonEnum.exShowAsButtonAutoSize
			With .Items
				.PopupAppearance = exontrol.EXTOOLBARLib.AppearanceEnum.ShadowBorder
				.Add("Item 1")
				.Add("Item 2")
				.Add("Item 3")
			End With
		End With
	End With
	.Refresh()
End With

VB.NET for /COM

With AxToolBar1
	With .Items
		With .Add("Button",2)
			.ShowAsButton = EXTOOLBARLib.ShowAsButtonEnum.exShowAsSelectButton Or EXTOOLBARLib.ShowAsButtonEnum.exShowAsButtonAutoSize
			With .Items
				.PopupAppearance = EXTOOLBARLib.AppearanceEnum.ShadowBorder
				.Add("Item 1")
				.Add("Item 2")
				.Add("Item 3")
			End With
		End With
	End With
	.Refresh()
End With

C++

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

	#import <ExToolBar.dll>
	using namespace EXTOOLBARLib;
*/
EXTOOLBARLib::IToolBarPtr spToolBar1 = GetDlgItem(IDC_TOOLBAR1)->GetControlUnknown();
EXTOOLBARLib::IItemsPtr var_Items = spToolBar1->GetItems();
	EXTOOLBARLib::IItemPtr var_Item = var_Items->Add(L"Button",long(2),vtMissing);
		var_Item->PutShowAsButton(EXTOOLBARLib::ShowAsButtonEnum(EXTOOLBARLib::exShowAsSelectButton | EXTOOLBARLib::exShowAsButtonAutoSize));
		EXTOOLBARLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->PutPopupAppearance(EXTOOLBARLib::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);
spToolBar1->Refresh();

C++ Builder

Extoolbarlib_tlb::IItemsPtr var_Items = ToolBar1->Items;
	Extoolbarlib_tlb::IItemPtr var_Item = var_Items->Add(L"Button",TVariant(2),TNoParam());
		var_Item->ShowAsButton = Extoolbarlib_tlb::ShowAsButtonEnum::exShowAsSelectButton | Extoolbarlib_tlb::ShowAsButtonEnum::exShowAsButtonAutoSize;
		Extoolbarlib_tlb::IItemsPtr var_Items1 = var_Item->Items;
			var_Items1->PopupAppearance = Extoolbarlib_tlb::AppearanceEnum::ShadowBorder;
			var_Items1->Add(L"Item 1",TNoParam(),TNoParam());
			var_Items1->Add(L"Item 2",TNoParam(),TNoParam());
			var_Items1->Add(L"Item 3",TNoParam(),TNoParam());
ToolBar1->Refresh();

C#

exontrol.EXTOOLBARLib.Items var_Items = extoolbar1.Items;
	exontrol.EXTOOLBARLib.Item var_Item = var_Items.Add("Button",2,null);
		var_Item.ShowAsButton = exontrol.EXTOOLBARLib.ShowAsButtonEnum.exShowAsSelectButton | exontrol.EXTOOLBARLib.ShowAsButtonEnum.exShowAsButtonAutoSize;
		exontrol.EXTOOLBARLib.Items var_Items1 = var_Item.Items;
			var_Items1.PopupAppearance = exontrol.EXTOOLBARLib.AppearanceEnum.ShadowBorder;
			var_Items1.Add("Item 1",null,null);
			var_Items1.Add("Item 2",null,null);
			var_Items1.Add("Item 3",null,null);
extoolbar1.Refresh();

JScript/JavaScript

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

<SCRIPT LANGUAGE="JScript">
function Init()
{
	var var_Items = ToolBar1.Items;
		var var_Item = var_Items.Add("Button",2,null);
			var_Item.ShowAsButton = 19;
			var var_Items1 = var_Item.Items;
				var_Items1.PopupAppearance = 6;
				var_Items1.Add("Item 1",null,null);
				var_Items1.Add("Item 2",null,null);
				var_Items1.Add("Item 3",null,null);
	ToolBar1.Refresh();
}
</SCRIPT>
</BODY>

VBScript

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

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ToolBar1
		With .Items
			With .Add("Button",2)
				.ShowAsButton = 19 ' ShowAsButtonEnum.exShowAsSelectButton Or ShowAsButtonEnum.exShowAsButtonAutoSize
				With .Items
					.PopupAppearance = 6
					.Add "Item 1"
					.Add "Item 2"
					.Add "Item 3"
				End With
			End With
		End With
		.Refresh 
	End With
End Function
</SCRIPT>
</BODY>

C# for /COM

EXTOOLBARLib.Items var_Items = axToolBar1.Items;
	EXTOOLBARLib.Item var_Item = var_Items.Add("Button",2,null);
		var_Item.ShowAsButton = EXTOOLBARLib.ShowAsButtonEnum.exShowAsSelectButton | EXTOOLBARLib.ShowAsButtonEnum.exShowAsButtonAutoSize;
		EXTOOLBARLib.Items var_Items1 = var_Item.Items;
			var_Items1.PopupAppearance = EXTOOLBARLib.AppearanceEnum.ShadowBorder;
			var_Items1.Add("Item 1",null,null);
			var_Items1.Add("Item 2",null,null);
			var_Items1.Add("Item 3",null,null);
axToolBar1.Refresh();

X++ (Dynamics Ax 2009)

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

	super();

	var_Items = extoolbar1.Items(); com_Items = var_Items;
		var_Item = com_Items.Add("Button",COMVariant::createFromInt(2)); com_Item = var_Item;
			com_Item.ShowAsButton(19/*exShowAsSelectButton | exShowAsButtonAutoSize*/);
			var_Items1 = com_Item.Items(); com_Items1 = var_Items1;
				com_Items1.PopupAppearance(6/*ShadowBorder*/);
				com_Items1.Add("Item 1");
				com_Items1.Add("Item 2");
				com_Items1.Add("Item 3");
	extoolbar1.Refresh();
}

Delphi 8 (.NET only)

with AxToolBar1 do
begin
	with Items do
	begin
		with Add('Button',TObject(2),Nil) do
		begin
			ShowAsButton := Integer(EXTOOLBARLib.ShowAsButtonEnum.exShowAsSelectButton) Or Integer(EXTOOLBARLib.ShowAsButtonEnum.exShowAsButtonAutoSize);
			with Items do
			begin
				PopupAppearance := EXTOOLBARLib.AppearanceEnum.ShadowBorder;
				Add('Item 1',Nil,Nil);
				Add('Item 2',Nil,Nil);
				Add('Item 3',Nil,Nil);
			end;
		end;
	end;
	Refresh();
end

Delphi (standard)

with ToolBar1 do
begin
	with Items do
	begin
		with Add('Button',OleVariant(2),Null) do
		begin
			ShowAsButton := Integer(EXTOOLBARLib_TLB.exShowAsSelectButton) Or Integer(EXTOOLBARLib_TLB.exShowAsButtonAutoSize);
			with Items do
			begin
				PopupAppearance := EXTOOLBARLib_TLB.ShadowBorder;
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
	end;
	Refresh();
end

VFP

with thisform.ToolBar1
	with .Items
		with .Add("Button",2)
			.ShowAsButton = 19 && ShowAsButtonEnum.exShowAsSelectButton Or ShowAsButtonEnum.exShowAsButtonAutoSize
			with .Items
				.PopupAppearance = 6
				.Add("Item 1")
				.Add("Item 2")
				.Add("Item 3")
			endwith
		endwith
	endwith
	.Refresh
endwith

dBASE Plus

local oToolBar,var_Item,var_Items,var_Items1

oToolBar = form.Activex1.nativeObject
var_Items = oToolBar.Items
	var_Item = var_Items.Add("Button",2)
		var_Item.ShowAsButton = 19 /*exShowAsSelectButton | exShowAsButtonAutoSize*/
		var_Items1 = var_Item.Items
			var_Items1.PopupAppearance = 6
			var_Items1.Add("Item 1")
			var_Items1.Add("Item 2")
			var_Items1.Add("Item 3")
oToolBar.Refresh()

XBasic (Alpha Five)

Dim oToolBar as P
Dim var_Item as P
Dim var_Items as P
Dim var_Items1 as P

oToolBar = topparent:CONTROL_ACTIVEX1.activex
var_Items = oToolBar.Items
	var_Item = var_Items.Add("Button",2)
		var_Item.ShowAsButton = 19 'exShowAsSelectButton + exShowAsButtonAutoSize
		var_Items1 = var_Item.Items
			var_Items1.PopupAppearance = 6
			var_Items1.Add("Item 1")
			var_Items1.Add("Item 2")
			var_Items1.Add("Item 3")
oToolBar.Refresh()

Visual Objects

local var_Item as IItem
local var_Items,var_Items1 as IItems

var_Items := oDCOCX_Exontrol1:Items
	var_Item := var_Items:Add("Button",2,nil)
		var_Item:ShowAsButton := exShowAsSelectButton | exShowAsButtonAutoSize
		var_Items1 := var_Item:Items
			var_Items1:PopupAppearance := ShadowBorder
			var_Items1:Add("Item 1",nil,nil)
			var_Items1:Add("Item 2",nil,nil)
			var_Items1:Add("Item 3",nil,nil)
oDCOCX_Exontrol1:Refresh()

PowerBuilder

OleObject oToolBar,var_Item,var_Items,var_Items1

oToolBar = ole_1.Object
var_Items = oToolBar.Items
	var_Item = var_Items.Add("Button",2)
		var_Item.ShowAsButton = 19 /*exShowAsSelectButton | exShowAsButtonAutoSize*/
		var_Items1 = var_Item.Items
			var_Items1.PopupAppearance = 6
			var_Items1.Add("Item 1")
			var_Items1.Add("Item 2")
			var_Items1.Add("Item 3")
oToolBar.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 "Button" 2 Nothing to voItem
		Handle hoItem
		Get Create (RefClass(cComItem)) to hoItem
		Set pvComObject of hoItem to voItem
			Set ComShowAsButton of hoItem to (OLEexShowAsSelectButton + OLEexShowAsButtonAutoSize)
			Variant voItems1
			Get ComItems of hoItem to voItems1
			Handle hoItems1
			Get Create (RefClass(cComItems)) to hoItems1
			Set pvComObject of hoItems1 to voItems1
				Set ComPopupAppearance of hoItems1 to OLEShadowBorder
				Get ComAdd of hoItems1 "Item 1" Nothing Nothing to Nothing
				Get ComAdd of hoItems1 "Item 2" Nothing Nothing to Nothing
				Get ComAdd of hoItems1 "Item 3" Nothing Nothing to Nothing
			Send Destroy to hoItems1
		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
	LOCAL oItems,oItems1
	LOCAL oToolBar

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

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

		oItems := oToolBar:Items()
			oItem := oItems:Add("Button",2)
				oItem:ShowAsButton := 19/*exShowAsSelectButton+exShowAsButtonAutoSize*/
				oItems1 := oItem:Items()
					oItems1:PopupAppearance := 6/*ShadowBorder*/
					oItems1:Add("Item 1")
					oItems1:Add("Item 2")
					oItems1:Add("Item 3")
		oToolBar:Refresh()

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