Xojo Conferences

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.

Screenshot for this example project.

Project "squareameter.rbp"
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:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS ChartDirector Plugin.

MBS Xojo Chart Plugins