64 |
ImageSize property on 32 (specifies the size of the control' icons)
|
63 |
ImageSize property on 16 (default) (specifies the size of the control' icons)
|
62 |
I found that the control's needle/knob is too small to touch, is it possible somehow to make it working
|
61 |
How can I rotate/move multiple layers once the user drags the layer
|
60 |
How can I show a layer as disabled
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 1"); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("original"); var_Layer->PutOnDrag(EXGAUGELib::exDoMove); var_Layer->GetBackground()->GetPicture()->PutName("Layer2.png"); var_Layer->PutDefaultOffsetY(-164); var_Layer->PutGrayscale(0); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->Add("grayscale 50%"); var_Layer1->GetBackground()->GetPicture()->PutName("Layer2.png"); var_Layer1->PutGrayscale(50); var_Layer1->PutDefaultOffsetY(-82); EXGAUGELib::ILayerPtr var_Layer2 = spGauge1->GetLayers()->Add("grayscale 100%"); var_Layer2->GetBackground()->GetPicture()->PutName("Layer2.png"); var_Layer2->PutGrayscale(100); spGauge1->EndUpdate(); |
59 |
Is it possible to stretch all layers
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 2"); spGauge1->PutPicturesName(L"`Layer` + int(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(5); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("empty"); var_Layer->GetBackground()->GetColor()->PutValue(RGB(240,240,240)); var_Layer->PutPosition(0); spGauge1->PutLayerAutoSize(-1); spGauge1->EndUpdate(); |
58 |
Tic Tac Toe Game
// MouseDown event - Occurs when the user presses a mouse button. void OnMouseDownGauge1(short Button,short Shift,long X,long Y) { // Left = Me.Layers(l).Left // Top = Me.Layers(l).Top // Width = Me.Layers(l).Width // Height = Me.Layers(l).Height /* 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(); long l = spGauge1->GetLayerFromPoint(-1,-1); EXGAUGELib::ILayersPtr var_Layers = spGauge1->GetLayers(); EXGAUGELib::ILayerPtr var_Layer = var_Layers->Add(spGauge1->GetLayers()->GetCount()); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutLeft(L"8"); var_Picture->PutWidth(L"width - 2 * 8"); var_Picture->PutTop(L"8"); var_Picture->PutHeight(L"height - 2 * 8"); var_Picture->PutName(spGauge1->FormatABC(L"A mod 2 = 0 ? `x` : `o`",spGauge1->GetLayers()->GetCount(),vtMissing,vtMissing)); var_Layer->PutTransparency(0); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABS0IQAAYAQGKIYBkAKBQAGaAoDDcMQ5QwAAyDGKEEwsACEIrjKCRShyCYZRhGcTALD8EhhECTZKkAZAEiWIovRbHMBzFIMYRFFCcIRGSaYD") + "iCNovTRNE7TfBMIhkGoSaKpCIRVDCSYJUzTc6wS79KgAASiJjjao6ZhaSpSABRYiyXRlHSxLiuYyoGTrJACEQxDhEEIjGLAazLMadJItCzabqGbJ8Ro6cQwTAIgI="); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerWidth,"width/3"); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerHeight,"height/3"); spGauge1->PutHTMLPicture(L"x","C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Pictures\\x.png"); spGauge1->PutHTMLPicture(L"o","C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Pictures\\o.png"); spGauge1->PutLayerAutoSize(-1); spGauge1->GetLayers()->PutCount(9); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(1)); var_Layer1->PutLeft(L" width/3 - 4"); var_Layer1->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer2 = spGauge1->GetLayers()->GetItem(long(2)); var_Layer2->PutLeft(L"2 * (width/3 - 4) - 4"); var_Layer2->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer3 = spGauge1->GetLayers()->GetItem(long(3)); var_Layer3->PutTop(L"height/3 - 4"); var_Layer3->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer4 = spGauge1->GetLayers()->GetItem(long(4)); var_Layer4->PutTop(L"height/3 - 4"); var_Layer4->PutLeft(L" width/3 - 4"); var_Layer4->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer5 = spGauge1->GetLayers()->GetItem(long(5)); var_Layer5->PutTop(L"height/3 - 4"); var_Layer5->PutLeft(L"2 * (width/3 - 4) - 4"); var_Layer5->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer6 = spGauge1->GetLayers()->GetItem(long(6)); var_Layer6->PutTop(L"2 * (height/3 - 4) "); var_Layer6->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer7 = spGauge1->GetLayers()->GetItem(long(7)); var_Layer7->PutTop(L"2 * (height/3 - 4) "); var_Layer7->PutLeft(L" width/3 - 4"); var_Layer7->GetBackground()->GetColor()->PutValue(0x1000000); EXGAUGELib::ILayerPtr var_Layer8 = spGauge1->GetLayers()->GetItem(long(8)); var_Layer8->PutTop(L"2 * (height/3 - 4) "); var_Layer8->PutLeft(L"2 * (width/3 - 4) - 4"); var_Layer8->GetBackground()->GetColor()->PutValue(0x1000000); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerTransparency,long(99)); spGauge1->EndUpdate(); |
57 |
What's the difference Rotate vs Rotamove
// DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 227 } /* 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->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Linear\\Button with LEDs"); EXGAUGELib::ILayersPtr var_Layers = spGauge1->GetLayers(); EXGAUGELib::ILayerPtr var_Layer = var_Layers->Add("base"); EXGAUGELib::ILayerPtr var_Layer1 = var_Layers->Add("rotate"); var_Layer1->PutToolTip(_bstr_t(var_Layer1->GetKey())); EXGAUGELib::ILPicturePtr var_Picture = var_Layer1->GetBackground()->GetPicture(); var_Picture->PutName("Example Button Up.png"); var_Picture->PutLeft(L"width/2"); var_Picture->PutTop(L"height/2"); var_Picture->PutWidth(L"128"); var_Picture->PutHeight(L"64"); EXGAUGELib::IForegroundPtr var_Foreground = var_Layer1->GetForeground(); var_Foreground->PutCaption(EXGAUGELib::exLayerCaption,"<font ;14><sha ;;0>Rotate"); var_Foreground->PutCaption(EXGAUGELib::exLayerCaptionLeft,"width/2 + 32"); var_Foreground->PutCaption(EXGAUGELib::exLayerCaptionTop,"height/2 + 16"); var_Layer1->PutBrightness(EXGAUGELib::exRedChannel,100); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer1->PutRotateAngle(45); EXGAUGELib::ILayerPtr var_Layer2 = var_Layers->Add("rotamove"); var_Layer2->PutToolTip(_bstr_t(var_Layer2->GetKey())); EXGAUGELib::ILPicturePtr var_Picture1 = var_Layer2->GetBackground()->GetPicture(); var_Picture1->PutName("Example Button Up.png"); var_Picture1->PutLeft(L"width/2"); var_Picture1->PutTop(L"height/2"); var_Picture1->PutWidth(L"128"); var_Picture1->PutHeight(L"64"); EXGAUGELib::IForegroundPtr var_Foreground1 = var_Layer2->GetForeground(); var_Foreground1->PutCaption(EXGAUGELib::exLayerCaption,"<font ;14><sha ;;0>Rotamove"); var_Foreground1->PutCaption(EXGAUGELib::exLayerCaptionLeft,"width/2 + 24"); var_Foreground1->PutCaption(EXGAUGELib::exLayerCaptionTop,"height/2 + 16"); var_Layer2->PutBrightness(EXGAUGELib::exGreenChannel,100); var_Layer2->PutRotateAngle(45); var_Layer2->PutTransparency(25); var_Layer2->PutOnDrag(EXGAUGELib::exDoRotamove); |
56 |
How do I display a tooltip, when cursor hovers the layer
|
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. void OnDragGauge1(LPDISPATCH DragInfo) { // Layers(DragInfo.Layer).Clip.Ellipse } /* 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->PutBackColor(RGB(217,217,217)); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Guage"); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("background"); var_Layer->GetBackground()->GetPicture()->PutName("Guage_Background.png"); EXGAUGELib::IClipEllipsePtr var_ClipEllipse = var_Layer->GetClip()->GetEllipse(); var_ClipEllipse->PutRadiusX(L"width/3"); var_ClipEllipse->PutRadiusY(L"height/3"); spGauge1->GetLayers()->Add("needle")->GetBackground()->GetPicture()->PutName("Guage_Needle.png"); spGauge1->EndUpdate(); |
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. void OnChangeGauge1(long Layer) { /* 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->GetLayers()->GetItem("Color")->GetClip()->PutValue(spGauge1->GetLayers()->GetItem("Thumb")->GetRotateAngle()); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem("Color"); var_Layer->PutBrightness(EXGAUGELib::exBlueChannel,var_Layer->GetRotateAngle()); spGauge1->GetLayers()->GetItem("Thumb")->PutBrightness(EXGAUGELib::exBlueChannel,spGauge1->GetLayers()->GetItem("Color")->GetRotateAngle()); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 1"); spGauge1->PutPicturesName(L"`Layer` + int(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(5); spGauge1->GetLayers()->GetItem(long(1))->PutVisible(VARIANT_FALSE); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(4)); var_Layer->PutKey("Thumb"); var_Layer->PutDefaultRotateAngle(-141); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer->PutBrightness(EXGAUGELib::exRedChannel,100); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->Add("Color"); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer1->PutPosition(3); var_Layer1->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer1->PutBrightness(EXGAUGELib::exRedChannel,100); var_Layer1->GetBackground()->GetPicture()->PutName("Layer3.png"); var_Layer1->GetClip()->GetPie()->PutSweepAngle(L"value"); EXGAUGELib::IClipEllipsePtr var_ClipEllipse = var_Layer1->GetClip()->GetEllipse(); var_ClipEllipse->PutRadiusX(L"150"); var_ClipEllipse->PutRadiusY(L"150"); var_ClipEllipse->PutInverseClip(VARIANT_TRUE); spGauge1->GetLayers()->GetItem("Thumb")->PutRotateAngle(135); spGauge1->EndUpdate(); |
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. void OnChangeGauge1(long Layer) { /* 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->GetLayers()->GetItem("Color")->GetClip()->PutValue(spGauge1->GetLayers()->GetItem("Thumb")->GetRotateAngle()); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem("Color"); var_Layer->PutBrightness(EXGAUGELib::exBlueChannel,var_Layer->GetRotateAngle()); spGauge1->GetLayers()->GetItem("Thumb")->PutBrightness(EXGAUGELib::exBlueChannel,spGauge1->GetLayers()->GetItem("Color")->GetRotateAngle()); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 1"); spGauge1->PutPicturesName(L"`Layer` + int(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(5); spGauge1->GetLayers()->GetItem(long(1))->PutVisible(VARIANT_FALSE); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(4)); var_Layer->PutKey("Thumb"); var_Layer->PutDefaultRotateAngle(-141); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer->PutBrightness(EXGAUGELib::exGreenChannel,100); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->Add("Color"); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer1->PutPosition(3); var_Layer1->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer1->PutBrightness(EXGAUGELib::exGreenChannel,100); var_Layer1->GetBackground()->GetPicture()->PutName("Layer3.png"); var_Layer1->GetClip()->GetPie()->PutSweepAngle(L"value"); spGauge1->GetLayers()->GetItem("Thumb")->PutRotateAngle(135); spGauge1->EndUpdate(); |
52 |
How can I display / clip a picture with no transparency
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 1"); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("default"); var_Layer->PutOnDrag(EXGAUGELib::exDoMove); var_Layer->GetBackground()->GetPicture()->PutName("Layer2.png"); var_Layer->PutDefaultOffsetY(-164); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->Add("notransparency"); var_Layer1->PutOnDrag(EXGAUGELib::exDoMove); var_Layer1->GetBackground()->GetPicture()->PutName("Layer2.png"); EXGAUGELib::IClipPicturePtr var_ClipPicture = var_Layer1->GetClip()->GetPicture(); var_ClipPicture->PutName(spGauge1->GetLayers()->GetItem("notransparency")->GetBackground()->GetPicture()->GetName()); var_ClipPicture->PutAlphaTo(L"128"); var_Layer1->PutGrayscale(100); spGauge1->EndUpdate(); |
51 |
How can I resize all layers
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 2"); spGauge1->PutPicturesName(L"`Layer` + int(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(5); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("autosize"); var_Layer->PutVisible(VARIANT_FALSE); var_Layer->PutWidth(L"164"); var_Layer->PutHeight(L"128"); spGauge1->PutLayerAutoSize(spGauge1->GetLayers()->GetItem("autosize")->GetIndex()); spGauge1->EndUpdate(); |
50 |
How can I start moving any layer when user clicks it
// DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // Layers(DragInfo.Layer).OnDrag = 1 } /* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + int(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(11); |
49 |
How can I prevent dragging the layers when user right click it
// DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // Cancel = Me.FormatABC("A=2",DragInfo.Button) } /* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + int(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(11); spGauge1->GetLayers()->GetItem(long(0))->PutOnDrag(EXGAUGELib::exDoMove); |
48 |
Is your control DPI-Aware
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerRotateType,long(2)); spGauge1->GetLayers()->PutCount(11); spGauge1->GetLayers()->GetItem(long(3))->PutGrayscale(100); spGauge1->GetLayers()->GetItem(long(4))->PutGrayscale(100); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(10)); var_Layer->PutWidth(L"128 * dpix"); var_Layer->PutHeight(L"128 * dpiy"); spGauge1->GetLayers()->GetItem(long(9))->PutOnDrag(EXGAUGELib::exDoRotate); spGauge1->PutLayerAutoSize(10); |
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
|
46 |
How can I show the layers on perspective
|
45 |
Is it possible to resize all layers after they are loaded (method 2)
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerRotateType,long(2)); spGauge1->GetLayers()->PutCount(11); spGauge1->GetLayers()->GetItem(long(3))->PutGrayscale(100); spGauge1->GetLayers()->GetItem(long(4))->PutGrayscale(100); spGauge1->GetLayers()->GetItem(long(9))->PutOnDrag(EXGAUGELib::exDoRotate); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(10)); var_Layer->PutWidth(L"128"); var_Layer->PutHeight(L"128"); spGauge1->PutLayerAutoSize(10); |
44 |
Is it possible to resize all layers after they are loaded (method 1)
|
43 |
Is it possible to load images for different layers from different folders
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(12); spGauge1->GetLayers()->GetItem(long(0))->GetBackground()->GetPicture()->PutName("\\..\\Clock\\vista_clock.png"); spGauge1->GetLayers()->GetItem(long(9))->GetBackground()->GetPicture()->PutName("\\..\\Knob 2\\Layer3.png"); spGauge1->GetLayers()->GetItem(long(10))->GetBackground()->GetPicture()->PutName("C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Led\\Speed\\noBack.png"); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(11)); var_Layer->PutDefaultOffsetX(64); var_Layer->PutDefaultOffsetY(-36); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutName(_bstr_t("gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQEX5JIhBKhYQrFSxNNhUKoUY7/c6+R6+a7pPg0UAjaISTQwCzMEgtWQ2IyDBJJMYiNJCJgTVJuMghNTcSgFA") + "xlNZiMinYKNRQ2NxMBhWNQkSRUAQkRRNEhYEBhMogMADOwGfY6N7eXb3DgXeamZgMGbQIStE55RZ7c7ce7/XpzZycOaBf7ZNAlZwiGQIMAnQBnAL4ACKAACABXADMAY4" + "BLgHYiXS6VQAESyDbAHYAGwvea9E4BXhPIgXD4KQCZD4FeAJzqWFLcNQf1KkSgyFYGMDmVoAEwAHjxQDiOo7AbgKqlaj8WQBRgxDYBfmabpDRTXdumF5ZSwVboXIBrTo" + "AhgBIwHWFREvoNZtlsb42G6Kg2g4b59AeYgAnAMpWnqBZWk2JoIkQcY8AGQAvgAPBWkcScUnceh6FoLYWAsepsGwLBsCcMIMh8C4AHYOAODOVIUHaYwviKMgvh2eIxmO" + "RxcnHJ5MjYExBlmM5nBAVgqGodY9nuFxXGoA5al8WIJmAe5OgAIxtD6bJUimU5uC4GxFiOaxXkOc59lwOh0kkFYREWFZ6iSdhiiMQBSg0VArFWAZ0CgepijEKJdlcBZn" + "nuaJ2n2PBZCgaAHnESZsHmRpFlKBBECQY5hA2DoOgaYYYCoC4zjObpAkCAJ+mVGgQBEFZ7CSVgbgYYYGk8c4ugODRFFgKRUnYAZ4C8E5ECqWwOl8d5/gcGgjmALQRjiU" + "BQmg9oVDWBAIFoAZ8DmBoAlcWoBlwWAjHEK5pnSehpDALR9A2U1+FWAB3B2X4rmCJwaBcLQNmiG4AG8do6FkLRWjEOw7GsEwRBQUogCIEBRH0LJEAQeR8h4c55jyXwDm" + "AK9TlMLIoBcS4pgAZwBGwaB3FIGIDBHopsmWS4Xh2HpUgoPhvkOcYcWANBWiCIh5GicJhnKUOvCcJp0CIGxNg6doEIUUopHSGoAA+OhhFeKgVBoGIYnCfo7HcTgdhuG4" + "zkWBB68GdJmkKQQPcSVx6Hue47l0foMAAZ5yjkXJTBoW5ekgSglFKZ4AAYO5BDwIAdkgZZykcWg3G8OoPlgNpDicT4fH6AwZk+M4zDEMwZGMVB9GGZgqGeO51kmfAbny" + "GQZjSVofmeepzB8Nojmqah+gQEAzCsKfvgoI5oniYOvCCZaghiWfeiWNY2mOOJ2CMKJyDUVpOhwR38EcDpWlq/4Ox6xLAxCMIkRAShQCoC4C4D42RaCpH+BAGY1wDiDF" + "oGgbwFQIjbHuH0Y48x+BUCeE8O47h0DRBeN8FwFAFC7ESMgJ4AAOARFyCsOQSgIhbEsK0FoywZC2DaOsFAig3DOGYMwPguAzjPE8G8QZFT1ghEA5IG4QhaHIB4M8Jrag" + "UitDqK5jIrhvj2HoLYU49hHjvA+NsWQZRligHWLoDwRAkAaGcBICIExIshBwAgQQ8ojjMCeAcB4Hh8DiGMI0X4rhiixEyNcLQBwRASAEIgKAKxjB7CMEAfIfhbjrB0E4" + "JQGxOgWEiF4CIzhFjgDi+gfQdh2jaBqLQPo+x7CNHSEwYwfwWCfHeA5WYXgsBYAQG4bougag/B6P0eYHwpg/A4D8F4pBXArGQJwRI9RviGHyDYQARQAAVAAPoTwAACCQ" + "GoCADgrxljzF0KwVwbgDBnGIJIDgGxnCxHgDoGInAxhmC+O4agjwUCQBMEIVAiA3ALCiMkRAKgAhcGsHEKgTg3BFikGoEQ3hqCkE0DsMILQbgCGADgVwGwsiOCKCYGQB" + "BAgREiKoRABIkATGYK4AAThJAGBCEACYEAEhRGKBAFoCAmBgEYAkSQCQthtEuPsWwAAkgUCIAARzUgnD3HoHAS46xMDFWgDUbQLAlDMgiKsFwIw2AzGwEoUQJXQjXCIG" + "IAwQhUh9DiJQBAxwQAwFID0IA2wjCkCQBEBYUw3g2AWMsKwNAvgqFWLQJIOwbAcBOEIMgLwxDRGkNACw7gAAwDUPkRokwYBrCKKQLo1xKhIDWGEMYOhnCGD+AETIaBOC" + "ABEEYVY0yI1SCKE4IgrghBgEEQEA="); var_Picture->PutWidth(L"64"); var_Picture->PutHeight(L"64"); |
42 |
How can I specify whether an object can be selected or not
|
41 |
How do I get the layer/object/picture from the cursor
|
40 |
How can I display a speedometer
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->GetLayers()->GetItem("arc")->GetClip()->PutValue(spGauge1->GetValue()); spGauge1->GetLayers()->GetItem("noDigit")->GetBackground()->GetExtraPicture("80")->PutName(spGauge1->FormatABC(L"`no` + int((value MIN 0 MAX 99)/10) + `.png`",spGauge1->GetValue(),vtMissing,vtMissing)); spGauge1->GetLayers()->GetItem("noDigit")->GetBackground()->GetExtraPicture("08")->PutName(spGauge1->FormatABC(L"`no` + int((value MIN 0 MAX 99) mod 10) + `.png`",spGauge1->GetValue(),vtMissing,vtMissing)); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"value + B",spGauge1->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutBackColor(RGB(40,40,40)); spGauge1->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Led\\Speed"); spGauge1->GetLayers()->PutCount(6); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutKey("arcBack"); var_Layer->GetBackground()->GetPicture()->PutName("noArcBack.png"); EXGAUGELib::IClipPiePtr var_ClipPie = var_Layer->GetClip()->GetPie(); var_ClipPie->PutStartAngle(L"240"); var_ClipPie->PutSweepAngle(L"240"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(1)); var_Layer1->PutKey("arc"); var_Layer1->GetBackground()->GetPicture()->PutName("noArc.png"); EXGAUGELib::IClipPiePtr var_ClipPie1 = var_Layer1->GetClip()->GetPie(); var_ClipPie1->PutStartAngle(L"240"); var_ClipPie1->PutSweepAngle(L"value/100 * 240"); EXGAUGELib::ILayerPtr var_Layer2 = spGauge1->GetLayers()->GetItem(long(2)); var_Layer2->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer2->PutKey("pointer"); var_Layer2->GetBackground()->GetPicture()->PutName("noLine.png"); var_Layer2->PutDefaultRotateAngle(240); var_Layer2->PutRotateAngleToValue(L"value/240 * 100"); var_Layer2->PutValueToRotateAngle(L"value / 100 * 240"); var_Layer2->PutRotateAngleValid(L"value > 240 ? (value > 300 ? 0 : 240) : value"); var_Layer2->PutOnDrag(EXGAUGELib::exDoRotate); EXGAUGELib::ILayerPtr var_Layer3 = spGauge1->GetLayers()->GetItem(long(3)); var_Layer3->PutKey("noBack"); var_Layer3->PutLeft(L"(width - 55 * 2)/2"); var_Layer3->PutTop(L"(height - 94 * 1)/2"); var_Layer3->PutWidth(L"2 * 45 + 8"); var_Layer3->PutHeight(L"1 * 94"); var_Layer3->PutTransparency(90); EXGAUGELib::ILPicturePtr var_Picture = var_Layer3->GetBackground()->GetExtraPicture("80"); var_Picture->PutName("noBack.png"); var_Picture->PutLeft(L"-4"); var_Picture->PutWidth(L"70"); EXGAUGELib::ILPicturePtr var_Picture1 = var_Layer3->GetBackground()->GetExtraPicture("08"); var_Picture1->PutName("noBack.png"); var_Picture1->PutLeft(L"36"); var_Picture1->PutWidth(L"70"); EXGAUGELib::ILayerPtr var_Layer4 = spGauge1->GetLayers()->GetItem(long(4)); var_Layer4->PutKey("noDigit"); var_Layer4->PutLeft(L"(width - 55 * 2)/2"); var_Layer4->PutTop(L"(height - 94 * 1)/2"); var_Layer4->PutWidth(L"2 * 45 + 8"); var_Layer4->PutHeight(L"1 * 94"); EXGAUGELib::ILPicturePtr var_Picture2 = var_Layer4->GetBackground()->GetExtraPicture("80"); var_Picture2->PutName("no1.png"); var_Picture2->PutLeft(L"-4"); var_Picture2->PutWidth(L"70"); EXGAUGELib::ILPicturePtr var_Picture3 = var_Layer4->GetBackground()->GetExtraPicture("08"); var_Picture3->PutName("no2.png"); var_Picture3->PutLeft(L"36"); var_Picture3->PutWidth(L"70"); EXGAUGELib::ILayerPtr var_Layer5 = spGauge1->GetLayers()->GetItem(long(5)); var_Layer5->PutKey("noCap"); var_Layer5->GetBackground()->GetPicture()->PutName("noCap.png"); var_Layer5->PutTransparency(45); spGauge1->GetLayers()->GetItem("pointer")->PutPosition(spGauge1->GetLayers()->GetItem("noCap")->GetPosition()); spGauge1->PutLayerOfValue(spGauge1->GetLayers()->GetItem("pointer")->GetIndex()); spGauge1->PutValue(long(56)); spGauge1->EndUpdate(); |
39 |
How can I display LED-numbers
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutValue(spGauge1->FormatABC(L"value MIN 0 MAX 99",->GetValue(),vtMissing,vtMissing)); spGauge1->GetLayers()->GetItem("noDigit")->GetBackground()->GetExtraPicture("80")->PutName(spGauge1->FormatABC(L"`no` + int((value MIN 0 MAX 99)/10) + `.png`",spGauge1->GetValue(),vtMissing,vtMissing)); spGauge1->GetLayers()->GetItem("noDigit")->GetBackground()->GetExtraPicture("08")->PutName(spGauge1->FormatABC(L"`no` + int((value MIN 0 MAX 99) mod 10) + `.png`",spGauge1->GetValue(),vtMissing,vtMissing)); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"value + B",spGauge1->GetLayers()->GetItem("noDigit")->GetValue(),Delta,vtMissing)); } // Timer event - Occurs when the interval elapses. void OnTimerGauge1(long TickCount) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"value = 99 ? 0 : ( value + B )",spGauge1->GetValue(),long(1),vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Led\\Speed"); spGauge1->GetLayers()->PutCount(3); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(1)); var_Layer->PutKey("noBack"); var_Layer->PutLeft(L"(width - 55 * 2)/2"); var_Layer->PutTop(L"(height - 94 * 1)/2"); var_Layer->PutWidth(L"2 * 45 + 8"); var_Layer->PutHeight(L"1 * 94"); var_Layer->PutTransparency(90); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetExtraPicture("80"); var_Picture->PutName("noBack.png"); var_Picture->PutLeft(L"-4"); var_Picture->PutWidth(L"70"); EXGAUGELib::ILPicturePtr var_Picture1 = var_Layer->GetBackground()->GetExtraPicture("08"); var_Picture1->PutName("noBack.png"); var_Picture1->PutLeft(L"36"); var_Picture1->PutWidth(L"70"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(2)); var_Layer1->PutKey("noDigit"); var_Layer1->PutLeft(L"(width - 55 * 2)/2"); var_Layer1->PutTop(L"(height - 94 * 1)/2"); var_Layer1->PutWidth(L"2 * 45 + 8"); var_Layer1->PutHeight(L"1 * 94"); EXGAUGELib::ILPicturePtr var_Picture2 = var_Layer1->GetBackground()->GetExtraPicture("80"); var_Picture2->PutName("no1.png"); var_Picture2->PutLeft(L"-4"); var_Picture2->PutWidth(L"70"); EXGAUGELib::ILPicturePtr var_Picture3 = var_Layer1->GetBackground()->GetExtraPicture("08"); var_Picture3->PutName("no2.png"); var_Picture3->PutLeft(L"36"); var_Picture3->PutWidth(L"70"); spGauge1->PutLayerOfValue(spGauge1->GetLayers()->GetItem("noDigit")->GetIndex()); spGauge1->PutValue(long(73)); spGauge1->PutTimerInterval(100); spGauge1->EndUpdate(); |
38 |
How can I display a simple knob, to fit the control's client area
/* 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->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 1"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->PutLayerAutoSize(-1); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerWidth,"width MAX height"); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerHeight,"width MAX height"); spGauge1->GetLayers()->PutCount(5); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(4)); var_Layer->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer->PutDefaultRotateAngle(-142); |
37 |
How can I display a switch
// Click event - Occurs when the user presses and then releases the left mouse button over the control. void OnClickGauge1() { /* 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->PutValue(spGauge1->FormatABC(L"(value + 1) mod 2",->GetValue(),vtMissing,vtMissing)); } // DragEnd event - Occurs once the user ends dragging a layer. void OnDragEndGauge1(LPDISPATCH DragInfo,BOOL Cancel) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"(value < 24 ? 0 : 1)",spGauge1->GetLayers()->GetItem("knob")->GetOffsetX(),vtMissing,vtMissing)); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"value > 0 ? 1 : 0",Delta,vtMissing,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Linear\\Switch"); spGauge1->GetLayers()->PutCount(4); spGauge1->GetLayers()->GetItem(long(0))->GetBackground()->GetPicture()->PutName("background.png"); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(1)); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutName("Indicator_ON.png"); var_Picture->PutDisplayAs(EXGAUGELib::MiddleLeft); var_Layer->PutOffsetXValid(L"48"); var_Layer->PutOffsetYValid(L"0"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(2)); EXGAUGELib::ILPicturePtr var_Picture1 = var_Layer1->GetBackground()->GetPicture(); var_Picture1->PutName("Indicator_OFF.png"); var_Picture1->PutDisplayAs(EXGAUGELib::MiddleRight); var_Layer1->PutOffsetXValid(L"-12"); var_Layer1->PutOffsetYValid(L"0"); EXGAUGELib::ILayerPtr var_Layer2 = spGauge1->GetLayers()->GetItem(long(3)); var_Layer2->PutOnDrag(EXGAUGELib::exDoMove); var_Layer2->PutKey("knob"); EXGAUGELib::ILPicturePtr var_Picture2 = var_Layer2->GetBackground()->GetPicture(); var_Picture2->PutName("knob.png"); var_Picture2->PutDisplayAs(EXGAUGELib::MiddleCenter); var_Layer2->PutDefaultOffsetY("9"); var_Layer2->PutDefaultOffsetX("-5"); var_Layer2->PutOffsetYValid(L"0"); var_Layer2->PutValueToOffsetX(L"value = 0 ? 0 : 48"); var_Layer2->PutOffsetToValue(L"value = 0 ? 0 : 1"); var_Layer2->PutOffsetXValid(L"(value MIN 0 MAX 48)"); spGauge1->PutLayerOfValue(spGauge1->GetLayers()->GetItem("knob")->GetIndex()); spGauge1->PutValue(long(1)); |
36 |
How can I colorize the layer
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Value: <b>` + (value format ``)",spGauge1->GetLayers()->GetItem(long(4))->GetValue(),vtMissing,vtMissing)); } // Click event - Occurs when the user presses and then releases the left mouse button over the control. void OnClickGauge1() { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); ObjectPtr var_Object = spGauge1->GetLayers()->GetItem(spGauge1->GetLayerFromPoint(-1,-1)); } // MouseIn event - Notifies that the cursor enters the layer. void OnMouseInGauge1(long Layer) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(Layer); var_Layer->PutBrightness(EXGAUGELib::exRedChannel,100); var_Layer->PutBrightness(EXGAUGELib::exGreenChannel,0); var_Layer->PutBrightness(EXGAUGELib::exBlueChannel,0); } // MouseOut event - Notifies that the cursor exits the layer. void OnMouseOutGauge1(long Layer) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(Layer); var_Layer->PutBrightness(EXGAUGELib::exRedChannel,spGauge1->GetDefaultLayer(EXGAUGELib::exDefLayerBrightness)); var_Layer->PutBrightness(EXGAUGELib::exGreenChannel,spGauge1->GetDefaultLayer(EXGAUGELib::exDefLayerBrightness)); var_Layer->PutBrightness(EXGAUGELib::exBlueChannel,spGauge1->GetDefaultLayer(EXGAUGELib::exDefLayerBrightness)); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"A - B",->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerBrightness,long(51)); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 2"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(6); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutRotateCenterX(L"lwidth/2-3"); var_Layer->PutRotateCenterY(L"lheight/2+23"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(4)); var_Layer1->PutDefaultRotateAngle(-132); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer1->PutRotateAngleValid(L"value < 0 ? 0 : (value > 236 ? (value > 300 ? 0 : 236 ) : value)"); var_Layer1->PutValueToRotateAngle(L"value < 20 ? (value /20 * 86) : (value - 20) / (90-20) * (236-86) + 86"); var_Layer1->PutRotateAngleToValue(L"value < 86 ? value / 86 * 20: ( 20 + ( value -86 ) / (236-86) * 70 )"); spGauge1->PutValue(long(45)); spGauge1->EndUpdate(); |
35 |
How can I imitate the rotating angle on an unequal scale
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Value: <b>` + (value format ``)",spGauge1->GetLayers()->GetItem(long(4))->GetValue(),vtMissing,vtMissing)); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"A - B",->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 2"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(6); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutRotateCenterX(L"lwidth/2-3"); var_Layer->PutRotateCenterY(L"lheight/2+23"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(4)); var_Layer1->PutDefaultRotateAngle(-132); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer1->PutRotateAngleValid(L"value < 0 ? 0 : (value > 236 ? (value > 300 ? 0 : 236 ) : value)"); var_Layer1->PutValueToRotateAngle(L"value < 20 ? (value /20 * 86) : (value - 20) / (90-20) * (236-86) + 86"); var_Layer1->PutRotateAngleToValue(L"value < 86 ? value / 86 * 20: ( 20 + ( value -86 ) / (236-86) * 70 )"); spGauge1->PutValue(long(45)); spGauge1->EndUpdate(); |
34 |
How can I rotate more knobs at once
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Value: <b>` + (value format ``)",spGauge1->GetLayers()->GetItem(long(4))->GetValue(),vtMissing,vtMissing)); spGauge1->GetLayers()->GetItem(long(2))->PutRotateAngle(spGauge1->GetLayers()->GetItem(long(4))->GetRotateAngle()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->GetItem(long(4))->PutRotateAngle(spGauge1->FormatABC(L"A - B",spGauge1->GetLayers()->GetItem(long(4))->GetRotateAngle(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 1"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(5); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(4)); var_Layer->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer->PutDefaultRotateAngle(-142); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(2)); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer1->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); |
33 |
How can I clip one layer while other is rotating
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Value: <b>` + (value format ``)",spGauge1->GetLayers()->GetItem(long(9))->GetValue(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotateAngle: <b>` + ( A format `` ) + `°`",spGauge1->GetLayers()->GetItem(long(9))->GetRotateAngle(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaptionTop,long(18)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveCenter: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaptionTop,long(36)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveOffset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaptionTop,long(54)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Offset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetOffsetY(),vtMissing)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaptionTop,long(72)); spGauge1->PutExtraCaption("Client",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"`<sha ;;0><font ;12><b>` + ((100 - value) format ``)",spGauge1->GetValue(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("Client",EXGAUGELib::exLayerCaptionLeft,spGauge1->FormatABC(L"value - 12",->GetItem(long(9))->GetLayerToClientX(spGauge1->GetLayers()->GetRotamoveCenterX(),->GetRotamoveCenterY()),vtMissing,vtMissing)); spGauge1->PutExtraCaption("Client",EXGAUGELib::exLayerCaptionTop,spGauge1->FormatABC(L"value - 36",->GetItem(long(9))->GetLayerToClientY(spGauge1->GetLayers()->GetRotamoveCenterX(),->GetRotamoveCenterY()),vtMissing,vtMissing)); spGauge1->GetLayers()->GetItem(long(3))->GetClip()->PutValue(spGauge1->GetLayers()->GetItem(long(9))->GetRotateAngle()); spGauge1->GetLayers()->GetItem(long(4))->GetClip()->PutValue(spGauge1->GetLayers()->GetItem(long(3))->GetClip()->GetValue()); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.RotateAngleValid = "value < 0 ? 0 : ( value >= 360 ? 359.999 : value )" } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"100 - value - B",spGauge1->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(11); spGauge1->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(9)); var_Layer->PutDefaultRotateAngle(-126); var_Layer->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer->PutRotateAngleToValue(L"100 - value / 360 * 100"); var_Layer->PutValueToRotateAngle(L"(value)/100 * 360"); spGauge1->GetLayers()->GetItem(long(3))->GetClip()->GetPie()->PutSweepAngle(L"value"); spGauge1->GetLayers()->GetItem(long(4))->GetClip()->GetPie()->PutSweepAngle(spGauge1->GetLayers()->GetItem(long(3))->GetClip()->GetPie()->GetSweepAngle()); spGauge1->GetLayers()->GetItem(long(9))->PutValue(long(25)); spGauge1->EndUpdate(); |
32 |
Can I move one or more layers at once
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->GetLayers()->GetItem(long(3))->PutBrightness(EXGAUGELib::exRedChannel,spGauge1->FormatABC(L"100 - value ",spGauge1->GetValue(),vtMissing,vtMissing)); spGauge1->GetLayers()->GetItem(long(4))->PutBrightness(EXGAUGELib::exRedChannel,spGauge1->GetLayers()->GetItem(long(3))->GetBrightness(EXGAUGELib::exRedChannel)); spGauge1->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Value: <b>` + (100 - value format ``)",spGauge1->GetLayers()->GetItem(long(9))->GetValue(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotateAngle: <b>` + ( A format `` ) + `°`",spGauge1->GetLayers()->GetItem(long(9))->GetRotateAngle(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaptionTop,long(18)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveCenter: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaptionTop,long(36)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveOffset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaptionTop,long(54)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Offset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetOffsetY(),vtMissing)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaptionTop,long(72)); spGauge1->GetLayers()->GetItem(long(10))->PutRotateAngle(spGauge1->GetLayers()->GetItem(long(9))->GetRotateAngle()); } // DblClick event - Occurs when the user dblclk the left mouse button over an object. void OnDblClickGauge1(short Shift,long X,long Y) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(long(0)); } // Drag event - Notifies that the user drags the layer. void OnDragGauge1(LPDISPATCH DragInfo) { // ExtraCaption("Clockwise",0) = FormatABC( "` Clockwise: <b>` + ( value != 0 ? `Yes` : `No`) ", DragInfo.Clockwise ) // ExtraCaption("Cumulative",0) = FormatABC( "` CumulativeRotateAngle: <b>` + ( value format `` ) + `°` ", DragInfo.CumulativeRotateAngle ) EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); OutputDebugStringW( L"DragInfo" ); spGauge1->PutExtraCaption("Clockwise",EXGAUGELib::exLayerCaptionTop,long(90)); spGauge1->PutExtraCaption("Cumulative",EXGAUGELib::exLayerCaptionTop,long(108)); } // DragEnd event - Occurs once the user ends dragging a layer. void OnDragEndGauge1(LPDISPATCH DragInfo,BOOL Cancel) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutExtraCaption("Clockwise",EXGAUGELib::exLayerCaption,""); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 227 // DragInfo.RotateAngleValid = "value < 0 ? 0 : (value > 360 ? 359.999999 : value)" EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutExtraCaption("Clockwise",EXGAUGELib::exLayerCaption,""); spGauge1->PutExtraCaption("Cumulative",EXGAUGELib::exLayerCaption,""); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"100 - A - B",spGauge1->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->PutDefaultLayer(EXGAUGELib::exDefLayerRotateType,long(2)); spGauge1->GetLayers()->PutCount(11); spGauge1->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(9)); var_Layer->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer->PutDefaultRotateAngle(-126); var_Layer->PutRotateAngleToValue(L"100 - (value ) / 360 * 100"); var_Layer->PutValueToRotateAngle(L"(value)/100 * 360"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(10)); var_Layer1->PutGrayscale(100); var_Layer1->PutTransparency(25); var_Layer1->PutDefaultRotateAngle(-69.5); var_Layer1->PutRotateAngleToValue(L"100 - (value ) / 360 * 100"); var_Layer1->PutValueToRotateAngle(L"(value 1)/100 * 360"); var_Layer1->GetBackground()->GetPicture()->PutValue("Highlighted_Layer4.png"); EXGAUGELib::ILayerPtr var_Layer2 = spGauge1->GetLayers()->GetItem(long(3)); var_Layer2->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer2->PutBrightness(EXGAUGELib::exRedChannel,0); EXGAUGELib::ILayerPtr var_Layer3 = spGauge1->GetLayers()->GetItem(long(4)); var_Layer3->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer3->PutBrightness(EXGAUGELib::exRedChannel,0); spGauge1->PutLayerOfValue(9); spGauge1->PutValue(long(5)); spGauge1->EndUpdate(); |
31 |
How can I rotate a knob by moving ( rotamove )
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->GetLayers()->GetItem(long(3))->PutTransparency(spGauge1->GetValue()); spGauge1->GetLayers()->GetItem(long(4))->PutTransparency(spGauge1->GetValue()); spGauge1->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Value: <b>` + (100 - value format ``)",spGauge1->GetLayers()->GetItem(long(9))->GetValue(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotateAngle: <b>` + ( A format `` ) + `°`",spGauge1->GetLayers()->GetItem(long(9))->GetRotateAngle(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaptionTop,long(18)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveCenter: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaptionTop,long(36)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveOffset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaptionTop,long(54)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Offset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetOffsetY(),vtMissing)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaptionTop,long(72)); } // DblClick event - Occurs when the user dblclk the left mouse button over an object. void OnDblClickGauge1(short Shift,long X,long Y) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(long(0)); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.RotateAngleValid = "value < 0 ? 0 : (value > 360 ? 359.999999 : value)" } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"100 - A - B",spGauge1->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(11); spGauge1->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(9)); var_Layer->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer->PutDefaultRotateAngle(-126); var_Layer->PutRotateAngleToValue(L"100 - value / 360 * 100"); var_Layer->PutValueToRotateAngle(L"(value)/100 * 360"); var_Layer->GetBackground()->GetExtraPicture("Aka")->PutValue("Highlighted_Layer4.png"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(3)); var_Layer1->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer1->PutBrightness(EXGAUGELib::exRedChannel,100); EXGAUGELib::ILayerPtr var_Layer2 = spGauge1->GetLayers()->GetItem(long(4)); var_Layer2->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer2->PutBrightness(EXGAUGELib::exAllChannels,0); var_Layer2->PutBrightness(EXGAUGELib::exRedChannel,100); spGauge1->PutValue(long(15)); spGauge1->EndUpdate(); |
30 |
How can I display a knob, and displays the current value on it
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Value: <b>` + (100 - value format ``)",spGauge1->GetLayers()->GetItem(long(9))->GetValue(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotateAngle: <b>` + ( A format `` ) + `°`",spGauge1->GetLayers()->GetItem(long(9))->GetRotateAngle(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("RotateAngle",EXGAUGELib::exLayerCaptionTop,long(18)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveCenter: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveCenter",EXGAUGELib::exLayerCaptionTop,long(36)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` RotamoveOffset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveOffsetY(),vtMissing)); spGauge1->PutExtraCaption("RotamoveOffset",EXGAUGELib::exLayerCaptionTop,long(54)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"` Offset: <b> (` + A + `,` + B + `)`",spGauge1->GetLayers()->GetItem(long(9))->GetOffsetX(),spGauge1->GetLayers()->GetItem(long(9))->GetOffsetY(),vtMissing)); spGauge1->PutExtraCaption("Offset",EXGAUGELib::exLayerCaptionTop,long(72)); spGauge1->PutExtraCaption("Client",EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"`<sha ;;0><font ;12><b>` + (100 - value format `0`)",spGauge1->GetValue(),vtMissing,vtMissing)); spGauge1->PutExtraCaption("Client",EXGAUGELib::exLayerCaptionLeft,spGauge1->FormatABC(L"value - 8",spGauge1->GetLayers()->GetItem(long(9))->GetLayerToClientX(spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterY()),vtMissing,vtMissing)); spGauge1->PutExtraCaption("Client",EXGAUGELib::exLayerCaptionTop,spGauge1->FormatABC(L"value - 26",spGauge1->GetLayers()->GetItem(long(9))->GetLayerToClientY(spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterX(),spGauge1->GetLayers()->GetItem(long(9))->GetRotamoveCenterY()),vtMissing,vtMissing)); spGauge1->GetLayers()->GetItem(long(7))->PutRotateAngle(spGauge1->GetLayers()->GetItem(long(0))->GetRotateAngle()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"100 - A - B",spGauge1->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob"); spGauge1->PutPicturesName(L"`Layer` + str(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(11); spGauge1->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(9)); var_Layer->PutDefaultRotateAngle(-126); var_Layer->PutOnDrag(EXGAUGELib::exDoRotamove); var_Layer->PutRotateAngleToValue(L"100 - (value / 360 * 100)"); var_Layer->PutValueToRotateAngle(L"(value)/100 * 360"); var_Layer->PutValueToOffsetX(L"value"); var_Layer->PutOffsetToValue(L"value"); var_Layer->PutRotateAngleValid(L"int(value / 360 * 100)/100 * 360"); spGauge1->GetLayers()->GetItem(long(3))->PutVisible(VARIANT_FALSE); spGauge1->GetLayers()->GetItem(long(4))->PutVisible(VARIANT_FALSE); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(0)); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer1->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); EXGAUGELib::ILayerPtr var_Layer2 = spGauge1->GetLayers()->GetItem(long(7)); var_Layer2->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer2->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); spGauge1->PutValue(long(25)); spGauge1->EndUpdate(); |
29 |
How can I display an indicator
// MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { /* 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->GetLayers()->GetItem(long(1))->GetClip()->PutValue(spGauge1->FormatABC(L"(value + B) MIN 0 MAX 100",->GetLayers()->GetItem(long(1))->GetClip()->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Linear\\Indicator"); spGauge1->GetLayers()->PutCount(3); spGauge1->GetLayers()->GetItem(long(0))->GetBackground()->GetPicture()->PutName("Background.png"); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(1)); var_Layer->GetBackground()->GetPicture()->PutName("Green_Lights.png"); EXGAUGELib::IClipPtr var_Clip = var_Layer->GetClip(); EXGAUGELib::IClipRectanglePtr var_ClipRectangle = var_Clip->GetRectangle(); var_ClipRectangle->PutHeight(L"(100 - value)/100 * height"); var_ClipRectangle->PutInverseClip(VARIANT_TRUE); var_Clip->PutValue(long(50)); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(2)); var_Layer1->PutVisible(VARIANT_FALSE); var_Layer1->GetBackground()->GetPicture()->PutName("overlay_top_layer.png"); |
28 |
How can I display a gauge
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->GetLayers()->GetItem(long(1))->PutBrightness(EXGAUGELib::exGreenChannel,spGauge1->GetValue()); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->PutValue(spGauge1->FormatABC(L"A - B",spGauge1->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutBackColor(RGB(217,217,217)); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Guage"); spGauge1->GetLayers()->PutCount(2); spGauge1->PutAllowSmoothChange(EXGAUGELib::exSmoothChangeless); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutRotateCenterY(L"lheight/2 + 78"); var_Layer->GetBackground()->GetPicture()->PutName("Guage_Background.png"); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(1)); var_Layer1->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer1->GetBackground()->GetPicture()->PutName("Guage_Needle.png"); var_Layer1->PutRotateAngleValid(L"value < 90 ? value : (value < 180 ? 90 : ( value < 270 ? 270 : value ))"); var_Layer1->PutRotateAngleToValue(L"value >= 270 ? (value - 270)/90*50 : (value/90)*50 + 50"); var_Layer1->PutValueToRotateAngle(L"value < 50 ? (270 + value/50*90) : (value - 50)/50 * 90"); var_Layer1->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer1->PutBrightness(EXGAUGELib::exAllChannels,0); spGauge1->PutValue(long(78)); spGauge1->EndUpdate(); |
27 |
How can I display a clock (rotate,wolf)
|
26 |
How can I display a clock (rotate,vintage)
|
25 |
How can I display a clock (rotate,london)
|
24 |
How can I display a clock (rotate)
|
23 |
How can I clip as a triangle
|
22 |
How can I limit the rotation from 0 to 360 degree, while dragging
// DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 483 // DragInfo.RotateAngleValid = "value < 0 ? 0 : (value > 360 ? 359.999999 : value)" } /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer->PutLeft(L"(width-512)/2"); var_Layer->PutTop(L"(height-512)/2"); var_Layer->PutHeight(L"512"); var_Layer->PutWidth(L"512"); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutValue("c:\\exontrol\\images\\card.png"); var_Picture->PutLeft(L"(width-pwidth)/2"); var_Picture->PutTop(L"(height-pheight)/2"); var_Picture->PutWidth(L"pwidth"); var_Picture->PutHeight(L"pheight"); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutRotateAngle(-45); |
21 |
How can I clip as a pie
// Drag event - Notifies that the user drags the layer. void OnDragGauge1(LPDISPATCH DragInfo) { // Me.Layers(0).Clip.Value = Me.FormatABC("value + B/360 * 100", Me.Layers(0).UserData, DragInfo.DeltaAngle ) } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = -1 /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutUserData(var_Layer->GetClip()->GetValue()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->GetItem(long(0))->GetClip()->PutValue(spGauge1->FormatABC(L"(value + B) MIN 0 MAX 100",spGauge1->GetLayers()->GetItem(long(0))->GetClip()->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->PutCount(1); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutLeft(L"(width-128)/2"); var_Layer->PutTop(L"(height-128)/2"); var_Layer->PutHeight(L"128"); var_Layer->PutWidth(L"128"); var_Layer->GetBackground()->GetColor()->PutValue(RGB(0,255,0)); EXGAUGELib::IClipPtr var_Clip = var_Layer->GetClip(); EXGAUGELib::IClipPiePtr var_ClipPie = var_Clip->GetPie(); var_ClipPie->PutInverseClip(VARIANT_TRUE); var_ClipPie->PutStartAngle(L"0"); var_ClipPie->PutSweepAngle(L"value/100*360"); var_Clip->PutValue(long(15)); |
20 |
How can I use a picture to clip the layer
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->GetLayers()->GetItem("Clip")->GetClip()->PutValue(spGauge1->GetLayers()->GetItem("Thumb")->GetRotateAngle()); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->BeginUpdate(); spGauge1->PutPicturesPath(L"C:\\Program Files\\Exontrol\\ExGauge\\Sample\\Design\\Circular\\Knob 1"); spGauge1->PutPicturesName(L"`Layer` + int(value + 1) + `.png`"); spGauge1->GetLayers()->PutCount(5); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(4)); var_Layer->PutKey("Thumb"); var_Layer->PutDefaultRotateAngle(-141); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); EXGAUGELib::ILayerPtr var_Layer1 = spGauge1->GetLayers()->GetItem(long(1)); var_Layer1->PutKey("Clip"); EXGAUGELib::IClipPtr var_Clip = var_Layer1->GetClip(); var_Clip->GetPie()->PutSweepAngle(L"value"); EXGAUGELib::IClipPicturePtr var_ClipPicture = var_Clip->GetPicture(); var_ClipPicture->PutName(spGauge1->GetLayers()->GetItem("Clip")->GetBackground()->GetPicture()->GetName()); var_ClipPicture->PutAlphaTo(L"128"); spGauge1->GetLayers()->GetItem("Thumb")->PutRotateAngle(90); spGauge1->EndUpdate(); |
19 |
How do I clip a circle/ellipse
// Drag event - Notifies that the user drags the layer. void OnDragGauge1(LPDISPATCH DragInfo) { // Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX ) } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug= 287 /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutUserData(var_Layer->GetClip()->GetValue()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->GetItem(long(0))->GetClip()->PutValue(spGauge1->FormatABC(L"(value + B) MIN 0 MAX 100",spGauge1->GetLayers()->GetItem(long(0))->GetClip()->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->PutCount(1); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutLeft(L"(width-128)/2"); var_Layer->PutTop(L"(height-128)/2"); var_Layer->PutHeight(L"128"); var_Layer->PutWidth(L"128"); var_Layer->GetBackground()->GetColor()->PutValue(RGB(0,255,0)); EXGAUGELib::IClipPtr var_Clip = var_Layer->GetClip(); var_Clip->GetEllipse()->PutRadiusX(L"value/100 * width"); var_Clip->PutValue(long(25)); |
18 |
What InverseClip does
// Drag event - Notifies that the user drags the layer. void OnDragGauge1(LPDISPATCH DragInfo) { // Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX ) } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug= 287 /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutUserData(var_Layer->GetClip()->GetValue()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->GetItem(long(0))->GetClip()->PutValue(spGauge1->FormatABC(L"(value + B) MIN 0 MAX 100",spGauge1->GetLayers()->GetItem(long(0))->GetClip()->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->PutCount(1); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutLeft(L"(width-128)/2"); var_Layer->PutTop(L"(height-128)/2"); var_Layer->PutHeight(L"128"); var_Layer->PutWidth(L"128"); var_Layer->GetBackground()->GetColor()->PutValue(RGB(0,255,0)); EXGAUGELib::IClipPtr var_Clip = var_Layer->GetClip(); EXGAUGELib::IClipRoundRectanglePtr var_ClipRoundRectangle = var_Clip->GetRoundRectangle(); var_ClipRoundRectangle->PutWidth(L"value/100 * width"); var_ClipRoundRectangle->PutRoundRadiusX(L"width/8"); var_ClipRoundRectangle->PutRoundRadiusY(L"height/8"); var_ClipRoundRectangle->PutInverseClip(VARIANT_TRUE); var_Clip->PutValue(long(50)); |
17 |
How do I clip as rectangle (round), from left to right
// Drag event - Notifies that the user drags the layer. void OnDragGauge1(LPDISPATCH DragInfo) { // Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX ) } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug= 287 /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutUserData(var_Layer->GetClip()->GetValue()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->GetItem(long(0))->GetClip()->PutValue(spGauge1->FormatABC(L"(value + B) MIN 0 MAX 100",spGauge1->GetLayers()->GetItem(long(0))->GetClip()->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->PutCount(1); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutLeft(L"(width-128)/2"); var_Layer->PutTop(L"(height-128)/2"); var_Layer->PutHeight(L"128"); var_Layer->PutWidth(L"128"); var_Layer->GetBackground()->GetColor()->PutValue(RGB(0,255,0)); EXGAUGELib::IClipPtr var_Clip = var_Layer->GetClip(); EXGAUGELib::IClipRoundRectanglePtr var_ClipRoundRectangle = var_Clip->GetRoundRectangle(); var_ClipRoundRectangle->PutWidth(L"value/100 * width"); var_ClipRoundRectangle->PutRoundRadiusX(L"width/8"); var_ClipRoundRectangle->PutRoundRadiusY(L"height/8"); var_Clip->PutValue(long(50)); |
16 |
How do I clip as rectangle, from bottom to top
|
15 |
How do I clip as rectangle, from top to bottom
// Drag event - Notifies that the user drags the layer. void OnDragGauge1(LPDISPATCH DragInfo) { // Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaY ) } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug= 287 /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutUserData(var_Layer->GetClip()->GetValue()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->GetItem(long(0))->GetClip()->PutValue(spGauge1->FormatABC(L"(value + B) MIN 0 MAX 100",spGauge1->GetLayers()->GetItem(long(0))->GetClip()->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->PutCount(1); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->GetBackground()->GetPicture()->PutValue("c:\\exontrol\\images\\card.png"); EXGAUGELib::IClipPtr var_Clip = var_Layer->GetClip(); var_Clip->GetRectangle()->PutHeight(L"value/100 * height"); var_Clip->PutValue(long(50)); |
14 |
How do I clip as rectangle, from right to left
|
13 |
How do I clip as rectangle, from left to right
// Drag event - Notifies that the user drags the layer. void OnDragGauge1(LPDISPATCH DragInfo) { // Me.Layers(0).Clip.Value = Me.FormatABC("(value + B) MIN 0 MAX 100", Me.Layers(0).UserData, DragInfo.DeltaX ) } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug= 287 /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->PutUserData(var_Layer->GetClip()->GetValue()); } // MouseWheel event - Occurs when the mouse wheel moves while the control has focus void OnMouseWheelGauge1(long Delta) { EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->GetItem(long(0))->GetClip()->PutValue(spGauge1->FormatABC(L"(value + B) MIN 0 MAX 100",spGauge1->GetLayers()->GetItem(long(0))->GetClip()->GetValue(),Delta,vtMissing)); } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); spGauge1->GetLayers()->PutCount(1); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->GetItem(long(0)); var_Layer->GetBackground()->GetPicture()->PutValue("c:\\exontrol\\images\\card.png"); EXGAUGELib::IClipPtr var_Clip = var_Layer->GetClip(); var_Clip->GetRectangle()->PutWidth(L"value/100 * width"); var_Clip->PutValue(long(50)); |
12 |
How can I associate a value to rotation angle
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"`Value: <b>` + (value format ``) ",spGauge1->GetLayers()->GetItem(long(0))->GetValue(),vtMissing,vtMissing)); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 483 } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer->PutLeft(L"(width-512)/2"); var_Layer->PutTop(L"(height-512)/2"); var_Layer->PutHeight(L"512"); var_Layer->PutWidth(L"512"); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutValue("c:\\exontrol\\images\\card.png"); var_Picture->PutLeft(L"(width-pwidth)/2"); var_Picture->PutTop(L"(height-pheight)/2"); var_Picture->PutWidth(L"pwidth"); var_Picture->PutHeight(L"pheight"); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutDefaultRotateAngle(45); var_Layer->PutRotateCenterY(L"lheight/2 + 32"); var_Layer->PutRotateCenterX(L"lwidth/2 + 32"); var_Layer->PutRotateAngleToValue(L"value/360 * 100"); var_Layer->PutValueToRotateAngle(L"value / 100 * 360"); var_Layer->PutValue(long(50)); |
11 |
How can I associate a value to vertical offset
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"`Value: <b>` + (value format ``)",spGauge1->GetLayers()->GetItem(long(0))->GetValue(),vtMissing,vtMissing)); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 287 } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->GetBackground()->GetPicture()->PutValue("c:\\exontrol\\images\\card.png"); var_Layer->PutOnDrag(EXGAUGELib::exDoMove); var_Layer->PutDefaultOffsetY(-100); var_Layer->PutOffsetYValid(L"value MIN 0 MAX 200"); var_Layer->PutOffsetXValid(L"0"); var_Layer->PutOffsetToValue(L"offsety /200 * 100"); var_Layer->PutValueToOffsetY(L"value / 100 * 200"); var_Layer->PutValue(long(50)); |
10 |
How can I associate a value to horizontal offset
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"`Value: <b>` + (value format ``)",spGauge1->GetLayers()->GetItem(long(0))->GetValue(),vtMissing,vtMissing)); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 287 } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->GetBackground()->GetPicture()->PutValue("c:\\exontrol\\images\\card.png"); var_Layer->PutOnDrag(EXGAUGELib::exDoMove); var_Layer->PutDefaultOffsetX(-100); var_Layer->PutOffsetXValid(L"value MIN 0 MAX 200"); var_Layer->PutOffsetYValid(L"0"); var_Layer->PutOffsetToValue(L"offsetx /200 * 100"); var_Layer->PutValueToOffsetX(L"value / 100 * 200"); var_Layer->PutValue(long(50)); |
9 |
How can I display the current angle
// Change event - Occurs when the layer's value is changed. void OnChangeGauge1(long Layer) { /* 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->PutCaption(EXGAUGELib::exLayerCaption,spGauge1->FormatABC(L"`Angle: <b>` + (value format ``) + `°`",spGauge1->GetLayers()->GetItem(long(0))->GetRotateAngle(),vtMissing,vtMissing)); } // DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 483 } EXGAUGELib::IGaugePtr spGauge1 = GetDlgItem(IDC_GAUGE1)->GetControlUnknown(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer->PutLeft(L"(width-512)/2"); var_Layer->PutTop(L"(height-512)/2"); var_Layer->PutHeight(L"512"); var_Layer->PutWidth(L"512"); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutValue("c:\\exontrol\\images\\card.png"); var_Picture->PutLeft(L"(width-pwidth)/2"); var_Picture->PutTop(L"(height-pheight)/2"); var_Picture->PutWidth(L"pwidth"); var_Picture->PutHeight(L"pheight"); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutRotateAngleValid(L"(value > 180 ? value - 360 : value) MIN 15 MAX 65"); |
8 |
How can I limit the rotation angle
|
7 |
Can I specify a different center while rotating
// DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 483 } /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->PutRotateType(EXGAUGELib::exRotateBilinearInterpolation); var_Layer->PutLeft(L"(width-512)/2"); var_Layer->PutTop(L"(height-512)/2"); var_Layer->PutHeight(L"512"); var_Layer->PutWidth(L"512"); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutValue("c:\\exontrol\\images\\card.png"); var_Picture->PutLeft(L"(width-pwidth)/2"); var_Picture->PutTop(L"(height-pheight)/2"); var_Picture->PutWidth(L"pwidth"); var_Picture->PutHeight(L"pheight"); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutRotateAngle(-45); var_Layer->PutRotateCenterY(L"lheight/2 + 32"); var_Layer->PutRotateCenterX(L"lwidth/2 + 32"); |
6 |
How can I rotate a layer, without cutting off the picture
// DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 483 } /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->PutLeft(L"(width-512)/2"); var_Layer->PutTop(L"(height-512)/2"); var_Layer->PutHeight(L"512"); var_Layer->PutWidth(L"512"); EXGAUGELib::ILPicturePtr var_Picture = var_Layer->GetBackground()->GetPicture(); var_Picture->PutValue("c:\\exontrol\\images\\card.png"); var_Picture->PutLeft(L"(width-pwidth)/2"); var_Picture->PutTop(L"(height-pheight)/2"); var_Picture->PutWidth(L"pwidth"); var_Picture->PutHeight(L"pheight"); var_Layer->PutOnDrag(EXGAUGELib::exDoRotate); var_Layer->PutRotateAngle(-45); |
5 |
How can I rotate a layer
|
4 |
Is there any way to debug the layer while moving
// DragStart event - Occurs once the user starts dragging a layer. void OnDragStartGauge1(LPDISPATCH DragInfo,BOOL FAR* Cancel) { // DragInfo.Debug = 287 } /* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->GetBackground()->GetPicture()->PutValue("c:\\exontrol\\images\\card.png"); var_Layer->PutOnDrag(EXGAUGELib::exDoMove); |
3 |
How do I specify where to move the layer, while dragging
/* 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(); EXGAUGELib::ILayerPtr var_Layer = spGauge1->GetLayers()->Add("back"); var_Layer->GetBackground()->GetPicture()->PutValue("c:\\exontrol\\images\\card.png"); var_Layer->PutOnDrag(EXGAUGELib::exDoMove); var_Layer->PutOffsetXValid(L"int(value / 64) * 64"); var_Layer->PutOffsetYValid(L"int(value / 64) * 64"); |
2 |
How can I add layers to the control
|
1 |
How can I add layers to the control
|