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() 里的方法。

  • 相关阅读:
    Browsermob-Proxy 备忘
    Restic 备份工具
    GP刷新实体视图
    SDKMAN安装使用
    The requested module '/node_modules/.vite/vue.js?v=65afd58f' does not provide an export named 'default'
    Python——执行打包提示 ‘pyinstaller‘ 不是内部或外部命令,也不是可运行的程序
    python 打包exe 方法
    Python使用阿里云镜像
    使用Python项目生成所有依赖包的清单方式
    Git GuiUI的乱码问题如何解决
  • 原文地址:https://www.cnblogs.com/likwo/p/1666067.html
Copyright © 2011-2022 走看看