Platforms to show: All Mac Windows Linux Cross-Platform
/ChartDirector/High Resolution Chart Examples/squareameter
Required plugins for this example: MBS ChartDirector Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /ChartDirector/High Resolution Chart Examples/squareameter
This example is the version from Sun, 17th Mar 2012.
Project "squareameter.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open()
createChart(0, "squareameter")
End EventHandler
Protected Sub CreateChart(img as integer, filename as string)
const f=4 // scale factor, 1 for screen and 4 or more for printing
dim w as new PicWindow
w.Title=filename
// The value to display on the meter
const value = 4.75
// Create an AugularMeter object of size 110 x 110 pixels, using silver
// background color with a black 2 pixel 3D depressed border.
dim m as new CDAngularMeterMBS(f*110, f*110, CDBaseChartMBS.silverColor, &h000000, -2)
// Set meter appearance according to a parameter
// Set the meter center at bottom left corner (15, 95), with radius 85
// pixels. Meter spans from 90 - 0 degrees.
m.setMeter(f*15, f*95, f*85, 90, 0)
// Add a label to the meter centered at (35, 75)
call m.addText(f*35, f*75, "VDC", "arialbd.ttf", f*12, CDBaseChartMBS.kTextColor, CDBaseChartMBS.kCenter)
// Add a text box to show the value at top right corner (103, 7)
m.addText(f*103, f*7, m.formatValue(value, "2"), "arial.ttf", f*8, &hffffff,CDBaseChartMBS.kTopRight).setBackground(0, 0, -1)
// Meter scale is 0 - 10, with a major tick every 2 units, and minor tick every 1
// unit
m.setScale(0, 10, 2, 1)
//m.setLineWidth -f*2
m.setCap(f*3, CDBaseChartMBS.silverColor)
m.setTickLength f*5
m.setLineWidth f, f, f, f
call m.setLabelStyle "",8*f
// Set 0 - 6 as green (99ff99) zone, 6 - 8 as yellow (ffff00) zone, and 8 - 10 as
// red (ff3333) zone
m.addZone(0, 6, &h99ff99, &h808080)
m.addZone(6, 8, &hffff00, &h808080)
m.addZone(8, 10, &hff3333, &h808080)
// Add a semi-transparent black (80000000) pointer at the specified value
call m.addPointer(value, &h80000000)
w.Backdrop=m.makeChartPicture
w.top=50
w.left=50
w.Height=m.getHeight
w.Width=m.getWidth
w.show
End Sub
End Class
Class PicWindow Inherits Window
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project
See also:
- /ChartDirector/High Resolution Chart Examples/multivmeter
- /ChartDirector/High Resolution Chart Examples/polarzones
- /ChartDirector/High Resolution Chart Examples/pyramidrotation
- /ChartDirector/High Resolution Chart Examples/smallsectorpie
- /ChartDirector/High Resolution Chart Examples/softlightbar
- /ChartDirector/High Resolution Chart Examples/surface
- /ChartDirector/High Resolution Chart Examples/surface3
- /ChartDirector/High Resolution Chart Examples/surfaceshading
- /ChartDirector/High Resolution Chart Examples/surfacewireframe
- /ChartDirector/High Resolution Chart Examples/threeddonutshading
The items on this page are in the following plugins: MBS ChartDirector Plugin.