Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить текст(слово)из-под курсора 
:(
    Опции темы
MetalFan
Дата 30.10.2008, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



Qu1nt, да там не все так просто... для лабела например этим способом ничего не приходит...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
CompWorm
Дата 31.10.2008, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



блин, как щас помню, была такая тема... там сравнивали механизм с лингво, но то-ли потерлась та тма, то ли хз.

про лейблы - уже обсуждалось на форуме. они бывают разные - некоторые объекты, а некоторые иногда отрисовываются на форме и не являются компонентом в некоторых прогах, как и грид, с которого тоже ничего считать незя. жаль тему ту не могу найти 


--------------------
PM MAIL   Вверх
lazutov
Дата 31.10.2008, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



а не подскажите, как получить координаты  и размеры элемента, с которого брался текст?
PM MAIL   Вверх
MetalFan
Дата 31.10.2008, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



CompWorm, да, тоже что-то такое припоминается....
lazutov, см.методы IAccessible



Это сообщение отредактировал(а) MetalFan - 31.10.2008, 08:55


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
CompWorm
Дата 31.10.2008, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



MetalFan
занятная программка у тебя... но работает она далеко не везде. к примеру, меню, тривью не пашет... не читается код из окна дельфи 7

посмотри меню фраерфокса - там что-то определяется, но все менюшки перепутаны

функция
lAcc.Set_accValue(lAccCh, 'крякнуто!');
работает исключительно с текстовыми окнами...
стоит отметить, что lAcc.Get_accDescription дает тулпиксовый текст.

попробую вечером дополнить твою прогу обыными методами определения текста и класа объекта...

вопрос тебе... а почему из браузера дается текст до перевода коретки или окончания форматирования текста, а не до пробела? ты пробовал до первого пробела определить текст, игнорируя форматирование текста?

Это сообщение отредактировал(а) CompWorm - 31.10.2008, 11:21


--------------------
PM MAIL   Вверх
lazutov
Дата 31.10.2008, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



как я только эти IAccessible не крутил. нет результата.
PM MAIL   Вверх
CompWorm
Дата 1.11.2008, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



Цитата

как я только эти IAccessible не крутил. нет результата. 


lazutov, что не понятно то? вот тебе пример, как обещал... три способа в одном
http://www.filehoster.ru/files/bq8198

вот описанные мною выше проблемы действительно хитрые  smile  целый день голову ломаю как к этим выпадающим менюшкам подкопаться... вот щас пытаюсь через хендл получить контроль над объектом, проанализировать по таблице известных слассов и вытащить нужное свойство... проблема в том, что я даже на форме не способен достать текст пункта меню под курсором... куда уж там к чужим объектам. 
короче, я слабак. будем ждать что там MetalFan наковыряет smile 

к стати, преславутый IAccessible основан на вызове месаджа  WM_GETOBJECT... но от этого не легче, ибо как я понял, если этого интерфейса у объекта изначально не предусмотренно, то и взять с такого объекта нечего smile 

Это сообщение отредактировал(а) CompWorm - 1.11.2008, 00:45


--------------------
PM MAIL   Вверх
MetalFan
Дата 1.11.2008, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



остается перехват вызова функции вывода на канву...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
CompWorm
Дата 1.11.2008, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



через getDC чтоль?
- обновил для канвы
http://www.filehoster.ru/files/bq8657

я все больше склоняюсь к методам Rrader'а... то есть через распознание изображения.
к примеру, IAccessible дает не слово, а фразу до перевода каретки или смены шрифта, что вносит вопрос о том как же выковырять нужное слово под курсором...

вот сегодня пытаюсь получить клиентские координаты курсора над объектом. в сочетании с getDC и анализом графики, как предлагает Rrader (пока без нейросетей, хотя с ними лучше) эти координаты помогли бы вычленить нужное слово.

отсюда вопрос: как получить локальные координаты мыши над объектом?
например, можно проползти по всей иерархии и с помощью ClipRect подсчитать координату мыши как разницу между абсолютным положением  ректангла объекта и координаты мыши... способ геморный  smile  (есть другие предложения?) ну и проанализировать все что есть в области курсора   smile 


--------------------
PM MAIL   Вверх
lazutov
Дата 1.11.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



Цитата

lazutov, что не понятно то? вот тебе пример, как обещал... три способа в одном
http://www.filehoster.ru/files/bq8198

Файл не найден.
Вторую ссылку видел и поцентов на 80 понял.
То ли у меня с мозгами очень туго, smile  то ли я что-то не так делаю.Необходимо получить координаты (Top
, left, width,heigth) элемента, а я получаю либо нули, либо еррры.
Заранее спасибо. 

PM MAIL   Вверх
CompWorm
Дата 1.11.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



чудеса! действительно не пашет ссылка... а с утра проверял - работала  smile 
http://www.filehoster.ru/files/bq8657
http://rar.ifolder.ru/8860521

Цитата

width, heigth

нет у него таких свойств  smile  - посмотри пример с гетДС в файлике... там Right и Bottom, если я тебя правильно понял

Это сообщение отредактировал(а) CompWorm - 1.11.2008, 23:05

Присоединённый файл ( Кол-во скачиваний: 53 )
Присоединённый файл  FULL_MOUSE_CONTROL.rar 8,98 Kb


--------------------
PM MAIL   Вверх
CompWorm
Дата 5.11.2008, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



я выше написал, что из TStringGrid получить данные незя...
беру свои слова обратно. smile 
вот в этой статье    Rrader отжигает по поводу значений из чужих процессов
http://forum.vingrad.ru/articles/topic-226725/unread-1.html
 smile 
статейка суровая smile 
полагаю, желающих развить из этого тему для текста под курсором не найдется  smile 



--------------------
PM MAIL   Вверх
Rrader
  Дата 6.11.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191



CompWorm, использовать предложенные в статье методы для получения текста под курсором - ну очень громоздко, а подчас и нереально. И только для программ Delphi/BCB.

Цитата(CompWorm @  6.11.2008,  00:07 Найти цитируемый пост)
статейка суровая  smile  

 smile 


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1102 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.