property Foreground.Caption(Property as PropertyLayerCaptionEnum) as Variant
Specifies the caption on the layer.

TypeDescription
Property as PropertyLayerCaptionEnum A PropertyLayerCaptionEnum expression that specifies the caption's property to be changed.
Variant A VARIANT expression that specifies the value of the caption's property.
The control support unlimited HTML captions to be place anywhere on the control or on any layer of the control. The Caption( exLayerCaption) specifies the HTML caption to be shown on the control/layer. The Images method specifies the list of icons the control can display. The HTMLPicture adds or replaces a picture in HTML captions. The Caption( exLayerCaptionBackgroundExt) property indicates unlimited options to show any HTML text, images, colors, EBNs, patterns, frames anywhere on the control / layer's background. The caption on the control stay on its position, no matter what layer is moved or rotated, while a caption on a layer gets moved or rotated together with the layer itself. The Color property specifies the caption's foreground color. 

Any of the following properties can be used to display a HTML caption:

The following screen shot shows an extra-caption associated with the layer:

The following samples show how you can associate an extra-caption with a layer:

VBA (MS Access, Excell...)

With Gauge1
	.BeginUpdate 
	.HTMLPicture("logo") = "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
	.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
	.PicturesName = "`Layer` + int(value  + 1) + `.png`"
	.Layers.Count = 10
	With .Layers.Item(9)
		.RotateType = 2
		.OnDrag = 2
		With .Foreground
			.ExtraCaption("logo",3) = 2
			.ExtraCaption("logo",8) = True
			.ExtraCaption("logo",6) = "164"
			.ExtraCaption("logo",4) = "width - 176"
			.ExtraCaption("logo",5) = "-64"
			.ExtraCaption("logo",0) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
		End With
	End With
	.EndUpdate 
End With

VB6

With Gauge1
	.BeginUpdate 
	.HTMLPicture("logo") = "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
	.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
	.PicturesName = "`Layer` + int(value  + 1) + `.png`"
	.Layers.Count = 10
	With .Layers.Item(9)
		.RotateType = exRotateBilinearInterpolation
		.OnDrag = exDoRotate
		With .Foreground
			.ExtraCaption("logo",exLayerCaptionAnchor) = 2
			.ExtraCaption("logo",exLayerCaptionWordWrap) = True
			.ExtraCaption("logo",exLayerCaptionWidth) = "164"
			.ExtraCaption("logo",exLayerCaptionLeft) = "width - 176"
			.ExtraCaption("logo",exLayerCaptionTop) = "-64"
			.ExtraCaption("logo",exLayerCaption) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
		End With
	End With
	.EndUpdate 
End With

VB.NET

With Exgauge1
	.BeginUpdate()
	.set_HTMLPicture("logo","E:\Exontrol\Exontrol.Logo\exontrol.logo.png")
	.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
	.PicturesName = "`Layer` + int(value  + 1) + `.png`"
	.Layers.Count = 10
	With .Layers.Item(9)
		.RotateType = exontrol.EXGAUGELib.RotateTypeEnum.exRotateBilinearInterpolation
		.OnDrag = exontrol.EXGAUGELib.OnDragLayerEnum.exDoRotate
		With .Foreground
			.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionAnchor,2)
			.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWordWrap,True)
			.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWidth,"164")
			.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionLeft,"width - 176")
			.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionTop,"-64")
			.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaption,"<sha ;;0><c>This is our logo<br><c><img>logo</img>")
		End With
	End With
	.EndUpdate()
End With

VB.NET for /COM

With AxGauge1
	.BeginUpdate()
	.set_HTMLPicture("logo","E:\Exontrol\Exontrol.Logo\exontrol.logo.png")
	.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
	.PicturesName = "`Layer` + int(value  + 1) + `.png`"
	.Layers.Count = 10
	With .Layers.Item(9)
		.RotateType = EXGAUGELib.RotateTypeEnum.exRotateBilinearInterpolation
		.OnDrag = EXGAUGELib.OnDragLayerEnum.exDoRotate
		With .Foreground
			.ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionAnchor) = 2
			.ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWordWrap) = True
			.ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWidth) = "164"
			.ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionLeft) = "width - 176"
			.ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionTop) = "-64"
			.ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaption) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
		End With
	End With
	.EndUpdate()
