关于GDI+画线.闪的厉害,该如何处理

关于GDI+画线.闪的厉害
用GDI+画的一线条
//------------------------------------


#ifndef   uMainH
#define   uMainH
//---------------------------------------
#include   <Classes.hpp>
#include   <Controls.hpp>
#include   <StdCtrls.hpp>
#include   <Forms.hpp>

#include   <math.hpp>
#include   <Menus.hpp>
#include   <ExtCtrls.hpp>
#include   <algorithm>
using   std::min;
using   std::max;
#include   <gdiPlus.h>
using   namespace   Gdiplus;

//---------------------------------------
class   TfrmMain   :   public   TForm
{
__published: //   IDE-managed   Components
    TTimer   *Timer1;
    void   __fastcall   FormMouseMove(TObject   *Sender,   TShiftState   Shift,   int   X,
                    int   Y);
private: //   User   declarations
        ULONG_PTR   m_GdiplusToken;
        Gdiplus::GdiplusStartupInput   m_GdiplusStartupInput;

public: //   User   declarations
        __fastcall   TfrmMain(TComponent*   Owner);
        __fastcall   ~TfrmMain(void);
};
//---------------------------------------
extern   PACKAGE   TfrmMain   *frmMain;
//---------------------------------------
#endif


cpp
#include   <vcl.h>
#include   "math.h "
#pragma   hdrstop
#include   "uMain.h "

//---------------------------------------
#pragma   package(smart_init)
#pragma   resource   "*.dfm "
TfrmMain   *frmMain;

//---------------------------------------
__fastcall   TfrmMain::TfrmMain(TComponent*   Owner)
                :   TForm(Owner)
{
        //   init   GDI+
        GdiplusStartup(&m_GdiplusToken,   &m_GdiplusStartupInput,   NULL);
        //
}
//---------------------------------------
__fastcall   TfrmMain::~TfrmMain(void)
{
        GdiplusShutdown(m_GdiplusToken);   //   Close   GDI+
}
//---------------------------------------


void   __fastcall   TfrmMain::FormMouseMove(TObject   *Sender,   TShiftState   Shift,
            int   X,   int   Y)
{
                  const   static   int   OX   =   0,   OY   =   0;
const   static   REAL   C   =   140;

static   REAL   offset   =   0;
POINT   p[4];
REAL   k[4];

//   生成正文形四角的新坐标值
for   (int   i=0;   i   <   2;   i++)
{
      p[i].x   =   (int)(OX+X)   ;
p[i].y   =   (int)(OY+i*250);