64
|
ImageSize property on 32 (specifies the size of the control' icons)

with Gauge1 do
begin
BeginUpdate();
ImageSize := 32;
Font.Size := 16;
Images('gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqN' +
'UqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwy' +
'V21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CM' +
'Po9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9F' +
'EKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y' +
'7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkF' +
'gTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtN' +
'hCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xio' +
'W5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4' +
'VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6' +
'/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVD' +
'NKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJyT' +
'8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5Wzlff' +
'EkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6' +
'I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8Rg' +
'H5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWR' +
'JNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==');
Caption[EXGAUGELib_TLB.exLayerCaption] := '<img>1</img>Caption';
EndUpdate();
end
|
63
|
ImageSize property on 16 (default) (specifies the size of the control' icons)

with Gauge1 do
begin
BeginUpdate();
ImageSize := 16;
Images('gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd' +
'SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt' +
'mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac' +
'vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG' +
'sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn' +
'wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==');
Caption[EXGAUGELib_TLB.exLayerCaption] := '<img>1</img>Caption';
EndUpdate();
end
|
62
|
I found that the control's needle/knob is too small to touch, is it possible somehow to make it working
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
LayerAutoSize := -1;
Layers.Count := 10;
with Layers.Item[OleVariant(9)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotamove;
Idem := '0,7';
end;
LayerDragAny := 9;
EndUpdate();
end
|
61
|
How can I rotate/move multiple layers once the user drags the layer

with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
LayerAutoSize := -1;
Layers.Count := 10;
with Layers.Item[OleVariant(9)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotamove;
Idem := '0,7';
end;
EndUpdate();
end
|
60
|
How can I show a layer as disabled

with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 1';
with Layers.Add('original') do
begin
OnDrag := EXGAUGELib_TLB.exDoMove;
Background.Picture.Name := 'Layer2.png';
DefaultOffsetY := -164;
Grayscale := 0;
end;
with Layers.Add('grayscale 50%') do
begin
Background.Picture.Name := 'Layer2.png';
Grayscale := 50;
DefaultOffsetY := -82;
end;
with Layers.Add('grayscale 100%') do
begin
Background.Picture.Name := 'Layer2.png';
Grayscale := 100;
end;
EndUpdate();
end
|
59
|
Is it possible to stretch all layers

with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 2';
PicturesName := '`Layer` + int(value + 1) + `.png`';
Layers.Count := 5;
with Layers.Add('empty') do
begin
Background.Color.Value := $f0f0f0;
Position := 0;
end;
LayerAutoSize := -1;
EndUpdate();
end
|
58
|
Tic Tac Toe Game

// MouseDown event - Occurs when the user presses a mouse button.
procedure TForm1.Gauge1MouseDown(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
// Left = Me.Layers(l).Left
// Top = Me.Layers(l).Top
// Width = Me.Layers(l).Width
// Height = Me.Layers(l).Height
with Gauge1 do
begin
l := LayerFromPoint[-1,-1];
with Layers do
begin
with Add(OleVariant(Gauge1.LayersCount)) do
begin
with Background.Picture do
begin
Left := '8';
Width := 'width - 2 * 8';
Top := '8';
Height := 'height - 2 * 8';
Name := Gauge1.FormatABC('A mod 2 = 0 ? `x` : `o`',OleVariant(Gauge1.Layers.Count),Null,Null);
end;
Transparency := 0;
end;
end;
end
end;
with Gauge1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABS0IQAAYAQGKIYBkAKBQAGaAoDDcMQ5QwAAyDGKEEwsACEIrjKCRShyCYZRhGcTALD8EhhECTZKkAZAEiWIovRbHMBzFIMYRFFCcIRGSaYDi' +
'CNovTRNE7TfBMIhkGoSaKpCIRVDCSYJUzTc6wS79KgAASiJjjao6ZhaSpSABRYiyXRlHSxLiuYyoGTrJACEQxDhEEIjGLAazLMadJItCzabqGbJ8Ro6cQwTAIgI=');
DefaultLayer[EXGAUGELib_TLB.exDefLayerWidth] := 'width/3';
DefaultLayer[EXGAUGELib_TLB.exDefLayerHeight] := 'height/3';
HTMLPicture['x'] := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Pictures\x.png';
HTMLPicture['o'] := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Pictures\o.png';
LayerAutoSize := -1;
Layers.Count := 9;
with Layers.Item[OleVariant(0)] do
begin
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(1)] do
begin
Left := ' width/3 - 4';
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(2)] do
begin
Left := '2 * (width/3 - 4) - 4';
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(3)] do
begin
Top := 'height/3 - 4';
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(4)] do
begin
Top := 'height/3 - 4';
Left := ' width/3 - 4';
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(5)] do
begin
Top := 'height/3 - 4';
Left := '2 * (width/3 - 4) - 4';
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(6)] do
begin
Top := '2 * (height/3 - 4) ';
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(7)] do
begin
Top := '2 * (height/3 - 4) ';
Left := ' width/3 - 4';
Background.Color.Value := $1000000;
end;
with Layers.Item[OleVariant(8)] do
begin
Top := '2 * (height/3 - 4) ';
Left := '2 * (width/3 - 4) - 4';
Background.Color.Value := $1000000;
end;
DefaultLayer[EXGAUGELib_TLB.exDefLayerTransparency] := OleVariant(99);
EndUpdate();
end
|
57
|
What's the difference Rotate vs Rotamove

// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 227
end;
with Gauge1 do
begin
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Linear\Button with LEDs';
with Layers do
begin
with Add('base') do
begin
end;
with Add('rotate') do
begin
ToolTip := Key;
with Background.Picture do
begin
Name := 'Example Button Up.png';
Left := 'width/2';
Top := 'height/2';
Width := 128;
Height := 64;
end;
with Foreground do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := '<font ;14><sha ;;0>Rotate';
Caption[EXGAUGELib_TLB.exLayerCaptionLeft] := 'width/2 + 32';
Caption[EXGAUGELib_TLB.exLayerCaptionTop] := 'height/2 + 16';
end;
Brightness[EXGAUGELib_TLB.exRedChannel] := 100;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateAngle := 45;
end;
with Add('rotamove') do
begin
ToolTip := Key;
with Background.Picture do
begin
Name := 'Example Button Up.png';
Left := 'width/2';
Top := 'height/2';
Width := 128;
Height := 64;
end;
with Foreground do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := '<font ;14><sha ;;0>Rotamove';
Caption[EXGAUGELib_TLB.exLayerCaptionLeft] := 'width/2 + 24';
Caption[EXGAUGELib_TLB.exLayerCaptionTop] := 'height/2 + 16';
end;
Brightness[EXGAUGELib_TLB.exGreenChannel] := 100;
RotateAngle := 45;
Transparency := 25;
OnDrag := EXGAUGELib_TLB.exDoRotamove;
end;
end;
end
|
56
|
How do I display a tooltip, when cursor hovers the layer