End With

C++

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

	#import <ExGauge.dll>
	using namespace EXGAUGELib;
*/
EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown();
spGauge1->BeginUpdate();
spGauge1->PutHTMLPicture(L"logo","E:\\Exontrol\\Exontrol.Logo\\exontrol.logo.png");
spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob");
spGauge1->PutPicturesName(L"`Layer` + int(value  + 1) + `.png`");
spGauge1->GetLayers()->PutCount(10);
EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(9));
	var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation);
	var_Layer->PutOnDrag(EXGAUGELib::exDoRotate);
	EXGAUGELib::IForegroundPtr var_Foreground = var_Layer->GetForeground();
		var_Foreground->PutExtraCaption("logo",EXGAUGELib::exLayerCaptionAnchor,long(2));
		var_Foreground->PutExtraCaption("logo",EXGAUGELib::exLayerCaptionWordWrap,VARIANT_TRUE);
		var_Foreground->PutExtraCaption("logo",EXGAUGELib::exLayerCaptionWidth,"164");
		var_Foreground->PutExtraCaption("logo",EXGAUGELib::exLayerCaptionLeft,"width - 176");
		var_Foreground->PutExtraCaption("logo",EXGAUGELib::exLayerCaptionTop,"-64");
		var_Foreground->PutExtraCaption("logo",EXGAUGELib::exLayerCaption,"<sha ;;0><c>This is our logo<br><c><img>logo</img>");
spGauge1->EndUpdate();

C++ Builder

Gauge1->BeginUpdate();
Gauge1->HTMLPicture[L"logo"] = TVariant("E:\\Exontrol\\Exontrol.Logo\\exontrol.logo.png");
Gauge1->PicturesPath = L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob";
Gauge1->PicturesName = L"`Layer` + int(value  + 1) + `.png`";
Gauge1->Layers->Count = 10;
Exgaugelib_tlb::ILayerPtr var_Layer = Gauge1->Layers->get_Item(TVariant(9));
	var_Layer->RotateType = Exgaugelib_tlb::RotateTypeEnum::exRotateBilinearInterpolation;
	var_Layer->OnDrag = Exgaugelib_tlb::OnDragLayerEnum::exDoRotate;
	Exgaugelib_tlb::IForegroundPtr var_Foreground = var_Layer->Foreground;
		var_Foreground->set_ExtraCaption(TVariant("logo"),Exgaugelib_tlb::PropertyLayerCaptionEnum::exLayerCaptionAnchor,TVariant(2));
		var_Foreground->set_ExtraCaption(TVariant("logo"),Exgaugelib_tlb::PropertyLayerCaptionEnum::exLayerCaptionWordWrap,TVariant(true));
		var_Foreground->set_ExtraCaption(TVariant("logo"),Exgaugelib_tlb::PropertyLayerCaptionEnum::exLayerCaptionWidth,TVariant("164"));
		var_Foreground->set_ExtraCaption(TVariant("logo"),Exgaugelib_tlb::PropertyLayerCaptionEnum::exLayerCaptionLeft,TVariant("width - 176"));
		var_Foreground->set_ExtraCaption(TVariant("logo"),Exgaugelib_tlb::PropertyLayerCaptionEnum::exLayerCaptionTop,TVariant("-64"));
		var_Foreground->set_ExtraCaption(TVariant("logo"),Exgaugelib_tlb::PropertyLayerCaptionEnum::exLayerCaption,TVariant("<sha ;;0><c>This is our logo<br><c><img>logo</img>"));
Gauge1->EndUpdate();

C#

