当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

TRichEdit右键滚屏代码

      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;
      }
    }
相关内容
赞助商链接