PUBLIC loForm LOCAL lcStr #DEFINE ccTAB CHR(9) #DEFINE ccCRLF CHR(13) + CHR(10) CREATE CURSOR myData (Subject C(10), Marks N(6,2)) INSERT INTO myData VALUES ("English", 80) INSERT INTO myData VALUES ("Math", 75) INSERT INTO myData VALUES ("Bio", 68) INSERT INTO myData VALUES ("Science", 88) lcStr = "Subjects" + ccTAB + "Marks" + ccCRLF SELECT myData SCAN lcStr = lcStr + myData.Subject + ccTAB + TRANSFORM(Marks) + ccCRLF ENDSCAN CREATE CURSOR csrGraph (myGraph G) APPEND BLANK APPEND GENERAL myGraph DATA lcStr CLASS MSGraph.Chart loForm = CREATEOBJECT("myGraphForm") loForm.Show() DEFINE CLASS myGraphForm AS Form ADD OBJECT oGraph AS OleBoundControl ADD OBJECT chkLegend AS CheckBox PROCEDURE INIT WITH THIS WITH .oGraph .ControlSource = "csrGraph.myGraph" .VISIBLE = .T. .HEIGHT = THIS.Height - 10 .WIDTH = THIS.Width WITH .OBJECT .LEFT = 1 .TOP = 1 *-- OLE Automation .HasLegend = .T. .HasTitle = .T. .ChartTitle.Caption = "Result" ENDWITH ENDWITH WITH .chkLegend .CAPTION = "Has Legend" .TOP = THISFORM.Height - 20 .Value = .T. ENDWITH ENDWITH ENDPROC PROCEDURE chkLegend.Click WITH THISFORM.oGraph.OBJECT .HasLegend = THIS.Value ENDWITH ENDPROC ENDDEFINEHTH