// MouseIn event - Notifies that the cursor enters the layer.
procedure TForm1.Gauge1MouseIn(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(9)].ToolTip := Gauge1.FormatABC('`The current value is: <br><c><b>` + ((100 - A) format ``)',Gauge1.Value,Null,Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 10;
with Layers.Item[OleVariant(9)] do
begin
DefaultRotateAngle := -126;
OnDrag := EXGAUGELib_TLB.exDoRotamove;
RotateAngleToValue := '100 - value / 360 * 100';
ValueToRotateAngle := '(value)/100 * 360';
end;
Layers.Item[OleVariant(3)].Visible := False;
Layers.Item[OleVariant(4)].Visible := False;
Layers.Item[OleVariant(9)].Value := OleVariant(25);
EndUpdate();
end
|
55
|
I've noticed that the OnDrag can move the layer itself, but how about moving the clipping region

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Layers(DragInfo.Layer).Clip.Ellipse
end;
with Gauge1 do
begin
BeginUpdate();
BackColor := RGB(217,217,217);
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Guage';
with Layers.Add('background') do
begin
Background.Picture.Name := 'Guage_Background.png';
with Clip.Ellipse do
begin
RadiusX := 'width/3';
RadiusY := 'height/3';
end;
end;
Layers.Add('needle').Background.Picture.Name := 'Guage_Needle.png';
EndUpdate();
end
|
54
|
How do I show a portion of layer with a different color (sample 2)

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item['Color'].Clip.Value := OleVariant(Gauge1.Layers.Item['Thumb'].RotateAngle);
with Layers.Item['Color'] do
begin
Brightness[EXGAUGELib_TLB.exBlueChannel] := RotateAngle;
end;
Layers.Item['Thumb'].Brightness[EXGAUGELib_TLB.exBlueChannel] := Gauge1.Layers.Item['Color'].RotateAngle;
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 1';
PicturesName := '`Layer` + int(value + 1) + `.png`';
Layers.Count := 5;
Layers.Item[OleVariant(1)].Visible := False;
with Layers.Item[OleVariant(4)] do
begin
Key := 'Thumb';
DefaultRotateAngle := -141;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exRedChannel] := 100;
end;
with Layers.Add('Color') do
begin
OnDrag := EXGAUGELib_TLB.exDoRotate;
Position := 3;
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exRedChannel] := 100;
Background.Picture.Name := 'Layer3.png';
Clip.Pie.SweepAngle := 'value';
with Clip.Ellipse do
begin
RadiusX := '150';
RadiusY := '150';
InverseClip := True;
end;
end;
Layers.Item['Thumb'].RotateAngle := 135;
EndUpdate();
end
|
53
|
How do I show a portion of layer with a different color (sample 1)

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item['Color'].Clip.Value := OleVariant(Gauge1.Layers.Item['Thumb'].RotateAngle);
with Layers.Item['Color'] do
begin
Brightness[EXGAUGELib_TLB.exBlueChannel] := RotateAngle;
end;
Layers.Item['Thumb'].Brightness[EXGAUGELib_TLB.exBlueChannel] := Gauge1.Layers.Item['Color'].RotateAngle;
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 1';
PicturesName := '`Layer` + int(value + 1) + `.png`';
Layers.Count := 5;
Layers.Item[OleVariant(1)].Visible := False;
with Layers.Item[OleVariant(4)] do
begin
Key := 'Thumb';
DefaultRotateAngle := -141;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exGreenChannel] := 100;
end;
with Layers.Add('Color') do
begin
OnDrag := EXGAUGELib_TLB.exDoRotate;
Position := 3;
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exGreenChannel] := 100;
Background.Picture.Name := 'Layer3.png';
Clip.Pie.SweepAngle := 'value';
end;
Layers.Item['Thumb'].RotateAngle := 135;
EndUpdate();
end
|
52
|
How can I display / clip a picture with no transparency

with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 1';
with Layers.Add('default') do
begin
OnDrag := EXGAUGELib_TLB.exDoMove;
Background.Picture.Name := 'Layer2.png';
DefaultOffsetY := -164;
end;
with Layers.Add('notransparency') do
begin
OnDrag := EXGAUGELib_TLB.exDoMove;
Background.Picture.Name := 'Layer2.png';
with Clip.Picture do
begin
Name := Gauge1.Layers.Item['notransparency'].Background.Picture.Name;
AlphaTo := '128';
end;
Grayscale := 100;
end;
EndUpdate();
end
|
51
|
How can I resize all layers

with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 2';
PicturesName := '`Layer` + int(value + 1) + `.png`';
Layers.Count := 5;
with Layers.Add('autosize') do
begin
Visible := False;
Width := 164;
Height := 128;
end;
LayerAutoSize := Layers.Item['autosize'].Index;
EndUpdate();
end
|
50
|
How can I start moving any layer when user clicks it

// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// Layers(DragInfo.Layer).OnDrag = 1
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + int(value + 1) + `.png`';
Layers.Count := 11;
end
|
49
|
How can I prevent dragging the layers when user right click it
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// Cancel = Me.FormatABC("A=2",DragInfo.Button)
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + int(value + 1) + `.png`';
Layers.Count := 11;
Layers.Item[OleVariant(0)].OnDrag := EXGAUGELib_TLB.exDoMove;
end
|
48
|
Is your control DPI-Aware

with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 11;
Layers.Item[OleVariant(3)].Grayscale := 100;
Layers.Item[OleVariant(4)].Grayscale := 100;
with Layers.Item[OleVariant(10)] do
begin
Width := '128 * dpix';
Height := '128 * dpiy';
end;
Layers.Item[OleVariant(9)].OnDrag := EXGAUGELib_TLB.exDoRotate;
LayerAutoSize := 10;
end
|
47
|
Is it possible to make the control transparent, I would like to put the control on a form, then make the form transparent so the control appears on the desktop with just the images contained in the layers visible

with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 10;
with Layers.Item[OleVariant(9)] do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
OnDrag := EXGAUGELib_TLB.exDoRotate;
end;
AllowMoveOnClick := True;
LayerUpdate := EXGAUGELib_TLB.exLayerUpdateScreen;
end
|
46
|
How can I show the layers on perspective

with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 10;
Debug := EXGAUGELib_TLB.exDebugLayers;
end
|
45
|
Is it possible to resize all layers after they are loaded (method 2)

with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 11;
Layers.Item[OleVariant(3)].Grayscale := 100;
Layers.Item[OleVariant(4)].Grayscale := 100;
Layers.Item[OleVariant(9)].OnDrag := EXGAUGELib_TLB.exDoRotate;
with Layers.Item[OleVariant(10)] do
begin
Width := 128;
Height := 128;
end;
LayerAutoSize := 10;
end
|
44
|
Is it possible to resize all layers after they are loaded (method 1)

with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 10;
Layers.Item[OleVariant(3)].Grayscale := 100;
Layers.Item[OleVariant(4)].Grayscale := 100;
LayerAutoSize := -1;
end
|
43
|
Is it possible to load images for different layers from different folders

