在RICH EDIT 里,选中一段字符串后,可以通过按住鼠标左键拖动来改变这段字符串的位置,我现在想屏蔽这个功能 应该怎么做啊?

解决方案 »

  1.   

    给RichEdit 添加鼠标左键down消息处理函数 使用如下代码
    非常简单void CMyRichEdit::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default WORD type=GetSelectionType();
    if (SEL_TEXT) 
    {   
    CString str=GetSelText();
    ReplaceSel(str);
    }
    CRichEditCtrl::OnLButtonDown(nFlags, point);
    }
      

  2.   

    当然 你可以给这个函数下添加很多判断
    利用 

    CRichEditCtrl::GetSelectionTypeWORD GetSelectionType( ) const;返回值:
    返回表明当前选择内容的标志。它可以是下列标志的组合: · SEL_EMPTY 表明没有当前选择。  
    · SEL_TEXT 表明当前选择包含文本。  
    · SEL_OBJECT 表明当前选择至少包含了一个OLE项。  
    · SEL_MULTICHAR 表明当前选择包含了不止一个字符的文本。  
    · SEL_MULTIOBJECT 表明当前选择包含了不止一个OLE项。  
    说明:
    此成员函数用来确定此CRichEditCtrl对象中的选择的类型。
    更多的信息,参见Win32中的EM_SELECTIONTYPE。来判断选择的是什么内容
    做什么操作