::SendMessage(m_hWnd, EM_AUTOURLDETECT, false, 0);
SelEof();//移到最后
CHARFORMAT cf;
memset(&cf, 0, sizeof(CHARFORMAT));
GetDefaultCharFormat(cf);
cf.dwMask = 0xFFFFFFFF;//CFM_LINK;
cf.dwEffects = CFE_AUTOCOLOR | CFE_LINK;
cf.crTextColor =  0;
SetWordCharFormat(cf);
ReplaceSel("接收",FALSE);我这样添加了一个“接收”的链接,点接收功能都很正常,但是在richedit里没有文字的地方鼠标指针也变成手的形状了,可以得到消息,得到的url为空!应该是只有鼠标在“接收”上方才变成手啊。如果是richedit自动转换的url就没有这个问题,应该怎么解决?

解决方案 »

  1.   

    我是通过下面代码实现判断的,不需要判断鼠标位置!DWORD mask =  GetEventMask();
    mask |= ENM_LINK  | ENM_MOUSEEVENTS | ENM_SCROLLEVENTS | ENM_KEYEVENTS;
    SetEventMask(mask);
      

  2.   

    这应该是MFC的一个bug,msn也有这个问题。
      

  3.   

    楼主,你在作什么工作呢,怎么感觉和我作的挺象的,呵呵。
    上次谢谢你帮我解决了问题,有时间咱们可以沟通一下,[email protected],:)
      

  4.   

    gungun2000(gungun) :真的是这样吗?QQ好像没有这个问题,难道它不是这样实现的?