zoukankan      html  css  js  c++  java
  • MFC Richedit隐藏光标

    MFC Richedit隐藏光标

    1.重载Richedit LButton事件
    void CChatRichEd::OnLButtonDown(UINT nFlags, CPoint point)
    {
      CRichEditCtrl::OnLButtonDown(nFlags, point);
      HideCaret();
    }
    2.如果还有网页链接,同时在EN_Link最后面
     HideCaret();


    改变Richedit默认可编辑鼠标状态
    重载OnSetCursor,m_isLink用来判断是否是链接,

    BOOL CChatRichEd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
    {
      // TODO: 在此添加消息处理程序代码和/或调用默认值

      //return CRichEditCtrl::OnSetCursor(pWnd, nHitTest, message);
      if (m_isLink)
      {
         m_isLink=FALSE;
        return CRichEditCtrl::OnSetCursor(pWnd, nHitTest, message);
      }
      else
      {
        SetCursor( AfxGetApp()->LoadStandardCursor(IDC_ARROW));
        return true;
      }
    }

    EN_Link的事件
    m_isLink=true.

    这样,链接就以手型显示。

    网上其他的方法隐藏Caret

    1.  在cpp文件的MESSAGE_MAP声明后添加如下全局变量和函数:  
       
      WNDPROC   oldProc   ;  
       
      LRESULT   CALLBACK   ReditWindowProc(  
          HWND   hwnd,             //   handle   to   window  
          UINT   uMsg,             //   message   identifier  
          WPARAM   wParam,     //   first   message   parameter  
          LPARAM   lParam     //   second   message   parameter  
      )  
      {  
      switch   (uMsg)  
      {  
      case   WM_SETFOCUS:  
      return   0   ;  
       
      default:   NULL   ;  
      }  
      return   oldProc(hwnd,uMsg,wParam,lParam)   ;  
      }  
       
      在OnInitDialog()中调用:  
       
      //   TODO:   Add   extra   initialization   here  
       
      oldProc   =   (WNDPROC)::SetWindowLong  
      (m_richEdit.m_hWnd,GWL_WNDPROC,(LONG)ReditWindowProc)   ;  
       
      这样就可以隐藏caret:)    

    2. 直接注释掉OnSetFocus() 里的方法。

  • 相关阅读:
    【Java】Java中的集合框架、泛型
    【Java】Java中日期获取、数值精度、异常处理
    【Java】包装类、及字符序列CharSequence接口
    【微服务】Docker环境安装及卸载教程-持续更新中
    【Java】Stream流式编程实战
    【Java】Lambda表达式详解及实战
    【Java】Java中I/O流使用及详解
    加入博客园的第八个月
    Structs复习 Structs标签
    Structs复习 OGNL
  • 原文地址:https://www.cnblogs.com/likwo/p/1666067.html
Copyright © 2011-2022 走看看