property RadialMenu.PointerPicture as Variant
Indicates the picture to be shown on the pointer zone's background.

TypeDescription
Variant A VARIANT expression that indicates the picture to be shown on the pointer zone's background. It can be one of the following:
  • A String expression indicates:
    • a name of a picture file in the PicturePath folder. For instance, PointerPicture = "favorites.png", loads the favorites.png file if found in the PicturePath folder.
    • a picture file including its absolute path. For instance, PointerPicture = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images\favorites.png", loads the favorites.png file from absolute path
    • a key of the HTML picture, previously loaded by the HTMLPicture method. For instance, PointerPicture = "pic1", loads the HTML picture with the key pic1, so the pic1 should be load previously with a HTMLPicture call like HTMLPicture("pic1") = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images\favorites.png"
    • an encode BASE64 string of a picture file. The Exontrol's ExImages Tool encode/decode BASE64 strings from/to pictures. In this case, the string starts with "gB..", "gC.." and so on.
  • A Picture object that indicates the picture to be displayed. For instance, PointerPicture = LoadPicture("picture.jpg")

If no picture/image is found, the item displays no picture/image.

By default, the PointerPicture property is empty. The PointerPicture property indicates the picture to be shown on the pointer zone's background. The AllowHotPointer property indicates whether the pointer is oriented to the item, while hovering the radial menu. No pointer is shown, while the PointerPicture property is empty, even if the AllowHotPointer property is True. The SelectedIndex property specifies the index of the item/slice to be selected.

The following screen show show a pointer over the control:

The following properties specifies where the pointer picture should be placed, relative to the center of the radial menu:

The PointerIndex property specifies the index within the radial menu to target the pointer. The PointerAngle property specifies the angle of the pointer to target another item or index.

The following sample shows how you can select an item, once the user clicks it:

VBA (MS Access, Excell...)

' SelectItem event - Notifies once the user selects an item.
Private Sub RadialMenu1_SelectItem(ByVal Item As Object)
	' PointerIndex = Item.Index
	With RadialMenu1
		.SelectedIndex(3) = .PointerIndex
	End With
End Sub

With RadialMenu1
	.BeginUpdate 
	.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
	.PointerPicture = "pointer.png"
	.SelBackAlpha(1) = 32
	.SelBackAlpha(2) = 128
	.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
	.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
	.AllowHotPointer = False
	.SelForeColor(3) = RGB(0,0,0)
	.ParentSize = "36*dpi"
	.ParentImageHeight(-1) = "48*dpi"
	.ParentImageWidth(-1) = "48*dpi"
	.RadialLineSize(8) = -1
	.RadialLineAlpha(8) = 32
	.RadialLineColor(11) = -1
	.Expanded = True
	.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
	.PointerIndex = 0
	.SelectedIndex(3) = .PointerIndex
	.EndUpdate 
End With

VB6

' SelectItem event - Notifies once the user selects an item.
Private Sub RadialMenu1_SelectItem(ByVal Item As EXRADIALMENULibCtl.IItem)
	' PointerIndex = Item.Index
	With RadialMenu1
		.SelectedIndex(exRadialFullItems) = .PointerIndex
	End With
End Sub

With RadialMenu1
	.BeginUpdate 
	.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
	.PointerPicture = "pointer.png"
	.SelBackAlpha(exRadialItems) = 32
	.SelBackAlpha(exRadialSubItems) = 128
	.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
	.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
	.AllowHotPointer = False
	.SelForeColor(exRadialFullItems) = RGB(0,0,0)
	.ParentSize = "36*dpi"
	.ParentImageHeight(exRadialMenuStateAll) = "48*dpi"
	.ParentImageWidth(exRadialMenuStateAll) = "48*dpi"
	.RadialLineSize(exRadialHotParent) = -1
	.RadialLineAlpha(exRadialHotParent) = 32
	.RadialLineColor(exRadialHotFullItem) = -1
	.Expanded = True
	.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
	.PointerIndex = 0
	.SelectedIndex(exRadialFullItems) = .PointerIndex
	.EndUpdate 
End With

VB.NET

' SelectItem event - Notifies once the user selects an item.
Private Sub Exradialmenu1_SelectItem(ByVal sender As System.Object,ByVal Item As exontrol.EXRADIALMENULib.Item) Handles Exradialmenu1.SelectItem
	' PointerIndex = Item.Index
	With Exradialmenu1
		.set_SelectedIndex(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,.PointerIndex)
	End With
End Sub

