派生一个EDIT类,在OnSetFuse也就是获取焦点后隐藏光标

解决方案 »

  1.   

    void CuserMyWdmMfcDlg::OnEnSetfocusEdit1()
    {
    m_edit1.HideCaret(); 
    }我这样写  编辑框上还是有 输入光标在闪 怎么办
      

  2.   

    我试了一下可以的。void CHideCursorDlg::OnEnSetfocusEdit1()
    {
      ::HideCaret(GetDlgItem(IDC_EDIT1)->GetSafeHwnd());
    }
      

  3.   


    就这个成功了为什么 HideCaret 无效呢
      

  4.   

    @12楼 
    hidecaret是可以的,但是应该这样用
    GetDlgItem(IDC_EDIT_XXX)->HideCaret();你所用的createcaret(null)意思应该是新建了一个空光标,没有指定在哪,因此才感觉光标消失了,但事实上这个有内存泄露的危险。
      

  5.   

    ShowCursor(false);只是把鼠标隐藏了    可是编辑框内光标还在闪啊
      

  6.   

    CreateCaret(NULL); 是正解~~~~~
      

  7.   

    void CHideCursorDlg::OnEnSetfocusEdit1()
    {
      ::HideCaret(GetDlgItem(IDC_EDIT1)->GetSafeHwnd());
    }用这个刚开始可以隐藏光标,但是再点几次Edit,光标又会重新出现是什么原因