Получить строку, над которой курсор

Тема в разделе "WASM.WIN32", создана пользователем Adrax, 25 сен 2007.

  1. Adrax

    Adrax Алексей

    Публикаций:
    0
    Регистрация:
    14 окт 2006
    Сообщения:
    135
    Адрес:
    г. Курск
    Уважаемые программисты!
    Сейчас развелось много электронных словарей иностранных языков, которые при наведении на строку текста (в окне любого приложения) выдают перевод в контекстном меню
    Каким образом можно это осуществить - получить избирательно слово/строку, над которой расположен курсор мыши?
     
  2. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    Лучше говорить не курсор, а указатель
    В общем случае это сделать невозможно. Необходимо писать свои методы для каждого типа приложений.
    В принципе, полагаясь на то, что приложения используют какие-то стандартные классы или контролы для отображения данных, логично попробовать отталкиваться от типа окна:
    1. Определяется класс окна, над которым расположен указатель мыши. Функции WindowFromPoint и GetClassName (или как-то вроде).
    2. В зависимости от класса окна попробовать применить к этому окну специфичные для него методы. Ну например, для стандартного Edit Box следует определить индекс символа под указателем (EM_CHARFROMPOS), затем получить текст окна (GetWindowText), и уже по этим данным выделить само слово.
    Таким же образом необходимо будет учесть все остальные типы окон, поддержку которых планируется реализовать..