void __fastcall tmainform::richeditmousemove (tobject *sender,tshiftstate Shift, int X, int Y)
{
if ( Rightbuttonflag)
{
if (righty> (y+8))
{
righty=y;
SendMessage (Richedit->handle, Em_scroll, Sb_linedown, 0);
}
Else if (righty< (Y-8))
{
righty=y;
SendMessage (Richedit->handle, Em_scroll, Sb_lineup, 0);
}
Richeditdragflag=true;
}
}
//---------------------------------------------------------------------------
void __fastcall Tmainform::richeditmousedown (TObject *sender,tmousebutton Button, tshiftstate Shift, int X, int Y)
{
if (button== Mbright)
{
Rightbuttonflag=true;
screen->cursor=crhandpoint;
Rightx=x;
Righty=y;
SetCapture (Richedit->handle);
}
Else
Rightbuttonflag=false;
}
//---------------------------------------------------------------------------
void __fastcall tmainform:: Richeditmouseup (TObject *sender,tmousebutton BuTton, tshiftstate Shift, int X, int Y)
{
if (rightbuttonflag)
ReleaseCapture ();
if (Richeditdragflag)
{
Rightbuttonflag=false;
Richeditdragflag=false;
screen->cursor=crdefault;
richedit->popupmenu=null;
}
Else
{
Richedit->popupmenu=richeditpopupmenu;
}
}