exgauge1.BeginUpdate();
exgauge1.set_HTMLPicture("logo","E:\\Exontrol\\Exontrol.Logo\\exontrol.logo.png");
exgauge1.PicturesPath = "C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob";
exgauge1.PicturesName = "`Layer` + int(value  + 1) + `.png`";
exgauge1.Layers.Count = 10;
exontrol.EXGAUGELib.Layer var_Layer = exgauge1.Layers[9];
	var_Layer.RotateType = exontrol.EXGAUGELib.RotateTypeEnum.exRotateBilinearInterpolation;
	var_Layer.OnDrag = exontrol.EXGAUGELib.OnDragLayerEnum.exDoRotate;
	exontrol.EXGAUGELib.Foreground var_Foreground = var_Layer.Foreground;
		var_Foreground.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionAnchor,2);
		var_Foreground.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWordWrap,true);
		var_Foreground.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWidth,"164");
		var_Foreground.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionLeft,"width - 176");
		var_Foreground.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionTop,"-64");
		var_Foreground.set_ExtraCaption("logo",exontrol.EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaption,"<sha ;;0><c>This is our logo<br><c><img>logo</img>");
exgauge1.EndUpdate();

JScript/JavaScript

<BODY onload="Init()">
<OBJECT CLASSID="clsid:91628F12-393C-44EF-A558-83ED1790AAD3" id="Gauge1"></OBJECT>

<SCRIPT LANGUAGE="JScript">
function Init()
{
	Gauge1.BeginUpdate();
	Gauge1.HTMLPicture("logo") = "E:\\Exontrol\\Exontrol.Logo\\exontrol.logo.png";
	Gauge1.PicturesPath = "C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob";
	Gauge1.PicturesName = "`Layer` + int(value  + 1) + `.png`";
	Gauge1.Layers.Count = 10;
	var var_Layer = Gauge1.Layers.Item(9);
		var_Layer.RotateType = 2;
		var_Layer.OnDrag = 2;
		var var_Foreground = var_Layer.Foreground;
			var_Foreground.ExtraCaption("logo",3) = 2;
			var_Foreground.ExtraCaption("logo",8) = true;
			var_Foreground.ExtraCaption("logo",6) = "164";
			var_Foreground.ExtraCaption("logo",4) = "width - 176";
			var_Foreground.ExtraCaption("logo",5) = "-64";
			var_Foreground.ExtraCaption("logo",0) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>";
	Gauge1.EndUpdate();
}
</SCRIPT>
</BODY>

VBScript

<BODY onload="Init()">
<OBJECT CLASSID="clsid:91628F12-393C-44EF-A558-83ED1790AAD3" id="Gauge1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With Gauge1
		.BeginUpdate 
		.HTMLPicture("logo") = "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
		.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
		.PicturesName = "`Layer` + int(value  + 1) + `.png`"
		.Layers.Count = 10
		With .Layers.Item(9)
			.RotateType = 2
			.OnDrag = 2
			With .Foreground
				.ExtraCaption("logo",3) = 2
				.ExtraCaption("logo",8) = True
				.ExtraCaption("logo",6) = "164"
				.ExtraCaption("logo",4) = "width - 176"
				.ExtraCaption("logo",5) = "-64"
				.ExtraCaption("logo",0) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
			End With
		End With
		.EndUpdate 
	End With
End Function
</SCRIPT>
</BODY>

C# for /COM

axGauge1.BeginUpdate();
axGauge1.set_HTMLPicture("logo","E:\\Exontrol\\Exontrol.Logo\\exontrol.logo.png");
axGauge1.PicturesPath = "C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob";
axGauge1.PicturesName = "`Layer` + int(value  + 1) + `.png`";
axGauge1.Layers.Count = 10;
EXGAUGELib.Layer var_Layer = axGauge1.Layers[9];
	var_Layer.RotateType = EXGAUGELib.RotateTypeEnum.exRotateBilinearInterpolation;
	var_Layer.OnDrag = EXGAUGELib.OnDragLayerEnum.exDoRotate;
	EXGAUGELib.Foreground var_Foreground = var_Layer.Foreground;
		var_Foreground.set_ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionAnchor,2);
		var_Foreground.set_ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWordWrap,true);
		var_Foreground.set_ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWidth,"164");
		var_Foreground.set_ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionLeft,"width - 176");
		var_Foreground.set_ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionTop,"-64");
		var_Foreground.set_ExtraCaption("logo",EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaption,"<sha ;;0><c>This is our logo<br><c><img>logo</img>");
