各位好:
      在 RichEdit控件中,在某文字上快速三次按鼠标左键时,整段文字将被选中,如何判断这个三击(不是双击)鼠标的动作及如何阻止RichEdit选中整段文字呢?
    谢谢!

解决方案 »

  1.   

    我告訴樓主一個主意:
     用sendkey或其它函數模擬發送一個  <-- (向左的光標鍵),再發送一個向右的光標鍵,這樣,Mouse就不會再自動選擇了.
      
      至於向左向右的光標鍵鍵值,好像是, 左為:37  右為:39 我不記得sendkey的使用方法了,你用一下
         keybd_event(0, MapVirtualKey(0,0), 0,0);請樓主給我至少80分!
      

  2.   

    TO: bluejingling能说明白些吗?什么时候发送呢?还是实时发送?
      

  3.   


    樓主,我為你的程序測試了半個多小時:
    把下面的代碼放到RichEdit的 MouseUp 事件中:
    if  x=0 then  //x=0表示mouse在最左邊,注意:把 richedit1 改為你自己命名的richedit ^_^
    begin 
    //光標 向右
    sendmessage(richedit1.Handle,WM_KEYDOWN, VK_RIGHT,0);   //wm_Keydown是按下
    sendmessage(richedit1.Handle,WM_KEYUP, VK_RIGHT,0);     //wm_keyup 是松開//再向左
    sendmessage(richedit1.Handle,WM_KEYDOWN, VK_LEFT,0);   //wm_Keydown是按下
    sendmessage(richedit1.Handle,WM_KEYUP, VK_LEFT,0);     //wm_keyup 是松開end;
       
    效果:
      在左邊按mouse時,程序依然後選擇全部文本,但執行上述代碼時,程序會驪上取消選擇不明之處,請聯繫
       [email protected]  
       or : 
       http://www.tanyong.com希望樓主把另外一個帖子中的分也送給我!
      

  4.   

    恐怕没有你说的这么简单吧,我要求的是禁止选中整段文字,并非选中了再取消,因为那样的话就会引起闪烁。再说,你的方法也不好,调节selstart等属性更简单。