how to get text under mouse cursor ???

Тема в разделе "WASM.BEGINNERS", создана пользователем Mad Butcher, 4 апр 2006.

  1. Mad Butcher

    Mad Butcher New Member

    Публикаций:
    0
    Регистрация:
    21 апр 2005
    Сообщения:
    27
    Проблема такая, пишется что-то вроде контекстного словаря и соответственно есть необходимость, при допустим, клике получать СЛОВО над которым находится указатель мыши.

    На данный момент есть такой "топорный код":


    Код (Text):
    1.  
    2. invoke SetTimer,ebx,ebx,100,OFFSET ClickTranslate
    3.  
    4. ***********
    5.  
    6. ClickTranslate PROC
    7.  
    8.   invoke GetAsyncKeyState,VK_LCONTROL
    9.   call   AnalyseState
    10.   jl     TheEnd
    11.   invoke GetAsyncKeyState,VK_LBUTTON
    12.   call   AnalyseState
    13.   jl     TheEnd
    14.  
    15.    invoke GetForegroundWindow
    16. @@:mov    esi,eax
    17.    invoke GetCursorPos,OFFSET pt
    18.    invoke ScreenToClient,esi,OFFSET pt
    19.    mov    edi,eax
    20.    invoke ChildWindowFromPoint,esi,pt.x,pt.y
    21.    cmp    eax,esi
    22.    jnz    @B
    23.  
    24. mov    eax,esi
    25. mov    eax,pt.y
    26. shl    eax,16
    27. mov    ax,WORD PTR pt.x
    28. mov    edi,eax
    29.  
    30. invoke SendMessage,esi,WM_LBUTTONDOWN,MK_LBUTTON,edi
    31. invoke SendMessage,esi,WM_LBUTTONUP,MK_LBUTTON,edi
    32. invoke SendMessage,esi,WM_LBUTTONDBLCLK,MK_LBUTTON,edi
    33. invoke SendMessage,esi,WM_LBUTTONUP,MK_LBUTTON,edi
    34.  
    35.  
    36. TheEnd:ret
    37.  
    38. AnalyseState:xor    ebx,ebx
    39.              mov    ecx,33
    40.       GetBit:dec    ecx
    41.              bt     eax,ecx
    42.              jnc    @F
    43.              inc    ebx
    44.           @@:test   ecx,ecx
    45.              jnz    GetBit
    46.              cmp    ebx,16
    47.              retn
    48. ClickTranslate ENDP
    49.  




    Приведённый код довольно сносно выделяет слово при нажатом LCTRL и клике мышкой, но проблема с копированием текста. WM_COPY работает только с edit, и к тому-же возникают проблемы с кодировкой...



    Сообственно вопрос: как скопировать выделенный текст ???



    P.S. Также приветствуются любые идеи по получению текста под курсором, так как чуствую, что я двигаюсь, мягко говоря, не в том направлении.
     
  2. Mad Butcher

    Mad Butcher New Member

    Публикаций:
    0
    Регистрация:
    21 апр 2005
    Сообщения:
    27
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Дипломная работа...
     
  4. SFeLi

    SFeLi Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    10 фев 2006
    Сообщения:
    6
    Адрес:
    Severodvinsk, Russia
    А нажатие Ctrl+С/Ctrl+Insert слать не пробовал?