Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужно определить слова под курсором мышки. [D6, D7, Win2k]


Reals ©   (2004-03-22 15:52:00) 

Здравствуйте, уважаемые! Подскажите пожалуйста, как можно определить (узнать) какое слово находиться под курсором мышки?

Слышал что как-то можно использоваться библиотеку OleACC.dll, котороая используеться для настроек винды для "людей с
ограниченными возможностями", и там есть несколько функций, среди которых можно и "взять слово под курсором". Может кто случайно сталкивался как это можно осуществить.

А то вот уже 3 дня как ищу что-то в инете по поводу этой самой dll-ки ничего не получаеться найти. А может можно как и стандартными WinAPI командами, неиспользуя этой библиотеки, если конечно возможно?

Заранее премного благодарен!


Reals   (2004-03-24 19:38:00) [1]

To Vit@ly:
Ага, вот теперь понятно чуть стало.
Спасибо!


Vit@ly   (2004-03-24 18:13:00) [2]

Может быть я чего-то не догоняю, но по-моему мышь(все-таки) находится не над словом, а над контролом. А отсюда и выводы. Забирать текст целиком, а затем по позиции мыши на контроле парсить строку.


Reals   (2004-03-24 17:37:00) [3]

ToWebErr
> А посчитать?


Что посчитать то???????
Вот и расскажи, я же прошу помощи, если знаешь как реализовать, то подскажи пожалуйста. А посчитать слова, я вообще не имею понятия как ты это себе представляешь, с помощью подсчитывания определить какое слово выделено.

ToPolevi:
Спасибо за подсказку. Я что-то совсем не додумался, из-за огромного напряжения, в MSDN`е поискать.


Polevi   (2004-03-24 15:50:00) [4]

в oleacc.dll определены 2 интерфейса

IAccessible = interface(IDispatch)
IAccessibleHandler = interface(IUnknown)

если тебя интересует технология Microsoft Accessibility тебе сюда
http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.
asp?contentid=28000544


WebErr   (2004-03-24 15:41:00) [5]


> ОДНО СЛОВО, которое находиться ПОД КУРСОРОМ

А посчитать? :))))
Неужели влом!!! :)))))))))))))))))))))))))


Reals   (2004-03-24 15:35:00) [6]

Так проблема в том, что выдирает весь текст из Edit-компонента (где находиться текст), а мне нужно только ОДНО СЛОВО, которое находиться ПОД КУРСОРОМ.


WebErr   (2004-03-24 13:33:00) [7]


> Тексты выдирает без проблем.

Тогда в чём проблема?


Reals   (2004-03-24 10:58:00) [8]

Я все сообщения перепробовал, касающиеся "вытаскивания" текста. Три дня "убил" на это. Тексты выдирает без проблем. Но мне нужно именно то слово, которое под курсором мышки находиться.

Знаю на 100% что это возможно при помощи библиотеки OleACC.dll. Но вот как, совсем не представляю.
Вот есть программа, которая использует эту библиотеку ( http://www.anplex.ru/). Я написал автору письмо спросьбой подсказать что-либо, но он молчит.

Спасибо!


Diamond Cat   (2004-03-24 03:56:00) [9]


> pohil ©  

senmessage с  wm_gettext равно как и getwindowtext возвращают нет отдельное слово, а весь текст из запрошенного окна, к тому же далеко не все окна дают этот текст тот же експлорер весело начхает на такие запросы


pohil   (2004-03-24 01:37:00) [10]

Сначала определи HWND функция WindowFromPoint. А потом как обычно SendMessage(HWND, {чего-то вроде WM_GETTEXT}, wParam, lParam). Сообщение непомю какое точно, поюзай с полчаса, если надо, то точно найдешь.


Reals   (2004-03-23 10:57:00) [11]

Так имееться ввиду не графическую надпись, а текстовую, например из Explorera, Word`а, Notepad`а и т.п.


Алхимик   (2004-03-23 09:08:00) [12]

Что значит "слово под курсором мыши"?
Я на канвасе напишу что нить, сам Fine Reader не поймёт.


Наверх

Титульная страница Поиск, карта сайта Написать письмо