With Exradialmenu1
	.BeginUpdate()
	.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
	.PointerPicture = "pointer.png"
	.set_SelBackAlpha(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialItems,32)
	.set_SelBackAlpha(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialSubItems,128)
	.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
	.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
	.AllowHotPointer = False
	.set_SelForeColor(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,Color.FromArgb(0,0,0))
	.ParentSize = "36*dpi"
	.set_ParentImageHeight(exontrol.EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi")
	.set_ParentImageWidth(exontrol.EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi")
	.set_RadialLineSize(exontrol.EXRADIALMENULib.RadialLineEnum.exRadialHotParent,-1)
	.set_RadialLineAlpha(exontrol.EXRADIALMENULib.RadialLineEnum.exRadialHotParent,32)
	.set_RadialLineColor32(exontrol.EXRADIALMENULib.RadialLineEnum.exRadialHotFullItem,-1)
	.Expanded = True
	.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
	.PointerIndex = 0
	.set_SelectedIndex(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,.PointerIndex)
	.EndUpdate()
End With

VB.NET for /COM

' SelectItem event - Notifies once the user selects an item.
Private Sub AxRadialMenu1_SelectItem(ByVal sender As System.Object, ByVal e As AxEXRADIALMENULib._IRadialMenuEvents_SelectItemEvent) Handles AxRadialMenu1.SelectItem
	' PointerIndex = Item.Index
	With AxRadialMenu1
		.set_SelectedIndex(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,.PointerIndex)
	End With
End Sub

With AxRadialMenu1
	.BeginUpdate()
	.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
	.PointerPicture = "pointer.png"
	.set_SelBackAlpha(EXRADIALMENULib.RadialItemsEnum.exRadialItems,32)
	.set_SelBackAlpha(EXRADIALMENULib.RadialItemsEnum.exRadialSubItems,128)
	.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
	.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
	.AllowHotPointer = False
	.set_SelForeColor(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,0)
	.ParentSize = "36*dpi"
	.set_ParentImageHeight(EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi")
	.set_ParentImageWidth(EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi")
	.set_RadialLineSize(EXRADIALMENULib.RadialLineEnum.exRadialHotParent,-1)
	.set_RadialLineAlpha(EXRADIALMENULib.RadialLineEnum.exRadialHotParent,32)
	.set_RadialLineColor(EXRADIALMENULib.RadialLineEnum.exRadialHotFullItem,-1)
	.Expanded = True
	.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
	.PointerIndex = 0
	.set_SelectedIndex(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,.PointerIndex)
	.EndUpdate()
End With

C++

// SelectItem event - Notifies once the user selects an item.
void OnSelectItemRadialMenu1(LPDISPATCH   Item)
{
	// PointerIndex = Item.Index
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRADIALMENULib' for the library: 'ExRadialMenu 1.0 Control Library'
		#import <ExRadialMenu.dll>
		using namespace EXRADIALMENULib;
	*/
	EXRADIALMENULib::IRadialMenuPtr spRadialMenu1 = GetDlgItem(IDC_RADIALMENU1)->GetControlUnknown();
	spRadialMenu1->PutSelectedIndex(EXRADIALMENULib::exRadialFullItems,spRadialMenu1->GetPointerIndex());
}

EXRADIALMENULib::IRadialMenuPtr spRadialMenu1 = GetDlgItem(IDC_RADIALMENU1)->GetControlUnknown();
spRadialMenu1->BeginUpdate();
spRadialMenu1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExRadialMenu\\Sample\\Images");
spRadialMenu1->PutPointerPicture("pointer.png");
spRadialMenu1->PutSelBackAlpha(EXRADIALMENULib::exRadialItems,32);
spRadialMenu1->PutSelBackAlpha(EXRADIALMENULib::exRadialSubItems,128);
spRadialMenu1->PutPointerPictureY(L"y + (height-pheight)/2- 21*dpi");
spRadialMenu1->PutPointerPictureX(L"x + (width-pwidth)/2 + 1 * dpi");
spRadialMenu1->PutAllowHotPointer(VARIANT_FALSE);
spRadialMenu1->PutSelForeColor(EXRADIALMENULib::exRadialFullItems,RGB(0,0,0));
spRadialMenu1->PutParentSize(L"36*dpi");
spRadialMenu1->PutParentImageHeight(EXRADIALMENULib::exRadialMenuStateAll,L"48*dpi");
spRadialMenu1->PutParentImageWidth(EXRADIALMENULib::exRadialMenuStateAll,L"48*dpi");
spRadialMenu1->PutRadialLineSize(EXRADIALMENULib::exRadialHotParent,-1);
spRadialMenu1->PutRadialLineAlpha(EXRADIALMENULib::exRadialHotParent,32);
spRadialMenu1->PutRadialLineColor(EXRADIALMENULib::exRadialHotFullItem,-1);
spRadialMenu1->PutExpanded(VARIANT_TRUE);
spRadialMenu1->GetItems()->PutToString(L"Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8");
spRadialMenu1->PutPointerIndex(0);
spRadialMenu1->PutSelectedIndex(EXRADIALMENULib::exRadialFullItems,spRadialMenu1->GetPointerIndex());
spRadialMenu1->EndUpdate();

C++ Builder

// SelectItem event - Notifies once the user selects an item.
void __fastcall TForm1::RadialMenu1SelectItem(TObject *Sender,Exradialmenulib_tlb::IItem   *Item)
{
	// PointerIndex = Item.Index
	RadialMenu1->SelectedIndex[Exradialmenulib_tlb::RadialItemsEnum::exRadialFullItems] = RadialMenu1->PointerIndex;
}

RadialMenu1->BeginUpdate();
RadialMenu1->PicturesPath = L"C:\\Program Files\\Exontrol\\ExRadialMenu\\Sample\\Images";
RadialMenu1->set_PointerPicture(TVariant("pointer.png"));
RadialMenu1->SelBackAlpha[Exradialmenulib_tlb::RadialItemsEnum::exRadialItems] = 32;
RadialMenu1->SelBackAlpha[Exradialmenulib_tlb::RadialItemsEnum::exRadialSubItems] = 128;
RadialMenu1->PointerPictureY = L"y + (height-pheight)/2- 21*dpi";
RadialMenu1->PointerPictureX = L"x + (width-pwidth)/2 + 1 * dpi";
RadialMenu1->AllowHotPointer = false;
RadialMenu1->SelForeColor[Exradialmenulib_tlb::RadialItemsEnum::exRadialFullItems] = RGB(0,0,0);
RadialMenu1->ParentSize = L"36*dpi";
RadialMenu1->ParentImageHeight[Exradialmenulib_tlb::RadialMenuStateEnum::exRadialMenuStateAll] = L"48*dpi";
RadialMenu1->ParentImageWidth[Exradialmenulib_tlb::RadialMenuStateEnum::exRadialMenuStateAll] = L"48*dpi";
RadialMenu1->RadialLineSize[Exradialmenulib_tlb::RadialLineEnum::exRadialHotParent] = -1;
RadialMenu1->RadialLineAlpha[Exradialmenulib_tlb::RadialLineEnum::exRadialHotParent] = 32;
RadialMenu1->RadialLineColor[Exradialmenulib_tlb::RadialLineEnum::exRadialHotFullItem] = -1;
RadialMenu1->Expanded = true;
RadialMenu1->Items->ToString = L"Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8";
RadialMenu1->PointerIndex = 0;
RadialMenu1->SelectedIndex[Exradialmenulib_tlb::RadialItemsEnum::exRadialFullItems] = RadialMenu1->PointerIndex;
RadialMenu1->EndUpdate();

C#

// SelectItem event - Notifies once the user selects an item.
private void exradialmenu1_SelectItem(object sender,exontrol.EXRADIALMENULib.Item   Item)
{
	// PointerIndex = Item.Index
	exradialmenu1.set_SelectedIndex(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,exradialmenu1.PointerIndex);
}
//this.exradialmenu1.SelectItem += new exontrol.EXRADIALMENULib.exg2antt.SelectItemEventHandler(this.exradialmenu1_SelectItem);

exradialmenu1.BeginUpdate();
exradialmenu1.PicturesPath = "C:\\Program Files\\Exontrol\\ExRadialMenu\\Sample\\Images";
exradialmenu1.PointerPicture = "pointer.png";
exradialmenu1.set_SelBackAlpha(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialItems,32);
exradialmenu1.set_SelBackAlpha(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialSubItems,128);
exradialmenu1.PointerPictureY = "y + (height-pheight)/2- 21*dpi";
exradialmenu1.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi";
exradialmenu1.AllowHotPointer = false;
exradialmenu1.set_SelForeColor(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,Color.FromArgb(0,0,0));
exradialmenu1.ParentSize = "36*dpi";
exradialmenu1.set_ParentImageHeight(exontrol.EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi");
exradialmenu1.set_ParentImageWidth(exontrol.EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi");
exradialmenu1.set_RadialLineSize(exontrol.EXRADIALMENULib.RadialLineEnum.exRadialHotParent,-1);
exradialmenu1.set_RadialLineAlpha(exontrol.EXRADIALMENULib.RadialLineEnum.exRadialHotParent,32);
exradialmenu1.set_RadialLineColor32(exontrol.EXRADIALMENULib.RadialLineEnum.exRadialHotFullItem,-1);
exradialmenu1.Expanded = true;
exradialmenu1.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8";
exradialmenu1.PointerIndex = 0;
exradialmenu1.set_SelectedIndex(exontrol.EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,exradialmenu1.PointerIndex);
exradialmenu1.EndUpdate();

JScript/JavaScript

<BODY onload="Init()">
<SCRIPT FOR="RadialMenu1" EVENT="SelectItem(Item)" LANGUAGE="JScript">
	// PointerIndex = Item.Index
	RadialMenu1.SelectedIndex(3) = RadialMenu1.PointerIndex;
</SCRIPT>

<OBJECT CLASSID="clsid:1604BDE1-D48F-4D3F-B51B-49C0CD74236C" id="RadialMenu1"></OBJECT>

<SCRIPT LANGUAGE="JScript">
function Init()
{
	RadialMenu1.BeginUpdate();
	RadialMenu1.PicturesPath = "C:\\Program Files\\Exontrol\\ExRadialMenu\\Sample\\Images";
	RadialMenu1.PointerPicture = "pointer.png";
	RadialMenu1.SelBackAlpha(1) = 32;
	RadialMenu1.SelBackAlpha(2) = 128;
	RadialMenu1.PointerPictureY = "y + (height-pheight)/2- 21*dpi";
	RadialMenu1.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi";
	RadialMenu1.AllowHotPointer = false;
	RadialMenu1.SelForeColor(3) = 0;
	RadialMenu1.ParentSize = "36*dpi";
	RadialMenu1.ParentImageHeight(-1) = "48*dpi";
	RadialMenu1.ParentImageWidth(-1) = "48*dpi";
	RadialMenu1.RadialLineSize(8) = -1;
	RadialMenu1.RadialLineAlpha(8) = 32;
	RadialMenu1.RadialLineColor(11) = -1;
	RadialMenu1.Expanded = true;
	RadialMenu1.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8";
	RadialMenu1.PointerIndex = 0;
	RadialMenu1.SelectedIndex(3) = RadialMenu1.PointerIndex;
	RadialMenu1.EndUpdate();
}
</SCRIPT>
</BODY>

VBScript

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function RadialMenu1_SelectItem(Item)
	' PointerIndex = Item.Index
	With RadialMenu1
		.SelectedIndex(3) = .PointerIndex
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:1604BDE1-D48F-4D3F-B51B-49C0CD74236C" id="RadialMenu1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With RadialMenu1
		.BeginUpdate 
		.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
		.PointerPicture = "pointer.png"
		.SelBackAlpha(1) = 32
		.SelBackAlpha(2) = 128
		.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
		.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
		.AllowHotPointer = False
		.SelForeColor(3) = RGB(0,0,0)
		.ParentSize = "36*dpi"
		.ParentImageHeight(-1) = "48*dpi"
		.ParentImageWidth(-1) = "48*dpi"
		.RadialLineSize(8) = -1
		.RadialLineAlpha(8) = 32
		.RadialLineColor(11) = -1
		.Expanded = True
		.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
		.PointerIndex = 0
		.SelectedIndex(3) = .PointerIndex
		.EndUpdate 
	End With
End Function
</SCRIPT>
</BODY>

C# for /COM

// SelectItem event - Notifies once the user selects an item.
private void axRadialMenu1_SelectItem(object sender, AxEXRADIALMENULib._IRadialMenuEvents_SelectItemEvent e)
{
	// PointerIndex = Item.Index
	axRadialMenu1.set_SelectedIndex(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,axRadialMenu1.PointerIndex);
}
//this.axRadialMenu1.SelectItem += new AxEXRADIALMENULib._IRadialMenuEvents_SelectItemEventHandler(this.axRadialMenu1_SelectItem);

axRadialMenu1.BeginUpdate();
axRadialMenu1.PicturesPath = "C:\\Program Files\\Exontrol\\ExRadialMenu\\Sample\\Images";
axRadialMenu1.PointerPicture = "pointer.png";
axRadialMenu1.set_SelBackAlpha(EXRADIALMENULib.RadialItemsEnum.exRadialItems,32);
axRadialMenu1.set_SelBackAlpha(EXRADIALMENULib.RadialItemsEnum.exRadialSubItems,128);
axRadialMenu1.PointerPictureY = "y + (height-pheight)/2- 21*dpi";
axRadialMenu1.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi";
axRadialMenu1.AllowHotPointer = false;
axRadialMenu1.set_SelForeColor(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,(uint)ColorTranslator.ToWin32(Color.FromArgb(0,0,0)));
axRadialMenu1.ParentSize = "36*dpi";
axRadialMenu1.set_ParentImageHeight(EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi");
axRadialMenu1.set_ParentImageWidth(EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,"48*dpi");
axRadialMenu1.set_RadialLineSize(EXRADIALMENULib.RadialLineEnum.exRadialHotParent,-1);
axRadialMenu1.set_RadialLineAlpha(EXRADIALMENULib.RadialLineEnum.exRadialHotParent,32);
axRadialMenu1.set_RadialLineColor(EXRADIALMENULib.RadialLineEnum.exRadialHotFullItem,-1);
axRadialMenu1.Expanded = true;
axRadialMenu1.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8";
axRadialMenu1.PointerIndex = 0;
axRadialMenu1.set_SelectedIndex(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,axRadialMenu1.PointerIndex);
axRadialMenu1.EndUpdate();

X++ (Dynamics Ax 2009)

// SelectItem event - Notifies once the user selects an item.
void onEvent_SelectItem(COM   _Item)
{
	// PointerIndex = Item.Index
	;
	exradialmenu1.SelectedIndex(3/*exRadialFullItems*/,exradialmenu1.PointerIndex());
}

public void init()
{
	;

	super();

	exradialmenu1.BeginUpdate();
	exradialmenu1.PicturesPath("C:\\Program Files\\Exontrol\\ExRadialMenu\\Sample\\Images");
	exradialmenu1.PointerPicture("pointer.png");
	exradialmenu1.SelBackAlpha(1/*exRadialItems*/,32);
	exradialmenu1.SelBackAlpha(2/*exRadialSubItems*/,128);
	exradialmenu1.PointerPictureY("y + (height-pheight)/2- 21*dpi");
	exradialmenu1.PointerPictureX("x + (width-pwidth)/2 + 1 * dpi");
	exradialmenu1.AllowHotPointer(false);
	exradialmenu1.SelForeColor(3/*exRadialFullItems*/,WinApi::RGB2int(0,0,0));
	exradialmenu1.ParentSize("36*dpi");
	exradialmenu1.ParentImageHeight(-1/*exRadialMenuStateAll*/,"48*dpi");
	exradialmenu1.ParentImageWidth(-1/*exRadialMenuStateAll*/,"48*dpi");
	exradialmenu1.RadialLineSize(8/*exRadialHotParent*/,-1);
	exradialmenu1.RadialLineAlpha(8/*exRadialHotParent*/,32);
	exradialmenu1.RadialLineColor(11/*exRadialHotFullItem*/,-1);
	exradialmenu1.Expanded(true);
	exradialmenu1.Items().ToString("Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8");
	exradialmenu1.PointerIndex(0);
	exradialmenu1.SelectedIndex(3/*exRadialFullItems*/,exradialmenu1.PointerIndex());
	exradialmenu1.EndUpdate();
}

Delphi 8 (.NET only)

// SelectItem event - Notifies once the user selects an item.
procedure TWinForm1.AxRadialMenu1_SelectItem(sender: System.Object; e: AxEXRADIALMENULib._IRadialMenuEvents_SelectItemEvent);
begin
	// PointerIndex = Item.Index
	with AxRadialMenu1 do
	begin
		set_SelectedIndex(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,PointerIndex);
	end
end;

with AxRadialMenu1 do
begin
	BeginUpdate();
	PicturesPath := 'C:\Program Files\Exontrol\ExRadialMenu\Sample\Images';
	PointerPicture := 'pointer.png';
	set_SelBackAlpha(EXRADIALMENULib.RadialItemsEnum.exRadialItems,32);
	set_SelBackAlpha(EXRADIALMENULib.RadialItemsEnum.exRadialSubItems,128);
	PointerPictureY := 'y + (height-pheight)/2- 21*dpi';
	PointerPictureX := 'x + (width-pwidth)/2 + 1 * dpi';
	AllowHotPointer := False;
	set_SelForeColor(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,$0);
	ParentSize := '36*dpi';
	set_ParentImageHeight(EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,'48*dpi');
	set_ParentImageWidth(EXRADIALMENULib.RadialMenuStateEnum.exRadialMenuStateAll,'48*dpi');
	set_RadialLineSize(EXRADIALMENULib.RadialLineEnum.exRadialHotParent,-1);
	set_RadialLineAlpha(EXRADIALMENULib.RadialLineEnum.exRadialHotParent,32);
	set_RadialLineColor(EXRADIALMENULib.RadialLineEnum.exRadialHotFullItem,$ffffffff);
	Expanded := True;
	Items.ToString := 'Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8';
	PointerIndex := 0;
	set_SelectedIndex(EXRADIALMENULib.RadialItemsEnum.exRadialFullItems,PointerIndex);
	EndUpdate();
end

Delphi (standard)

// SelectItem event - Notifies once the user selects an item.
procedure TForm1.RadialMenu1SelectItem(ASender: TObject; Item : IItem);
begin
	// PointerIndex = Item.Index
	with RadialMenu1 do
	begin
		SelectedIndex[EXRADIALMENULib_TLB.exRadialFullItems] := PointerIndex;
	end
end;

with RadialMenu1 do
begin
	BeginUpdate();
	PicturesPath := 'C:\Program Files\Exontrol\ExRadialMenu\Sample\Images';
	PointerPicture := 'pointer.png';
	SelBackAlpha[EXRADIALMENULib_TLB.exRadialItems] := 32;
	SelBackAlpha[EXRADIALMENULib_TLB.exRadialSubItems] := 128;
	PointerPictureY := 'y + (height-pheight)/2- 21*dpi';
	PointerPictureX := 'x + (width-pwidth)/2 + 1 * dpi';
	AllowHotPointer := False;
	SelForeColor[EXRADIALMENULib_TLB.exRadialFullItems] := $0;
	ParentSize := '36*dpi';
	ParentImageHeight[EXRADIALMENULib_TLB.exRadialMenuStateAll] := '48*dpi';
	ParentImageWidth[EXRADIALMENULib_TLB.exRadialMenuStateAll] := '48*dpi';
	RadialLineSize[EXRADIALMENULib_TLB.exRadialHotParent] := -1;
	RadialLineAlpha[EXRADIALMENULib_TLB.exRadialHotParent] := 32;
	RadialLineColor[EXRADIALMENULib_TLB.exRadialHotFullItem] := $ffffffff;
	Expanded := True;
	Items.ToString := 'Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8';
	PointerIndex := 0;
	SelectedIndex[EXRADIALMENULib_TLB.exRadialFullItems] := PointerIndex;
	EndUpdate();
end

VFP

*** SelectItem event - Notifies once the user selects an item. ***
LPARAMETERS Item
	*** PointerIndex = Item.Index
	with thisform.RadialMenu1
		.Object.SelectedIndex(3) = .PointerIndex
	endwith

with thisform.RadialMenu1
	.BeginUpdate
	.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
	.PointerPicture = "pointer.png"
	.Object.SelBackAlpha(1) = 32
	.Object.SelBackAlpha(2) = 128
	.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
	.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
	.AllowHotPointer = .F.
	.Object.SelForeColor(3) = RGB(0,0,0)
	.ParentSize = "36*dpi"
	.Object.ParentImageHeight(-1) = "48*dpi"
	.Object.ParentImageWidth(-1) = "48*dpi"
	.Object.RadialLineSize(8) = -1
	.Object.RadialLineAlpha(8) = 32
	.Object.RadialLineColor(11) = -1
	.Expanded = .T.
	.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
	.PointerIndex = 0
	.Object.SelectedIndex(3) = .PointerIndex
	.EndUpdate
endwith

dBASE Plus

/*
with (this.EXRADIALMENUACTIVEXCONTROL1.nativeObject)
	SelectItem = class::nativeObject_SelectItem
endwith
*/
// Notifies once the user selects an item.
function nativeObject_SelectItem(Item)
	/* PointerIndex = Item.Index */
	oRadialMenu = form.EXRADIALMENUACTIVEXCONTROL1.nativeObject
	oRadialMenu.Template = [SelectedIndex(3) = PointerIndex] // oRadialMenu.SelectedIndex(3) = oRadialMenu.PointerIndex
return

local oRadialMenu

oRadialMenu = form.EXRADIALMENUACTIVEXCONTROL1.nativeObject
oRadialMenu.BeginUpdate()
oRadialMenu.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
oRadialMenu.PointerPicture = "pointer.png"
oRadialMenu.Template = [SelBackAlpha(1) = 32] // oRadialMenu.SelBackAlpha(1) = 32
oRadialMenu.Template = [SelBackAlpha(2) = 128] // oRadialMenu.SelBackAlpha(2) = 128
oRadialMenu.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
oRadialMenu.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
oRadialMenu.AllowHotPointer = false
oRadialMenu.Template = [SelForeColor(3) = 0] // oRadialMenu.SelForeColor(3) = 0x0
oRadialMenu.ParentSize = "36*dpi"
oRadialMenu.Template = [ParentImageHeight(-1) = "48*dpi"] // oRadialMenu.ParentImageHeight(-1) = "48*dpi"
oRadialMenu.Template = [ParentImageWidth(-1) = "48*dpi"] // oRadialMenu.ParentImageWidth(-1) = "48*dpi"
oRadialMenu.Template = [RadialLineSize(8) = -1] // oRadialMenu.RadialLineSize(8) = -1
oRadialMenu.Template = [RadialLineAlpha(8) = 32] // oRadialMenu.RadialLineAlpha(8) = 32
oRadialMenu.Template = [RadialLineColor(11) = -1] // oRadialMenu.RadialLineColor(11) = -1
oRadialMenu.Expanded = true
oRadialMenu.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
oRadialMenu.PointerIndex = 0
oRadialMenu.Template = [SelectedIndex(3) = PointerIndex] // oRadialMenu.SelectedIndex(3) = oRadialMenu.PointerIndex
oRadialMenu.EndUpdate()

XBasic (Alpha Five)

' Notifies once the user selects an item.
function SelectItem as v (Item  as  OLE::Exontrol.RadialMenu.1::IItem)
	' PointerIndex = Item.Index
	oRadialMenu = topparent:CONTROL_ACTIVEX1.activex
	oRadialMenu.Template = "SelectedIndex(3) = PointerIndex" // oRadialMenu.SelectedIndex(3) = oRadialMenu.PointerIndex
end function

Dim oRadialMenu as P

oRadialMenu = topparent:CONTROL_ACTIVEX1.activex
oRadialMenu.BeginUpdate()
oRadialMenu.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
oRadialMenu.PointerPicture = "pointer.png"
oRadialMenu.Template = "SelBackAlpha(1) = 32" // oRadialMenu.SelBackAlpha(1) = 32
oRadialMenu.Template = "SelBackAlpha(2) = 128" // oRadialMenu.SelBackAlpha(2) = 128
oRadialMenu.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
oRadialMenu.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
oRadialMenu.AllowHotPointer = .f.
oRadialMenu.Template = "SelForeColor(3) = 0" // oRadialMenu.SelForeColor(3) = 0
oRadialMenu.ParentSize = "36*dpi"
oRadialMenu.Template = "ParentImageHeight(-1) = `48*dpi`" // oRadialMenu.ParentImageHeight(-1) = "48*dpi"
oRadialMenu.Template = "ParentImageWidth(-1) = `48*dpi`" // oRadialMenu.ParentImageWidth(-1) = "48*dpi"
oRadialMenu.Template = "RadialLineSize(8) = -1" // oRadialMenu.RadialLineSize(8) = -1
oRadialMenu.Template = "RadialLineAlpha(8) = 32" // oRadialMenu.RadialLineAlpha(8) = 32
oRadialMenu.Template = "RadialLineColor(11) = -1" // oRadialMenu.RadialLineColor(11) = -1
oRadialMenu.Expanded = .t.
oRadialMenu.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
oRadialMenu.PointerIndex = 0
oRadialMenu.Template = "SelectedIndex(3) = PointerIndex" // oRadialMenu.SelectedIndex(3) = oRadialMenu.PointerIndex
oRadialMenu.EndUpdate()

Visual Objects

METHOD OCX_Exontrol1SelectItem(Item) CLASS MainDialog
	// SelectItem event - Notifies once the user selects an item.
	// PointerIndex = Item.Index
	oDCOCX_Exontrol1:[SelectedIndex,exRadialFullItems] := oDCOCX_Exontrol1:PointerIndex
RETURN NIL


oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:PicturesPath := "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
oDCOCX_Exontrol1:PointerPicture := "pointer.png"
oDCOCX_Exontrol1:[SelBackAlpha,exRadialItems] := 32
oDCOCX_Exontrol1:[SelBackAlpha,exRadialSubItems] := 128
oDCOCX_Exontrol1:PointerPictureY := "y + (height-pheight)/2- 21*dpi"
oDCOCX_Exontrol1:PointerPictureX := "x + (width-pwidth)/2 + 1 * dpi"
oDCOCX_Exontrol1:AllowHotPointer := false
oDCOCX_Exontrol1:[SelForeColor,exRadialFullItems] := RGB(0,0,0)
oDCOCX_Exontrol1:ParentSize := "36*dpi"
oDCOCX_Exontrol1:[ParentImageHeight,exRadialMenuStateAll] := "48*dpi"
oDCOCX_Exontrol1:[ParentImageWidth,exRadialMenuStateAll] := "48*dpi"
oDCOCX_Exontrol1:[RadialLineSize,exRadialHotParent] := -1
oDCOCX_Exontrol1:[RadialLineAlpha,exRadialHotParent] := 32
oDCOCX_Exontrol1:[RadialLineColor,exRadialHotFullItem] := -1
oDCOCX_Exontrol1:Expanded := true
oDCOCX_Exontrol1:Items:ToString := "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
oDCOCX_Exontrol1:PointerIndex := 0
oDCOCX_Exontrol1:[SelectedIndex,exRadialFullItems] := oDCOCX_Exontrol1:PointerIndex
oDCOCX_Exontrol1:EndUpdate()

PowerBuilder

/*begin event SelectItem(oleobject  Item) - Notifies once the user selects an item.*/
/*
	PointerIndex = Item.Index
	oRadialMenu = ole_1.Object
	oRadialMenu.SelectedIndex(3,oRadialMenu.PointerIndex)
*/
/*end event SelectItem*/

OleObject oRadialMenu

oRadialMenu = ole_1.Object
oRadialMenu.BeginUpdate()
oRadialMenu.PicturesPath = "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
oRadialMenu.PointerPicture = "pointer.png"
oRadialMenu.SelBackAlpha(1,32)
oRadialMenu.SelBackAlpha(2,128)
oRadialMenu.PointerPictureY = "y + (height-pheight)/2- 21*dpi"
oRadialMenu.PointerPictureX = "x + (width-pwidth)/2 + 1 * dpi"
oRadialMenu.AllowHotPointer = false
oRadialMenu.SelForeColor(3,RGB(0,0,0))
oRadialMenu.ParentSize = "36*dpi"
oRadialMenu.ParentImageHeight(-1,"48*dpi")
oRadialMenu.ParentImageWidth(-1,"48*dpi")
oRadialMenu.RadialLineSize(8,-1)
oRadialMenu.RadialLineAlpha(8,32)
oRadialMenu.RadialLineColor(11,-1)
oRadialMenu.Expanded = true
oRadialMenu.Items.ToString = "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
oRadialMenu.PointerIndex = 0
oRadialMenu.SelectedIndex(3,oRadialMenu.PointerIndex)
oRadialMenu.EndUpdate()

Visual DataFlex

// Notifies once the user selects an item.
Procedure OnComSelectItem Variant   llItem
	Forward Send OnComSelectItem llItem
	// PointerIndex = Item.Index
	Set ComSelectedIndex OLEexRadialFullItems to (ComPointerIndex(Self))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComPicturesPath to "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
	Set ComPointerPicture to "pointer.png"
	Set ComSelBackAlpha OLEexRadialItems to 32
	Set ComSelBackAlpha OLEexRadialSubItems to 128
	Set ComPointerPictureY to "y + (height-pheight)/2- 21*dpi"
	Set ComPointerPictureX to "x + (width-pwidth)/2 + 1 * dpi"
	Set ComAllowHotPointer to False
	Set ComSelForeColor OLEexRadialFullItems to (RGB(0,0,0))
	Set ComParentSize to "36*dpi"
	Set ComParentImageHeight OLEexRadialMenuStateAll to "48*dpi"
	Set ComParentImageWidth OLEexRadialMenuStateAll to "48*dpi"
	Set ComRadialLineSize OLEexRadialHotParent to -1
	Set ComRadialLineAlpha OLEexRadialHotParent to 32
	Set ComRadialLineColor OLEexRadialHotFullItem to -1
	Set ComExpanded to True
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComToString of hoItems to "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
	Send Destroy to hoItems
	Set ComPointerIndex to 0
	Set ComSelectedIndex OLEexRadialFullItems to (ComPointerIndex(Self))
	Send ComEndUpdate
End_Procedure

XBase++

PROCEDURE OnSelectItem(oRadialMenu,Item)
	/*PointerIndex = Item.Index*/
	oRadialMenu:SetProperty("SelectedIndex",3/*exRadialFullItems*/,oRadialMenu:PointerIndex())
RETURN

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oRadialMenu

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

	oRadialMenu := XbpActiveXControl():new( oForm:drawingArea )
	oRadialMenu:CLSID  := "Exontrol.RadialMenu.1" /*{1604BDE1-D48F-4D3F-B51B-49C0CD74236C}*/
	oRadialMenu:create(,, {10,60},{610,370} )

		oRadialMenu:SelectItem := {|Item| OnSelectItem(oRadialMenu,Item)} /*Notifies once the user selects an item.*/

		oRadialMenu:BeginUpdate()
		oRadialMenu:PicturesPath := "C:\Program Files\Exontrol\ExRadialMenu\Sample\Images"
		oRadialMenu:PointerPicture := "pointer.png"
		oRadialMenu:SetProperty("SelBackAlpha",1/*exRadialItems*/,32)
		oRadialMenu:SetProperty("SelBackAlpha",2/*exRadialSubItems*/,128)
		oRadialMenu:PointerPictureY := "y + (height-pheight)/2- 21*dpi"
		oRadialMenu:PointerPictureX := "x + (width-pwidth)/2 + 1 * dpi"
		oRadialMenu:AllowHotPointer := .F.
		oRadialMenu:SetProperty("SelForeColor",3/*exRadialFullItems*/,AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oRadialMenu:ParentSize := "36*dpi"
		oRadialMenu:SetProperty("ParentImageHeight",-1/*exRadialMenuStateAll*/,"48*dpi")
		oRadialMenu:SetProperty("ParentImageWidth",-1/*exRadialMenuStateAll*/,"48*dpi")
		oRadialMenu:SetProperty("RadialLineSize",8/*exRadialHotParent*/,-1)
		oRadialMenu:SetProperty("RadialLineAlpha",8/*exRadialHotParent*/,32)
		oRadialMenu:SetProperty("RadialLineColor",11/*exRadialHotFullItem*/,-1)
		oRadialMenu:Expanded := .T.
		oRadialMenu:Items():ToString := "Item 1,Item 2,Item 3,Item 4,Item 5,Item 6,Item 7,Item 8"
		oRadialMenu:PointerIndex := 0
		oRadialMenu:SetProperty("SelectedIndex",3/*exRadialFullItems*/,oRadialMenu:PointerIndex())
		oRadialMenu:EndUpdate()

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