首页 > 学院 > 开发设计 > 正文

TRichEdit右键滚屏代码

2019-11-17 05:24:32
字体:
来源:转载
供稿:网友

  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;
  }
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表