oGr = newobject('GpGraphics',HOME()+'/ffc/_gdiplus.vcx')>
>>PUBLIC oform1 >> >>oform1=NEWOBJECT("form1") >>oform1.Show >>RETURN >> >> >> ************************************************** >>*-- Form: form1 (c:\temp\olympicrings.scx) >>*-- ParentClass: form >>*-- BaseClass: form >>*-- Time Stamp: 02/23/06 01:48:09 AM >>* >>* >>DEFINE CLASS form1 AS form >> >> >> Height = 400 >> Width = 650 >> DoCreate = .T. >> AutoCenter = .T. >> BorderStyle = 3 >> Caption = "Olympic Rings" >> WindowType = 0 >> BackColor = RGB(255,255,255) >> AllowOutput = .F. >> Name = "Form1" >> >> >> ADD OBJECT shpplaceholder AS shape WITH ; >> Top = 37, ; >> Left = 10, ; >> Height = 325, ; >> Width = 630, ; >> Anchor = 768, ; >> BackStyle = 0, ; >> Visible = .F., ; >> BackColor = RGB(255,255,255), ; >> Name = "shpPlaceHolder" >> >> >> PROCEDURE Paint >> *!* Syntax: THIS.DrawArc(toPen,tX,tY,tnW, tnH, tnStart, tnSweep) >> *!* LOCAL m.lnX, m.lnY, m.lnW, m.lnH, m.lnStart, m.lnSweep >> WITH ThisForm.shpPlaceHolder >> m.lnX = .left + 40 >> m.lnY = .top + 40 >> m.lnW = 35+120 >> m.lnH = 35+120 >> m.lnStart = 0 >> m.lnSweep = 360 >> endwith >> ogr.DrawArc( m.oPenBlue, m.lnX, m.lnY, m.lnW, m.lnH, m.lnStart, m.lnSweep) >> ogr.DrawArc( m.oPenBlack, m.lnX+180, m.lnY, m.lnW, m.lnH, m.lnStart, m.lnSweep) >> ogr.DrawArc( m.oPenRed, m.lnX+360, m.lnY, m.lnW, m.lnH, m.lnStart, m.lnSweep) >> >> ogr.DrawArc( m.oPenYellow,m.lnX+90, m.lnY+90, m.lnW, m.lnH, m.lnStart, m.lnSweep) >> ogr.DrawArc( m.oPenGreen, m.lnX+270, m.lnY+90, m.lnW, m.lnH, m.lnStart, m.lnSweep) >> >> ogr.DrawArc( m.oPenBlue,m.lnX, m.lnY, m.lnW, m.lnH, m.lnStart, 20) >> ogr.DrawArc( m.oPenBlack,m.lnX+180, m.lnY, m.lnW, m.lnH, m.lnStart+2, 20) >> ogr.DrawArc( m.oPenBlack,m.lnX+180, m.lnY, m.lnW, m.lnH, m.lnStart+92, 20) >> ogr.DrawArc( m.oPenRed,m.lnX+360, m.lnY, m.lnW, m.lnH, m.lnStart+91, 20) >> ENDPROC >> >> >> PROCEDURE Init >> * Ensure GDI+ is initialised >> *!* createobject( "ReportListener" ) >> >> public oGr as GpGraphics of HOME()+/ffc/_gdiplus.vcx >> oGr = newobject('GpGraphics',HOME()+'/ffc/_gdiplus.vcx') >> oGr.CreateFromHWND( Thisform.HWnd ) >> >> PUBLIC olinecolor >> *!* oLineColor = newobject('GpColor',home()+'/ffc/_gdiplus.vcx','', 0,0,255 ) >> oLineColor = newobject('GpColor',home()+'/ffc/_gdiplus.vcx','',39,154,216) >> LOCAL m.lnPenWidth >> m.lnPenWidth=15 >> *Here's code to create a GpPen object using that color, and specified as three pixels wide: >> * first create 'empty' pen, then create the >> * underlying GDI+ object >> PUBLIC oPenBlue, oPenYellow, oPenBlack, oPenGreen, oPenRed >> oPenBlue = newobject('GpPen', HOME()+'/ffc/_gdiplus.vcx' ) >> oPenBlue.Create( m.oLineColor, m.lnPenWidth ) >> *!* oLineColor.Set(255,255,0) && yellow >> oLineColor.Set(243,217,33) && yellow >> oPenYellow = newobject('GpPen', HOME()+'/ffc/_gdiplus.vcx' ) >> oPenYellow.Create( m.oLineColor, m.lnPenWidth ) >> oLineColor.Set(0,0,0) && black >> oPenBlack = newobject('GpPen', HOME()+'/ffc/_gdiplus.vcx' ) >> oPenBlack.Create( m.oLineColor, m.lnPenWidth ) >> *!* oLineColor.Set(0,255,0) && green >> oLineColor.Set(41,194,46) && green >> oPenGreen = newobject('GpPen', HOME()+'/ffc/_gdiplus.vcx' ) >> oPenGreen.Create( m.oLineColor, m.lnPenWidth ) >> *!* oLineColor.Set(255,0,0) && red >> oLineColor.Set(236,19,73) && red >> oPenRed = newobject('GpPen', HOME()+'/ffc/_gdiplus.vcx' ) >> oPenRed.Create( m.oLineColor, m.lnPenWidth ) >> ENDPROC >> >> >>ENDDEFINE >>* >>*-- EndDefine: form1 >>************************************************** >>