axGauge1.EndUpdate();

X++ (Dynamics Ax 2009)

public void init()
{
	COM com_Foreground,com_Layer;
	anytype var_Foreground,var_Layer;
	;

	super();

	exgauge1.BeginUpdate();
	exgauge1.HTMLPicture("logo","E:\\Exontrol\\Exontrol.Logo\\exontrol.logo.png");
	exgauge1.PicturesPath("C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob");
	exgauge1.PicturesName("`Layer` + int(value  + 1) + `.png`");
	exgauge1.Layers().Count(10);
	var_Layer = COM::createFromObject(exgauge1.Layers()).Item(COMVariant::createFromInt(9)); com_Layer = var_Layer;
		com_Layer.RotateType(2/*exRotateBilinearInterpolation*/);
		com_Layer.OnDrag(2/*exDoRotate*/);
		var_Foreground = com_Layer.Foreground(); com_Foreground = var_Foreground;
			com_Foreground.ExtraCaption("logo",3/*exLayerCaptionAnchor*/,COMVariant::createFromInt(2));
			com_Foreground.ExtraCaption("logo",8/*exLayerCaptionWordWrap*/,COMVariant::createFromBoolean(true));
			com_Foreground.ExtraCaption("logo",6/*exLayerCaptionWidth*/,"164");
			com_Foreground.ExtraCaption("logo",4/*exLayerCaptionLeft*/,"width - 176");
			com_Foreground.ExtraCaption("logo",5/*exLayerCaptionTop*/,"-64");
			com_Foreground.ExtraCaption("logo",0/*exLayerCaption*/,"<sha ;;0><c>This is our logo<br><c><img>logo</img>");
	exgauge1.EndUpdate();
}

Delphi 8 (.NET only)

with AxGauge1 do
begin
	BeginUpdate();
	set_HTMLPicture('logo','E:\Exontrol\Exontrol.Logo\exontrol.logo.png');
	PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
	PicturesName := '`Layer` + int(value  + 1) + `.png`';
	Layers.Count := 10;
	with Layers.Item[TObject(9)] do
	begin
		RotateType := EXGAUGELib.RotateTypeEnum.exRotateBilinearInterpolation;
		OnDrag := EXGAUGELib.OnDragLayerEnum.exDoRotate;
		with Foreground do
		begin
			ExtraCaption['logo',EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionAnchor] := TObject(2);
			ExtraCaption['logo',EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWordWrap] := TObject(True);
			ExtraCaption['logo',EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionWidth] := '164';
			ExtraCaption['logo',EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionLeft] := 'width - 176';
			ExtraCaption['logo',EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaptionTop] := '-64';
			ExtraCaption['logo',EXGAUGELib.PropertyLayerCaptionEnum.exLayerCaption] := '<sha ;;0><c>This is our logo<br><c><img>logo</img>';
		end;
	end;
	EndUpdate();
end

Delphi (standard)

with Gauge1 do
begin
	BeginUpdate();
	HTMLPicture['logo'] := 'E:\Exontrol\Exontrol.Logo\exontrol.logo.png';
	PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
	PicturesName := '`Layer` + int(value  + 1) + `.png`';
	Layers.Count := 10;
	with Layers.Item[OleVariant(9)] do
	begin
		RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
		OnDrag := EXGAUGELib_TLB.exDoRotate;
		with Foreground do
		begin
			ExtraCaption['logo',EXGAUGELib_TLB.exLayerCaptionAnchor] := OleVariant(2);
			ExtraCaption['logo',EXGAUGELib_TLB.exLayerCaptionWordWrap] := OleVariant(True);
			ExtraCaption['logo',EXGAUGELib_TLB.exLayerCaptionWidth] := '164';
			ExtraCaption['logo',EXGAUGELib_TLB.exLayerCaptionLeft] := 'width - 176';
			ExtraCaption['logo',EXGAUGELib_TLB.exLayerCaptionTop] := '-64';
			ExtraCaption['logo',EXGAUGELib_TLB.exLayerCaption] := '<sha ;;0><c>This is our logo<br><c><img>logo</img>';
		end;
	end;
	EndUpdate();