with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 12;
Layers.Item[OleVariant(0)].Background.Picture.Name := '\..\Clock\vista_clock.png';
Layers.Item[OleVariant(9)].Background.Picture.Name := '\..\Knob 2\Layer3.png';
Layers.Item[OleVariant(10)].Background.Picture.Name := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Led\Speed\noBack.png';
with Layers.Item[OleVariant(11)] do
begin
DefaultOffsetX := 64;
DefaultOffsetY := -36;
with Background.Picture do
begin
Name := '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' +
'BEEYVY0yI1SCKE4IgrghBgEEQEA=';
Width := 64;
Height := 64;
end;
end;
end
|
42
|
How can I specify whether an object can be selected or not

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Gauge1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with Gauge1 do
begin
OutputDebugString( LayerFromPoint[-1,-1] );
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 12;
with Layers.Item[OleVariant(10)] do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
OnDrag := EXGAUGELib_TLB.exDoRotate;
with Background.ExtraPicture['extra1'] do
begin
Name := 'Layer1.png';
Left := '32';
Top := '32';
Width := 64;
Height := 64;
end;
with Foreground do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := '<sha ;;0>selectable';
Caption[EXGAUGELib_TLB.exLayerCaptionLeft] := OleVariant(38);
Caption[EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(-5);
end;
end;
with Layers.Item[OleVariant(11)] do
begin
with Background.ExtraPicture['extra2'] do
begin
Name := 'Layer1.png';
Left := 'width-64';
Top := 'height-84 - 32';
Width := 64;
Height := 64;
Selectable := False;
end;
Brightness[EXGAUGELib_TLB.exAllChannels] := 25;
with Foreground do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := '<sha ;;0>not selectable';
Caption[EXGAUGELib_TLB.exLayerCaptionAnchor] := OleVariant(8);
Caption[EXGAUGELib_TLB.exLayerCaptionTop] := 'height-theight/4';
end;
end;
EndUpdate();
end
|
41
|
How do I get the layer/object/picture from the cursor
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Gauge1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with Gauge1 do
begin
OutputDebugString( LayerFromPoint[-1,-1] );
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 10;
with Layers.Item[OleVariant(9)] do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
OnDrag := EXGAUGELib_TLB.exDoRotate;
end;
end
|
40
|
How can I display a speedometer

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Gauge1.Layers.Item['arc'].Clip.Value := Gauge1.Value;
Gauge1.Layers.Item['noDigit'].Background.ExtraPicture['80'].Name := Gauge1.FormatABC('`no` + int((value MIN 0 MAX 99)/10) + `.png`',Gauge1.Value,Null,Null);
Gauge1.Layers.Item['noDigit'].Background.ExtraPicture['08'].Name := Gauge1.FormatABC('`no` + int((value MIN 0 MAX 99) mod 10) + `.png`',Gauge1.Value,Null,Null);
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('value + B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
BackColor := RGB(40,40,40);
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Led\Speed';
Layers.Count := 6;
with Layers.Item[OleVariant(0)] do
begin
Key := 'arcBack';
Background.Picture.Name := 'noArcBack.png';
with Clip.Pie do
begin
StartAngle := 240;
SweepAngle := 240;
end;
end;
with Layers.Item[OleVariant(1)] do
begin
Key := 'arc';
Background.Picture.Name := 'noArc.png';
with Clip.Pie do
begin
StartAngle := 240;
SweepAngle := 'value/100 * 240';
end;
end;
with Layers.Item[OleVariant(2)] do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Key := 'pointer';
Background.Picture.Name := 'noLine.png';
DefaultRotateAngle := 240;
RotateAngleToValue := 'value/240 * 100';
ValueToRotateAngle := 'value / 100 * 240';
RotateAngleValid := 'value > 240 ? (value > 300 ? 0 : 240) : value';
OnDrag := EXGAUGELib_TLB.exDoRotate;
end;
with Layers.Item[OleVariant(3)] do
begin
Key := 'noBack';
Left := '(width - 55 * 2)/2';
Top := '(height - 94 * 1)/2';
Width := '2 * 45 + 8';
Height := '1 * 94';
Transparency := 90;
with Background.ExtraPicture['80'] do
begin
Name := 'noBack.png';
Left := '-4';
Width := '70';
end;
with Background.ExtraPicture['08'] do
begin
Name := 'noBack.png';
Left := '36';
Width := 70;
end;
end;
with Layers.Item[OleVariant(4)] do
begin
Key := 'noDigit';
Left := '(width - 55 * 2)/2';
Top := '(height - 94 * 1)/2';
Width := '2 * 45 + 8';
Height := '1 * 94';
with Background.ExtraPicture['80'] do
begin
Name := 'no1.png';
Left := '-4';
Width := '70';
end;
with Background.ExtraPicture['08'] do
begin
Name := 'no2.png';
Left := '36';
Width := 70;
end;
end;
with Layers.Item[OleVariant(5)] do
begin
Key := 'noCap';
Background.Picture.Name := 'noCap.png';
Transparency := 45;
end;
Gauge1.Layers.Item['pointer'].Position := Gauge1.Layers.Item['noCap'].Position;
LayerOfValue := Gauge1.Layers.Item['pointer'].Index;
Value := OleVariant(56);
EndUpdate();
end
|
39
|
How can I display LED-numbers

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('value MIN 0 MAX 99',Value,Null,Null);
Gauge1.Layers.Item['noDigit'].Background.ExtraPicture['80'].Name := Gauge1.FormatABC('`no` + int((value MIN 0 MAX 99)/10) + `.png`',Gauge1.Value,Null,Null);
Gauge1.Layers.Item['noDigit'].Background.ExtraPicture['08'].Name := Gauge1.FormatABC('`no` + int((value MIN 0 MAX 99) mod 10) + `.png`',Gauge1.Value,Null,Null);
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('value + B',Gauge1.Layers.Item['noDigit'].Value,OleVariant(Delta),Null);
end
end;
// Timer event - Occurs when the interval elapses.
procedure TForm1.Gauge1Timer(ASender: TObject; TickCount : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('value = 99 ? 0 : ( value + B )',Gauge1.Value,OleVariant(1),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Led\Speed';
Layers.Count := 3;
with Layers.Item[OleVariant(1)] do
begin
Key := 'noBack';
Left := '(width - 55 * 2)/2';
Top := '(height - 94 * 1)/2';
Width := '2 * 45 + 8';
Height := '1 * 94';
Transparency := 90;
with Background.ExtraPicture['80'] do
begin
Name := 'noBack.png';
Left := '-4';
Width := '70';
end;
with Background.ExtraPicture['08'] do
begin
Name := 'noBack.png';
Left := '36';
Width := 70;
end;
end;
with Layers.Item[OleVariant(2)] do
begin
Key := 'noDigit';
Left := '(width - 55 * 2)/2';
Top := '(height - 94 * 1)/2';
Width := '2 * 45 + 8';
Height := '1 * 94';
with Background.ExtraPicture['80'] do
begin
Name := 'no1.png';
Left := '-4';
Width := '70';
end;
with Background.ExtraPicture['08'] do
begin
Name := 'no2.png';
Left := '36';
Width := 70;
end;
end;
LayerOfValue := Gauge1.Layers.Item['noDigit'].Index;
Value := OleVariant(73);
TimerInterval := 100;
EndUpdate();
end
|
38
|
How can I display a simple knob, to fit the control's client area

with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 1';
PicturesName := '`Layer` + str(value + 1) + `.png`';
LayerAutoSize := -1;
DefaultLayer[EXGAUGELib_TLB.exDefLayerWidth] := 'width MAX height';
DefaultLayer[EXGAUGELib_TLB.exDefLayerHeight] := 'width MAX height';
Layers.Count := 5;
with Layers.Item[OleVariant(4)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotamove;
DefaultRotateAngle := -142;
end;
end
|
37
|
How can I display a switch

// Click event - Occurs when the user presses and then releases the left mouse button over the control.
procedure TForm1.Gauge1Click(ASender: TObject; );
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('(value + 1) mod 2',Value,Null,Null);
end
end;
// DragEnd event - Occurs once the user ends dragging a layer.
procedure TForm1.Gauge1DragEnd(ASender: TObject; DragInfo : IDragInfo;Cancel : WordBool);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('(value < 24 ? 0 : 1)',OleVariant(Gauge1.Layers.Item['knob'].OffsetX),Null,Null);
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('value > 0 ? 1 : 0',OleVariant(Delta),Null,Null);
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Linear\Switch';
Layers.Count := 4;
Layers.Item[OleVariant(0)].Background.Picture.Name := 'background.png';
with Layers.Item[OleVariant(1)] do
begin
with Background.Picture do
begin
Name := 'Indicator_ON.png';
DisplayAs := EXGAUGELib_TLB.MiddleLeft;
end;
OffsetXValid := 48;
OffsetYValid := 0;
end;
with Layers.Item[OleVariant(2)] do
begin
with Background.Picture do
begin
Name := 'Indicator_OFF.png';
DisplayAs := EXGAUGELib_TLB.MiddleRight;
end;
OffsetXValid := -12;
OffsetYValid := 0;
end;
with Layers.Item[OleVariant(3)] do
begin
OnDrag := EXGAUGELib_TLB.exDoMove;
Key := 'knob';
with Background.Picture do
begin
Name := 'knob.png';
DisplayAs := EXGAUGELib_TLB.MiddleCenter;
end;
DefaultOffsetY := '9';
DefaultOffsetX := '-5';
OffsetYValid := '0';
ValueToOffsetX := 'value = 0 ? 0 : 48';
OffsetToValue := 'value = 0 ? 0 : 1';
OffsetXValid := '(value MIN 0 MAX 48)';
end;
LayerOfValue := Gauge1.Layers.Item['knob'].Index;
Value := OleVariant(1);
end
|
36
|
How can I colorize the layer

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Value: <b>` + (value format ``)',Layers.Item[OleVariant(4)].Value,Null,Null);
end
end;
// Click event - Occurs when the user presses and then releases the left mouse button over the control.
procedure TForm1.Gauge1Click(ASender: TObject; );
begin
with Gauge1 do
begin
with Layers.Item[OleVariant(LayerFromPoint[-1,-1])] do
begin
end;
end
end;
// MouseIn event - Notifies that the cursor enters the layer.
procedure TForm1.Gauge1MouseIn(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
with Layers.Item[OleVariant(Layer)] do
begin
Brightness[EXGAUGELib_TLB.exRedChannel] := 100;
Brightness[EXGAUGELib_TLB.exGreenChannel] := 0;
Brightness[EXGAUGELib_TLB.exBlueChannel] := 0;
end;
end
end;
// MouseOut event - Notifies that the cursor exits the layer.
procedure TForm1.Gauge1MouseOut(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
with Layers.Item[OleVariant(Layer)] do
begin
Brightness[EXGAUGELib_TLB.exRedChannel] := Gauge1.DefaultLayer[EXGAUGELib_TLB.exDefLayerBrightness];
Brightness[EXGAUGELib_TLB.exGreenChannel] := Gauge1.DefaultLayer[EXGAUGELib_TLB.exDefLayerBrightness];
Brightness[EXGAUGELib_TLB.exBlueChannel] := Gauge1.DefaultLayer[EXGAUGELib_TLB.exDefLayerBrightness];
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('A - B',Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
DefaultLayer[EXGAUGELib_TLB.exDefLayerBrightness] := OleVariant(51);
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 2';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 6;
with Layers.Item[OleVariant(0)] do
begin
RotateCenterX := 'lwidth/2-3';
RotateCenterY := 'lheight/2+23';
end;
with Layers.Item[OleVariant(4)] do
begin
DefaultRotateAngle := -132;
OnDrag := EXGAUGELib_TLB.exDoRotamove;
RotateAngleValid := 'value < 0 ? 0 : (value > 236 ? (value > 300 ? 0 : 236 ) : value)';
ValueToRotateAngle := 'value < 20 ? (value /20 * 86) : (value - 20) / (90-20) * (236-86) + 86';
RotateAngleToValue := 'value < 86 ? value / 86 * 20: ( 20 + ( value -86 ) / (236-86) * 70 )';
end;
Value := OleVariant(45);
EndUpdate();
end
|
35
|
How can I imitate the rotating angle on an unequal scale

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Value: <b>` + (value format ``)',Layers.Item[OleVariant(4)].Value,Null,Null);
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('A - B',Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 2';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 6;
with Layers.Item[OleVariant(0)] do
begin
RotateCenterX := 'lwidth/2-3';
RotateCenterY := 'lheight/2+23';
end;
with Layers.Item[OleVariant(4)] do
begin
DefaultRotateAngle := -132;
OnDrag := EXGAUGELib_TLB.exDoRotamove;
RotateAngleValid := 'value < 0 ? 0 : (value > 236 ? (value > 300 ? 0 : 236 ) : value)';
ValueToRotateAngle := 'value < 20 ? (value /20 * 86) : (value - 20) / (90-20) * (236-86) + 86';
RotateAngleToValue := 'value < 86 ? value / 86 * 20: ( 20 + ( value -86 ) / (236-86) * 70 )';
end;
Value := OleVariant(45);
EndUpdate();
end
|
34
|
How can I rotate more knobs at once

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Value: <b>` + (value format ``)',Layers.Item[OleVariant(4)].Value,Null,Null);
Layers.Item[OleVariant(2)].RotateAngle := Gauge1.Layers.Item[OleVariant(4)].RotateAngle;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Gauge1.Layers.Item[OleVariant(4)].RotateAngle := Gauge1.FormatABC('A - B',OleVariant(Gauge1.Layers.Item[OleVariant(4)].RotateAngle),OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 1';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 5;
with Layers.Item[OleVariant(4)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotamove;
DefaultRotateAngle := -142;
end;
with Layers.Item[OleVariant(2)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
end;
end
|
33
|
How can I clip one layer while other is rotating

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Value: <b>` + (value format ``)',Layers.Item[OleVariant(9)].Value,Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotateAngle: <b>` + ( A format `` ) + `°`',OleVariant(Layers.Item[OleVariant(9)].RotateAngle),Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(18);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveCenter: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterX),OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterY),Null);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(36);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveOffset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetX),OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetY),Null);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(54);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Offset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].OffsetX),OleVariant(Layers.Item[OleVariant(9)].OffsetY),Null);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(72);
ExtraCaption['Client',EXGAUGELib_TLB.exLayerCaption] := FormatABC('`<sha ;;0><font ;12><b>` + ((100 - value) format ``)',Gauge1.Value,Null,Null);
ExtraCaption['Client',EXGAUGELib_TLB.exLayerCaptionLeft] := FormatABC('value - 12',OleVariant(.Item[OleVariant(9)].LayerToClientX[OleVariant(Layers.RotamoveCenterX),OleVariant(.RotamoveCenterY)]),Null,Null);
ExtraCaption['Client',EXGAUGELib_TLB.exLayerCaptionTop] := FormatABC('value - 36',OleVariant(.Item[OleVariant(9)].LayerToClientY[OleVariant(Layers.RotamoveCenterX),OleVariant(.RotamoveCenterY)]),Null,Null);
Layers.Item[OleVariant(3)].Clip.Value := OleVariant(Gauge1.Layers.Item[OleVariant(9)].RotateAngle);
Layers.Item[OleVariant(4)].Clip.Value := Gauge1.Layers.Item[OleVariant(3)].Clip.Value;
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.RotateAngleValid = "value < 0 ? 0 : ( value >= 360 ? 359.999 : value )"
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := FormatABC('100 - value - B',Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 11;
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
with Layers.Item[OleVariant(9)] do
begin
DefaultRotateAngle := -126;
OnDrag := EXGAUGELib_TLB.exDoRotamove;
RotateAngleToValue := '100 - value / 360 * 100';
ValueToRotateAngle := '(value)/100 * 360';
end;
Layers.Item[OleVariant(3)].Clip.Pie.SweepAngle := 'value';
Layers.Item[OleVariant(4)].Clip.Pie.SweepAngle := Gauge1.Layers.Item[OleVariant(3)].Clip.Pie.SweepAngle;
Layers.Item[OleVariant(9)].Value := OleVariant(25);
EndUpdate();
end
|
32
|
Can I move one or more layers at once

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(3)].Brightness[EXGAUGELib_TLB.exRedChannel] := Gauge1.FormatABC('100 - value ',Gauge1.Value,Null,Null);
Layers.Item[OleVariant(4)].Brightness[EXGAUGELib_TLB.exRedChannel] := Gauge1.Layers.Item[OleVariant(3)].Brightness[EXGAUGELib_TLB.exRedChannel];
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Value: <b>` + (100 - value format ``)',Layers.Item[OleVariant(9)].Value,Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotateAngle: <b>` + ( A format `` ) + `°`',OleVariant(Layers.Item[OleVariant(9)].RotateAngle),Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(18);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveCenter: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterX),OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterY),Null);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(36);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveOffset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetX),OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetY),Null);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(54);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Offset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].OffsetX),OleVariant(Layers.Item[OleVariant(9)].OffsetY),Null);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(72);
Layers.Item[OleVariant(10)].RotateAngle := Gauge1.Layers.Item[OleVariant(9)].RotateAngle;
end
end;
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
procedure TForm1.Gauge1DblClick(ASender: TObject; Shift : Smallint;X : Integer;Y : Integer);
begin
with Gauge1 do
begin
Value := OleVariant(0);
end
end;
// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// ExtraCaption("Clockwise",0) = FormatABC( "` Clockwise: <b>` + ( value != 0 ? `Yes` : `No`) ", DragInfo.Clockwise )
// ExtraCaption("Cumulative",0) = FormatABC( "` CumulativeRotateAngle: <b>` + ( value format `` ) + `°` ", DragInfo.CumulativeRotateAngle )
with Gauge1 do
begin
OutputDebugString( DragInfo );
ExtraCaption['Clockwise',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(90);
ExtraCaption['Cumulative',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(108);
end
end;
// DragEnd event - Occurs once the user ends dragging a layer.
procedure TForm1.Gauge1DragEnd(ASender: TObject; DragInfo : IDragInfo;Cancel : WordBool);
begin
with Gauge1 do
begin
ExtraCaption['Clockwise',EXGAUGELib_TLB.exLayerCaption] := '';
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 227
// DragInfo.RotateAngleValid = "value < 0 ? 0 : (value > 360 ? 359.999999 : value)"
with Gauge1 do
begin
ExtraCaption['Clockwise',EXGAUGELib_TLB.exLayerCaption] := '';
ExtraCaption['Cumulative',EXGAUGELib_TLB.exLayerCaption] := '';
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := FormatABC('100 - A - B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 11;
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
with Layers.Item[OleVariant(9)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotamove;
DefaultRotateAngle := -126;
RotateAngleToValue := '100 - (value ) / 360 * 100';
ValueToRotateAngle := '(value)/100 * 360';
end;
with Layers.Item[OleVariant(10)] do
begin
Grayscale := 100;
Transparency := 25;
DefaultRotateAngle := -69.5;
RotateAngleToValue := '100 - (value ) / 360 * 100';
ValueToRotateAngle := '(value 1)/100 * 360';
Background.Picture.Value := 'Highlighted_Layer4.png';
end;
with Layers.Item[OleVariant(3)] do
begin
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exRedChannel] := 0;
end;
with Layers.Item[OleVariant(4)] do
begin
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exRedChannel] := 0;
end;
LayerOfValue := 9;
Value := OleVariant(5);
EndUpdate();
end
|
31
|
How can I rotate a knob by moving ( rotamove )

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(3)].Transparency := Gauge1.Value;
Layers.Item[OleVariant(4)].Transparency := Gauge1.Value;
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Value: <b>` + (100 - value format ``)',Layers.Item[OleVariant(9)].Value,Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotateAngle: <b>` + ( A format `` ) + `°`',OleVariant(Layers.Item[OleVariant(9)].RotateAngle),Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(18);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveCenter: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterX),OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterY),Null);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(36);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveOffset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetX),OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetY),Null);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(54);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Offset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].OffsetX),OleVariant(Layers.Item[OleVariant(9)].OffsetY),Null);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(72);
end
end;
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
procedure TForm1.Gauge1DblClick(ASender: TObject; Shift : Smallint;X : Integer;Y : Integer);
begin
with Gauge1 do
begin
Value := OleVariant(0);
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.RotateAngleValid = "value < 0 ? 0 : (value > 360 ? 359.999999 : value)"
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := FormatABC('100 - A - B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 11;
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
with Layers.Item[OleVariant(9)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotamove;
DefaultRotateAngle := -126;
RotateAngleToValue := '100 - value / 360 * 100';
ValueToRotateAngle := '(value)/100 * 360';
Background.ExtraPicture['Aka'].Value := 'Highlighted_Layer4.png';
end;
with Layers.Item[OleVariant(3)] do
begin
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exRedChannel] := 100;
end;
with Layers.Item[OleVariant(4)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotamove;
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
Brightness[EXGAUGELib_TLB.exRedChannel] := 100;
end;
Value := OleVariant(15);
EndUpdate();
end
|
30
|
How can I display a knob, and displays the current value on it

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Value: <b>` + (100 - value format ``)',Layers.Item[OleVariant(9)].Value,Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotateAngle: <b>` + ( A format `` ) + `°`',OleVariant(Layers.Item[OleVariant(9)].RotateAngle),Null,Null);
ExtraCaption['RotateAngle',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(18);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveCenter: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterX),OleVariant(Layers.Item[OleVariant(9)].RotamoveCenterY),Null);
ExtraCaption['RotamoveCenter',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(36);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` RotamoveOffset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetX),OleVariant(Layers.Item[OleVariant(9)].RotamoveOffsetY),Null);
ExtraCaption['RotamoveOffset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(54);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaption] := FormatABC('` Offset: <b> (` + A + `,` + B + `)`',OleVariant(Layers.Item[OleVariant(9)].OffsetX),OleVariant(Layers.Item[OleVariant(9)].OffsetY),Null);
ExtraCaption['Offset',EXGAUGELib_TLB.exLayerCaptionTop] := OleVariant(72);
ExtraCaption['Client',EXGAUGELib_TLB.exLayerCaption] := FormatABC('`<sha ;;0><font ;12><b>` + (100 - value format `0`)',Gauge1.Value,Null,Null);
ExtraCaption['Client',EXGAUGELib_TLB.exLayerCaptionLeft] := FormatABC('value - 8',OleVariant(Gauge1.Layers.Item[OleVariant(9)].LayerToClientX[OleVariant(Gauge1.Layers.Item[OleVariant(9)].RotamoveCenterX),OleVariant(Gauge1.Layers.Item[OleVariant(9)].RotamoveCenterY)]),Null,Null);
ExtraCaption['Client',EXGAUGELib_TLB.exLayerCaptionTop] := FormatABC('value - 26',OleVariant(Gauge1.Layers.Item[OleVariant(9)].LayerToClientY[OleVariant(Gauge1.Layers.Item[OleVariant(9)].RotamoveCenterX),OleVariant(Gauge1.Layers.Item[OleVariant(9)].RotamoveCenterY)]),Null,Null);
Layers.Item[OleVariant(7)].RotateAngle := Gauge1.Layers.Item[OleVariant(0)].RotateAngle;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := FormatABC('100 - A - B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob';
PicturesName := '`Layer` + str(value + 1) + `.png`';
Layers.Count := 11;
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
with Layers.Item[OleVariant(9)] do
begin
DefaultRotateAngle := -126;
OnDrag := EXGAUGELib_TLB.exDoRotamove;
RotateAngleToValue := '100 - (value / 360 * 100)';
ValueToRotateAngle := '(value)/100 * 360';
ValueToOffsetX := 'value';
OffsetToValue := 'value';
RotateAngleValid := 'int(value / 360 * 100)/100 * 360';
end;
Layers.Item[OleVariant(3)].Visible := False;
Layers.Item[OleVariant(4)].Visible := False;
with Layers.Item[OleVariant(0)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
end;
with Layers.Item[OleVariant(7)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
end;
Value := OleVariant(25);
EndUpdate();
end
|
29
|
How can I display an indicator

// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(1)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',.Layers.Item[OleVariant(1)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Linear\Indicator';
Layers.Count := 3;
Layers.Item[OleVariant(0)].Background.Picture.Name := 'Background.png';
with Layers.Item[OleVariant(1)] do
begin
Background.Picture.Name := 'Green_Lights.png';
with Clip do
begin
with Rectangle do
begin
Height := '(100 - value)/100 * height';
InverseClip := True;
end;
Value := OleVariant(50);
end;
end;
with Layers.Item[OleVariant(2)] do
begin
Visible := False;
Background.Picture.Name := 'overlay_top_layer.png';
end;
end
|
28
|
How can I display a gauge

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(1)].Brightness[EXGAUGELib_TLB.exGreenChannel] := Gauge1.Value;
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('A - B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
BeginUpdate();
BackColor := RGB(217,217,217);
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Guage';
Layers.Count := 2;
AllowSmoothChange := EXGAUGELib_TLB.exSmoothChangeless;
with Layers.Item[OleVariant(0)] do
begin
RotateCenterY := 'lheight/2 + 78';
Background.Picture.Name := 'Guage_Background.png';
end;
with Layers.Item[OleVariant(1)] do
begin
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'Guage_Needle.png';
RotateAngleValid := 'value < 90 ? value : (value < 180 ? 90 : ( value < 270 ? 270 : value ))';
RotateAngleToValue := 'value >= 270 ? (value - 270)/90*50 : (value/90)*50 + 50';
ValueToRotateAngle := 'value < 50 ? (270 + value/50*90) : (value - 50)/50 * 90';
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Brightness[EXGAUGELib_TLB.exAllChannels] := 0;
end;
Value := OleVariant(78);
EndUpdate();
end
|
27
|
How can I display a clock (rotate,wolf)

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item['sec'].Value := Gauge1.Value;
Layers.Item['min'].Value := Gauge1.Value;
Layers.Item['hour'].Value := Gauge1.Value;
Layers.Item['range'].Clip.Value := Gauge1.Layers.Item['pointer'].Value;
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = -1
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Gauge1.Layers.Item['pointer'].Value := Gauge1.FormatABC('A - B',Gauge1.Layers.Item['pointer'].Value,OleVariant(Delta),Null);
end
end;
// Timer event - Occurs when the interval elapses.
procedure TForm1.Gauge1Timer(ASender: TObject; TickCount : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC(' date(`now`)',Null,Null,Null);
Gauge1.Layers.Item['pointer'].Value := Gauge1.FormatABC('sin((value/100 mod 100)/100 * 2 * asin(1)) * 100',OleVariant(TickCount),Null,Null);
Layers.Item['range'].Clip.Value := Gauge1.Layers.Item['pointer'].Value;
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Clock - Wolf';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 9;
with Layers.Item[OleVariant(0)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Background.Picture.Name := 'Back.png';
end;
with Layers.Item[OleVariant(1)] do
begin
Key := 'scale';
DefaultOffsetX := -90;
DefaultOffsetY := -150;
Background.Picture.Name := 'Scale.png';
RotateCenterLayer := 1;
RotateCenterX := '(lwidth+181)/2';
RotateCenterY := '(lheight+232)/2';
end;
with Layers.Item[OleVariant(2)] do
begin
Key := 'range';
DefaultOffsetX := Gauge1.Layers.Item['scale'].DefaultOffsetX;
DefaultOffsetY := Gauge1.Layers.Item['scale'].DefaultOffsetY;
RotateCenterLayer := Gauge1.Layers.Item['scale'].Index;
with Background.Picture do
begin
Name := 'ScalePointerArc.png';
end;
RotateCenterLayer := Gauge1.Layers.Item['scale'].Index;
with Clip.Pie do
begin
RadiusX := 100;
RadiusY := 100;
CenterX := Gauge1.Layers.Item['scale'].RotateCenterX;
CenterY := Gauge1.Layers.Item['scale'].RotateCenterY;
StartAngle := -148;
SweepAngle := 'value/100 * 300';
end;
end;
with Layers.Item[OleVariant(3)] do
begin
Key := 'pointer';
DefaultOffsetX := Gauge1.Layers.Item['scale'].DefaultOffsetX;
DefaultOffsetY := Gauge1.Layers.Item['scale'].DefaultOffsetY;
with Background.Picture do
begin
Name := 'ScalePointer.png';
end;
RotateCenterLayer := Gauge1.Layers.Item['scale'].Index;
OnDrag := EXGAUGELib_TLB.exDoRotate;
DefaultRotateAngle := -148;
RotateAngleValid := 'value > 300 ? (value > 330 ? 0 : 300) : value';
RotateAngleToValue := 'value / 300 * 100';
ValueToRotateAngle := 'value /100 * 300';
end;
with Layers.Item[OleVariant(4)] do
begin
Key := 'bolt';
DefaultOffsetX := Gauge1.Layers.Item['scale'].DefaultOffsetX;
DefaultOffsetY := Gauge1.Layers.Item['scale'].DefaultOffsetY;
with Background.Picture do
begin
Name := 'Bolt.png';
end;
end;
with Layers.Item[OleVariant(5)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Key := 'sec';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
Background.Picture.Name := 'second-hand.png';
ValueToRotateAngle := '((2:=(((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - f' +
'loor(=:1)) * 60 )) - floor(=:2) ) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(6)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Key := 'min';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
Background.Picture.Name := 'Minute.png';
ValueToRotateAngle := '((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - floor(=' +
':1)) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(7)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Key := 'hour';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'Hour.png';
ValueToRotateAngle := '2 * 360 * ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) )';
RotateAngleToValue := 'value / 360 * 0.5';
end;
with Layers.Item[OleVariant(8)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Key := 'front';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'front.png';
end;
LayerOfValue := Gauge1.Layers.Item['hour'].Index;
Value := FormatABC('date(`now`)',Null,Null,Null);
TimerInterval := 100;
end
|
26
|
How can I display a clock (rotate,vintage)

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item['sec'].Value := Gauge1.Value;
Layers.Item['min'].Value := Gauge1.Value;
Layers.Item['hour'].Value := Gauge1.Value;
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Gauge1.Value := Gauge1.FormatABC('A - 1/24/60/60*B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
// Timer event - Occurs when the interval elapses.
procedure TForm1.Gauge1Timer(ASender: TObject; TickCount : Integer);
begin
with Gauge1 do
begin
Value := FormatABC('value + 1/24/60/60',Value,Null,Null);
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Clock - Vintage';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 5;
with Layers.Item[OleVariant(0)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Background.Picture.Name := 'Back.png';
end;
with Layers.Item[OleVariant(1)] do
begin
Position := 3;
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Key := 'sec';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
Background.Picture.Name := 'second-hand.png';
ValueToRotateAngle := '((2:=(((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - f' +
'loor(=:1)) * 60 )) - floor(=:2) ) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(2)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Position := 2;
Key := 'min';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
Background.Picture.Name := 'Minute.png';
ValueToRotateAngle := '((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - floor(=' +
':1)) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(3)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Position := 1;
Key := 'hour';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'Hour.png';
ValueToRotateAngle := '2 * 360 * ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) )';
RotateAngleToValue := 'value / 360 * 0.5';
end;
with Layers.Item[OleVariant(4)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Position := 1;
Key := 'front';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'front.png';
ValueToRotateAngle := '2 * 360 * ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) )';
RotateAngleToValue := 'value / 360 * 0.5';
end;
LayerOfValue := 3;
Value := FormatABC('date(`now`)',Null,Null,Null);
TimerInterval := 1000;
end
|
25
|
How can I display a clock (rotate,london)

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item['sec'].Value := Gauge1.Value;
Layers.Item['min'].Value := Gauge1.Value;
Layers.Item['hour'].Value := Gauge1.Value;
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Gauge1.Value := Gauge1.FormatABC('A - 1/24/60/60*B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
// Timer event - Occurs when the interval elapses.
procedure TForm1.Gauge1Timer(ASender: TObject; TickCount : Integer);
begin
with Gauge1 do
begin
Value := Gauge1.FormatABC('value + 1/24/60/60',Value,Null,Null);
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Clock - London';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 6;
with Layers.Item[OleVariant(0)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Background.Picture.Name := 'Back.png';
end;
with Layers.Item[OleVariant(1)] do
begin
Position := 3;
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Key := 'sec';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
RotateCenterLayer := 1;
Background.Picture.Name := 'second-hand.png';
ValueToRotateAngle := '((2:=(((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - f' +
'loor(=:1)) * 60 )) - floor(=:2) ) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(2)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Position := 2;
RotateCenterLayer := 2;
Key := 'min';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
Background.Picture.Name := 'Minute.png';
ValueToRotateAngle := '((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - floor(=' +
':1)) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(3)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Position := 1;
Key := 'hour';
RotateCenterLayer := 3;
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'Hour.png';
ValueToRotateAngle := '2 * 360 * ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) )';
RotateAngleToValue := 'value / 360 * 0.5';
end;
with Layers.Item[OleVariant(4)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Position := 1;
Key := 'front';
RotateCenterLayer := 4;
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'front.png';
ValueToRotateAngle := '2 * 360 * ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) )';
RotateAngleToValue := 'value / 360 * 0.5';
end;
with Layers.Item[OleVariant(5)] do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
Key := 'bolt';
RotateCenterLayer := 5;
Background.Picture.Name := 'Bolt.png';
end;
LayerOfValue := Gauge1.Layers.Item['hour'].Index;
Value := Gauge1.FormatABC('date(`now`)',Null,Null,Null);
TimerInterval := 1000;
end
|
24
|
How can I display a clock (rotate)

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item['sec'].Value := Gauge1.Value;
Layers.Item['min'].Value := Gauge1.Value;
Layers.Item['hour'].Value := Gauge1.Value;
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Gauge1.Value := Gauge1.FormatABC('A - 1/24/60/60*B',Gauge1.Value,OleVariant(Delta),Null);
end
end;
// Timer event - Occurs when the interval elapses.
procedure TForm1.Gauge1Timer(ASender: TObject; TickCount : Integer);
begin
with Gauge1 do
begin
Value := FormatABC('value + 1/24/60/60',Value,Null,Null);
end
end;
with Gauge1 do
begin
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Clock';
DefaultLayer[EXGAUGELib_TLB.exDefLayerRotateType] := OleVariant(2);
Layers.Count := 4;
with Layers.Item[OleVariant(0)] do
begin
Background.Picture.Name := 'vista_clock.png';
end;
with Layers.Item[OleVariant(1)] do
begin
Position := 3;
Key := 'sec';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
Background.Picture.Name := 'second-hand.png';
ValueToRotateAngle := '((2:=(((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - f' +
'loor(=:1)) * 60 )) - floor(=:2) ) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(2)] do
begin
Position := 2;
Key := 'min';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Selectable := False;
Background.Picture.Name := 'Minute.png';
ValueToRotateAngle := '((1:=( ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) ) * 24 )) - floor(=' +
':1)) * 360';
RotateAngleToValue := 'value / 360 / 24 / 60';
end;
with Layers.Item[OleVariant(3)] do
begin
Position := 1;
Key := 'hour';
OnDrag := EXGAUGELib_TLB.exDoRotate;
Background.Picture.Name := 'Hour.png';
ValueToRotateAngle := '2 * 360 * ( (0:=(value < 0 ? floor(value) + 1 - value : value - floor(value))) < 0.5 ? =:0 : (0:= (=:0 - 0.5)) )';
RotateAngleToValue := 'value / 360 * 0.5';
end;
LayerOfValue := 3;
Value := FormatABC('date(`now`)',Null,Null,Null);
TimerInterval := 1000;
end
|
23
|
How can I clip as a triangle

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaY )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
with Clip do
begin
with Polygon do
begin
Points := 3;
X[0] := 0;
Y[0] := 'height';
X[1] := 'width/2';
Y[1] := 'value/100*width';
X[2] := 'width';
Y[2] := 'height';
InverseClip := True;
end;
Value := OleVariant(50);
end;
end;
end
|
22
|
How can I limit the rotation from 0 to 360 degree, while dragging
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 483
// DragInfo.RotateAngleValid = "value < 0 ? 0 : (value > 360 ? 359.999999 : value)"
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
with Background.Picture do
begin
Value := 'c:\exontrol\images\card.png';
Left := '(width-pwidth)/2';
Top := '(height-pheight)/2';
Width := 'pwidth';
Height := 'pheight';
end;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateAngle := -45;
end;
end
|
21
|
How can I clip as a pie

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("value + B/360 * 100", Me.Layers(0).UserData, DragInfo.DeltaAngle )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = -1
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Left := '(width-128)/2';
Top := '(height-128)/2';
Height := 128;
Width := 128;
Background.Color.Value := $ff00;
with Clip do
begin
with Pie do
begin
InverseClip := True;
StartAngle := 0;
SweepAngle := 'value/100*360';
end;
Value := OleVariant(15);
end;
end;
end
|
20
|
How can I use a picture to clip the layer

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Layers.Item['Clip'].Clip.Value := OleVariant(Gauge1.Layers.Item['Thumb'].RotateAngle);
end
end;
with Gauge1 do
begin
BeginUpdate();
PicturesPath := 'C:\Program Files\Exontrol\ExGauge\Sample\Design\Circular\Knob 1';
PicturesName := '`Layer` + int(value + 1) + `.png`';
Layers.Count := 5;
with Layers.Item[OleVariant(4)] do
begin
Key := 'Thumb';
DefaultRotateAngle := -141;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
end;
with Layers.Item[OleVariant(1)] do
begin
Key := 'Clip';
with Clip do
begin
Pie.SweepAngle := 'value';
with Picture do
begin
Name := Gauge1.Layers.Item['Clip'].Background.Picture.Name;
AlphaTo := '128';
end;
end;
end;
Layers.Item['Thumb'].RotateAngle := 90;
EndUpdate();
end
|
19
|
How do I clip a circle/ellipse

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Left := '(width-128)/2';
Top := '(height-128)/2';
Height := 128;
Width := 128;
Background.Color.Value := $ff00;
with Clip do
begin
Ellipse.RadiusX := 'value/100 * width';
Value := OleVariant(25);
end;
end;
end
|
18
|
What InverseClip does

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Left := '(width-128)/2';
Top := '(height-128)/2';
Height := 128;
Width := 128;
Background.Color.Value := $ff00;
with Clip do
begin
with RoundRectangle do
begin
Width := 'value/100 * width';
RoundRadiusX := 'width/8';
RoundRadiusY := 'height/8';
InverseClip := True;
end;
Value := OleVariant(50);
end;
end;
end
|
17
|
How do I clip as rectangle (round), from left to right

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Left := '(width-128)/2';
Top := '(height-128)/2';
Height := 128;
Width := 128;
Background.Color.Value := $ff00;
with Clip do
begin
with RoundRectangle do
begin
Width := 'value/100 * width';
RoundRadiusX := 'width/8';
RoundRadiusY := 'height/8';
end;
Value := OleVariant(50);
end;
end;
end
|
16
|
How do I clip as rectangle, from bottom to top

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaY )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
with Clip do
begin
with Rectangle do
begin
Height := 'value/100 * height';
InverseClip := True;
end;
Value := OleVariant(50);
end;
end;
end
|
15
|
How do I clip as rectangle, from top to bottom

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaY )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
with Clip do
begin
Rectangle.Height := 'value/100 * height';
Value := OleVariant(50);
end;
end;
end
|
14
|
How do I clip as rectangle, from right to left

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
with Clip do
begin
with Rectangle do
begin
Width := 'value/100 * width';
InverseClip := True;
end;
Value := OleVariant(50);
end;
end;
end
|
13
|
How do I clip as rectangle, from left to right

// Drag event - Notifies that the user drags the layer.
procedure TForm1.Gauge1Drag(ASender: TObject; DragInfo : IDragInfo);
begin
// Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX )
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug= 287
with Gauge1 do
begin
with Layers.Item[OleVariant(0)] do
begin
UserData := Clip.Value;
end;
end
end;
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus
procedure TForm1.Gauge1MouseWheel(ASender: TObject; Delta : Integer);
begin
with Gauge1 do
begin
Layers.Item[OleVariant(0)].Clip.Value := Gauge1.FormatABC('(value + B) MIN 0 MAX 100',Gauge1.Layers.Item[OleVariant(0)].Clip.Value,OleVariant(Delta),Null);
end
end;
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
with Clip do
begin
Rectangle.Width := 'value/100 * width';
Value := OleVariant(50);
end;
end;
end
|
12
|
How can I associate a value to rotation angle

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('`Value: <b>` + (value format ``) ',Layers.Item[OleVariant(0)].Value,Null,Null);
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 483
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
with Background.Picture do
begin
Value := 'c:\exontrol\images\card.png';
Left := '(width-pwidth)/2';
Top := '(height-pheight)/2';
Width := 'pwidth';
Height := 'pheight';
end;
OnDrag := EXGAUGELib_TLB.exDoRotate;
DefaultRotateAngle := 45;
RotateCenterY := 'lheight/2 + 32';
RotateCenterX := 'lwidth/2 + 32';
RotateAngleToValue := 'value/360 * 100';
ValueToRotateAngle := 'value / 100 * 360';
Value := OleVariant(50);
end;
end
|
11
|
How can I associate a value to vertical offset

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('`Value: <b>` + (value format ``)',Layers.Item[OleVariant(0)].Value,Null,Null);
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 287
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
OnDrag := EXGAUGELib_TLB.exDoMove;
DefaultOffsetY := -100;
OffsetYValid := 'value MIN 0 MAX 200';
OffsetXValid := 0;
OffsetToValue := 'offsety /200 * 100';
ValueToOffsetY := 'value / 100 * 200';
Value := OleVariant(50);
end;
end
|
10
|
How can I associate a value to horizontal offset

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('`Value: <b>` + (value format ``)',Layers.Item[OleVariant(0)].Value,Null,Null);
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 287
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
OnDrag := EXGAUGELib_TLB.exDoMove;
DefaultOffsetX := -100;
OffsetXValid := 'value MIN 0 MAX 200';
OffsetYValid := 0;
OffsetToValue := 'offsetx /200 * 100';
ValueToOffsetX := 'value / 100 * 200';
Value := OleVariant(50);
end;
end
|
9
|
How can I display the current angle

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('`Angle: <b>` + (value format ``) + `°`',OleVariant(Layers.Item[OleVariant(0)].RotateAngle),Null,Null);
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 483
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
with Background.Picture do
begin
Value := 'c:\exontrol\images\card.png';
Left := '(width-pwidth)/2';
Top := '(height-pheight)/2';
Width := 'pwidth';
Height := 'pheight';
end;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateAngleValid := '(value > 180 ? value - 360 : value) MIN 15 MAX 65';
end;
end
|
8
|
How can I limit the rotation angle

// Change event - Occurs when the layer's value is changed.
procedure TForm1.Gauge1Change(ASender: TObject; Layer : Integer);
begin
with Gauge1 do
begin
Caption[EXGAUGELib_TLB.exLayerCaption] := FormatABC('`Angle: <b>` + (value format ``) + `°`',OleVariant(Layers.Item[OleVariant(0)].RotateAngle),Null,Null);
end
end;
// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 483
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
with Background.Picture do
begin
Value := 'c:\exontrol\images\card.png';
Left := '(width-pwidth)/2';
Top := '(height-pheight)/2';
Width := 'pwidth';
Height := 'pheight';
end;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateAngleValid := '(value > 180 ? value - 360 : value) MIN 15 MAX 65';
end;
end
|
7
|
Can I specify a different center while rotating

// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 483
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
RotateType := EXGAUGELib_TLB.exRotateBilinearInterpolation;
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
with Background.Picture do
begin
Value := 'c:\exontrol\images\card.png';
Left := '(width-pwidth)/2';
Top := '(height-pheight)/2';
Width := 'pwidth';
Height := 'pheight';
end;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateAngle := -45;
RotateCenterY := 'lheight/2 + 32';
RotateCenterX := 'lwidth/2 + 32';
end;
end
|
6
|
How can I rotate a layer, without cutting off the picture

// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 483
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
Left := '(width-512)/2';
Top := '(height-512)/2';
Height := 512;
Width := 512;
with Background.Picture do
begin
Value := 'c:\exontrol\images\card.png';
Left := '(width-pwidth)/2';
Top := '(height-pheight)/2';
Width := 'pwidth';
Height := 'pheight';
end;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateAngle := -45;
end;
end
|
5
|
How can I rotate a layer

// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 483
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
with Background.Picture do
begin
Value := 'c:\exontrol\images\card.png';
Width := 'pwidth';
Height := 'pheight';
end;
OnDrag := EXGAUGELib_TLB.exDoRotate;
RotateAngle := 45;
end;
end
|
4
|
Is there any way to debug the layer while moving

// DragStart event - Occurs once the user starts dragging a layer.
procedure TForm1.Gauge1DragStart(ASender: TObject; DragInfo : IDragInfo;var Cancel : WordBool);
begin
// DragInfo.Debug = 287
end;
with Gauge1 do
begin
with Layers.Add('back') do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
OnDrag := EXGAUGELib_TLB.exDoMove;
end;
end
|
3
|
How do I specify where to move the layer, while dragging
with Gauge1 do
begin
with Layers.Add('back') do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
OnDrag := EXGAUGELib_TLB.exDoMove;
OffsetXValid := 'int(value / 64) * 64';
OffsetYValid := 'int(value / 64) * 64';
end;
end
|
2
|
How can I add layers to the control
with Gauge1 do
begin
with Layers.Add('back') do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
OnDrag := EXGAUGELib_TLB.exDoMove;
end;
end
|
1
|
How can I add layers to the control
with Gauge1 do
begin
Layers.Count := 1;
with Layers.Item[OleVariant(0)] do
begin
Background.Picture.Value := 'c:\exontrol\images\card.png';
OnDrag := EXGAUGELib_TLB.exDoMove;
end;
end
|