韩冰 发表于 2005-1-26 12:25

TRichEdit右键滚屏

<P>TRichEdit右键滚屏
</P>
<P> void __fastcall TMainForm::RichEditMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
if(RightButtonFlag)
{
if(RightY&gt;(Y+8))
{
RightY=Y;
SendMessage(RichEdit-&gt;Handle, EM_SCROLL, SB_LINEDOWN, 0);
}
else if(RightY&lt;(Y-8))
{
RightY=Y;
SendMessage(RichEdit-&gt;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-&gt;Cursor=crHandPoint;
RightX=X;
RightY=Y;
SetCapture(RichEdit-&gt;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-&gt;Cursor=crDefault;
RichEdit-&gt;PopupMenu=NULL;
}
else
{
RichEdit-&gt;PopupMenu=RichEditPopupMenu;
}
}
</P>
页: [1]
查看完整版本: TRichEdit右键滚屏