end

VFP

with thisform.Gauge1
	.BeginUpdate
	.Object.HTMLPicture("logo") = "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
	.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
	.PicturesName = "`Layer` + int(value  + 1) + `.png`"
	.Layers.Count = 10
	with .Layers.Item(9)
		.RotateType = 2
		.OnDrag = 2
		with .Foreground
			.ExtraCaption("logo",3) = 2
			.ExtraCaption("logo",8) = .T.
			.ExtraCaption("logo",6) = "164"
			.ExtraCaption("logo",4) = "width - 176"
			.ExtraCaption("logo",5) = "-64"
			.ExtraCaption("logo",0) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
		endwith
	endwith
	.EndUpdate
endwith

dBASE Plus

local oGauge,var_Foreground,var_Layer

oGauge = form.EXGAUGEACTIVEXCONTROL1.nativeObject
oGauge.BeginUpdate()
oGauge.Template = [HTMLPicture("logo") = "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"] // oGauge.HTMLPicture("logo") = "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
oGauge.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
oGauge.PicturesName = "`Layer` + int(value  + 1) + `.png`"
oGauge.Layers.Count = 10
var_Layer = oGauge.Layers.Item(9)
	var_Layer.RotateType = 2
	var_Layer.OnDrag = 2
	var_Foreground = var_Layer.Foreground
		// var_Foreground.ExtraCaption("logo",3) = 2
		with (oGauge)
			TemplateDef = [dim var_Foreground]
			TemplateDef = var_Foreground
			Template = [var_Foreground.ExtraCaption("logo",3) = 2]
		endwith
		// var_Foreground.ExtraCaption("logo",8) = true
		with (oGauge)
			TemplateDef = [dim var_Foreground]
			TemplateDef = var_Foreground
			Template = [var_Foreground.ExtraCaption("logo",8) = True]
		endwith
		// var_Foreground.ExtraCaption("logo",6) = "164"
		with (oGauge)
			TemplateDef = [dim var_Foreground]
			TemplateDef = var_Foreground
			Template = [var_Foreground.ExtraCaption("logo",6) = "164"]
		endwith
		// var_Foreground.ExtraCaption("logo",4) = "width - 176"
		with (oGauge)
			TemplateDef = [dim var_Foreground]
			TemplateDef = var_Foreground
			Template = [var_Foreground.ExtraCaption("logo",4) = "width - 176"]
		endwith
		// var_Foreground.ExtraCaption("logo",5) = "-64"
		with (oGauge)
			TemplateDef = [dim var_Foreground]
			TemplateDef = var_Foreground
			Template = [var_Foreground.ExtraCaption("logo",5) = "-64"]
		endwith
		// var_Foreground.ExtraCaption("logo",0) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
		with (oGauge)
			TemplateDef = [dim var_Foreground]
			TemplateDef = var_Foreground
			Template = [var_Foreground.ExtraCaption("logo",0) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"]
		endwith
oGauge.EndUpdate()

XBasic (Alpha Five)

Dim oGauge as P
Dim var_Foreground as P
Dim var_Layer as P

oGauge = topparent:CONTROL_ACTIVEX1.activex
oGauge.BeginUpdate()
oGauge.Template = "HTMLPicture(`logo`) = `E:\Exontrol\Exontrol.Logo\exontrol.logo.png`" // oGauge.HTMLPicture("logo") = "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
oGauge.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
oGauge.PicturesName = "`Layer` + int(value  + 1) + `.png`"
oGauge.Layers.Count = 10
var_Layer = oGauge.Layers.Item(9)
	var_Layer.RotateType = 2
	var_Layer.OnDrag = 2
	var_Foreground = var_Layer.Foreground
		' var_Foreground.ExtraCaption("logo",3) = 2
		oGauge.TemplateDef = "dim var_Foreground"
		oGauge.TemplateDef = var_Foreground
		oGauge.Template = "var_Foreground.ExtraCaption(`logo`,3) = 2"

		' var_Foreground.ExtraCaption("logo",8) = .t.
		oGauge.TemplateDef = "dim var_Foreground"
		oGauge.TemplateDef = var_Foreground
		oGauge.Template = "var_Foreground.ExtraCaption(`logo`,8) = True"

		' var_Foreground.ExtraCaption("logo",6) = "164"
		oGauge.TemplateDef = "dim var_Foreground"
		oGauge.TemplateDef = var_Foreground
		oGauge.Template = "var_Foreground.ExtraCaption(`logo`,6) = `164`"

		' var_Foreground.ExtraCaption("logo",4) = "width - 176"
		oGauge.TemplateDef = "dim var_Foreground"
		oGauge.TemplateDef = var_Foreground
		oGauge.Template = "var_Foreground.ExtraCaption(`logo`,4) = `width - 176`"

		' var_Foreground.ExtraCaption("logo",5) = "-64"
		oGauge.TemplateDef = "dim var_Foreground"
		oGauge.TemplateDef = var_Foreground
		oGauge.Template = "var_Foreground.ExtraCaption(`logo`,5) = `-64`"

		' var_Foreground.ExtraCaption("logo",0) = "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
		oGauge.TemplateDef = "dim var_Foreground"
		oGauge.TemplateDef = var_Foreground
		oGauge.Template = "var_Foreground.ExtraCaption(`logo`,0) = `<sha ;;0><c>This is our logo<br><c><img>logo</img>`"

oGauge.EndUpdate()

Visual Objects

local var_Foreground as IForeground
local var_Layer as ILayer

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:[HTMLPicture,"logo"] := "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
oDCOCX_Exontrol1:PicturesPath := "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
oDCOCX_Exontrol1:PicturesName := "`Layer` + int(value  + 1) + `.png`"
oDCOCX_Exontrol1:Layers:Count := 10
var_Layer := oDCOCX_Exontrol1:Layers:[Item,9]
	var_Layer:RotateType := exRotateBilinearInterpolation
	var_Layer:OnDrag := exDoRotate
	var_Foreground := var_Layer:Foreground
		var_Foreground:[ExtraCaption,"logo",exLayerCaptionAnchor] := 2
		var_Foreground:[ExtraCaption,"logo",exLayerCaptionWordWrap] := true
		var_Foreground:[ExtraCaption,"logo",exLayerCaptionWidth] := "164"
		var_Foreground:[ExtraCaption,"logo",exLayerCaptionLeft] := "width - 176"
		var_Foreground:[ExtraCaption,"logo",exLayerCaptionTop] := "-64"
		var_Foreground:[ExtraCaption,"logo",exLayerCaption] := "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
oDCOCX_Exontrol1:EndUpdate()

PowerBuilder

OleObject oGauge,var_Foreground,var_Layer

oGauge = ole_1.Object
oGauge.BeginUpdate()
oGauge.HTMLPicture("logo","E:\Exontrol\Exontrol.Logo\exontrol.logo.png")
oGauge.PicturesPath = "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
oGauge.PicturesName = "`Layer` + int(value  + 1) + `.png`"
oGauge.Layers.Count = 10
var_Layer = oGauge.Layers.Item(9)
	var_Layer.RotateType = 2
	var_Layer.OnDrag = 2
	var_Foreground = var_Layer.Foreground
		var_Foreground.ExtraCaption("logo",3,2)
		var_Foreground.ExtraCaption("logo",8,true)
		var_Foreground.ExtraCaption("logo",6,"164")
		var_Foreground.ExtraCaption("logo",4,"width - 176")
		var_Foreground.ExtraCaption("logo",5,"-64")
		var_Foreground.ExtraCaption("logo",0,"<sha ;;0><c>This is our logo<br><c><img>logo</img>")
oGauge.EndUpdate()

Visual DataFlex

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHTMLPicture "logo" to "E:\Exontrol\Exontrol.Logo\exontrol.logo.png"
	Set ComPicturesPath to "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
	Set ComPicturesName to "`Layer` + int(value  + 1) + `.png`"
	Variant voLayers
	Get ComLayers to voLayers
	Handle hoLayers
	Get Create (RefClass(cComLayers)) to hoLayers
	Set pvComObject of hoLayers to voLayers
		Set ComCount of hoLayers to 10
	Send Destroy to hoLayers
	Variant voLayers1
	Get ComLayers to voLayers1
	Handle hoLayers1
	Get Create (RefClass(cComLayers)) to hoLayers1
	Set pvComObject of hoLayers1 to voLayers1
		Variant voLayer
		Get ComItem of hoLayers1 9 to voLayer
		Handle hoLayer
		Get Create (RefClass(cComLayer)) to hoLayer
		Set pvComObject of hoLayer to voLayer
			Set ComRotateType of hoLayer to OLEexRotateBilinearInterpolation
			Set ComOnDrag of hoLayer to OLEexDoRotate
			Variant voForeground
			Get ComForeground of hoLayer to voForeground
			Handle hoForeground
			Get Create (RefClass(cComForeground)) to hoForeground
			Set pvComObject of hoForeground to voForeground
				Set ComExtraCaption of hoForeground "logo" OLEexLayerCaptionAnchor to 2
				Set ComExtraCaption of hoForeground "logo" OLEexLayerCaptionWordWrap to True
				Set ComExtraCaption of hoForeground "logo" OLEexLayerCaptionWidth to "164"
				Set ComExtraCaption of hoForeground "logo" OLEexLayerCaptionLeft to "width - 176"
				Set ComExtraCaption of hoForeground "logo" OLEexLayerCaptionTop to "-64"
				Set ComExtraCaption of hoForeground "logo" OLEexLayerCaption to "<sha ;;0><c>This is our logo<br><c><img>logo</img>"
			Send Destroy to hoForeground
		Send Destroy to hoLayer
	Send Destroy to hoLayers1
	Send ComEndUpdate
End_Procedure

XBase++

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oGauge
	LOCAL oForeground
	LOCAL oLayer

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

	oGauge := XbpActiveXControl():new( oForm:drawingArea )
	oGauge:CLSID  := "Exontrol.Gauge.1" /*{91628F12-393C-44EF-A558-83ED1790AAD3}*/
	oGauge:create(,, {10,60},{610,370} )

		oGauge:BeginUpdate()
		oGauge:SetProperty("HTMLPicture","logo","E:\Exontrol\Exontrol.Logo\exontrol.logo.png")
		oGauge:PicturesPath := "C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob"
		oGauge:PicturesName := "`Layer` + int(value  + 1) + `.png`"
		oGauge:Layers():Count := 10
		oLayer := oGauge:Layers:Item(9)
			oLayer:RotateType := 2/*exRotateBilinearInterpolation*/
			oLayer:OnDrag := 2/*exDoRotate*/
			oForeground := oLayer:Foreground()
				oForeground:SetProperty("ExtraCaption","logo",3/*exLayerCaptionAnchor*/,2)
				oForeground:SetProperty("ExtraCaption","logo",8/*exLayerCaptionWordWrap*/,.T.)
				oForeground:SetProperty("ExtraCaption","logo",6/*exLayerCaptionWidth*/,"164")
				oForeground:SetProperty("ExtraCaption","logo",4/*exLayerCaptionLeft*/,"width - 176")
				oForeground:SetProperty("ExtraCaption","logo",5/*exLayerCaptionTop*/,"-64")
				oForeground:SetProperty("ExtraCaption","logo",0/*exLayerCaption*/,"<sha ;;0><c>This is our logo<br><c><img>logo</img>")
		oGauge:EndUpdate()

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