AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > C++

TRichEdit右键滚屏代码

51自学网 http://www.51zixue.net
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;
  }
}

 

 

 
上一篇:C++&nbsp;Builder创建组件探密  下一篇:用CB制作具有HTML风格的动态按钮