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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Идентифицировать режим ввода в Photoshop, Идентифицировать режим ввода в Photoshop 
:(
    Опции темы
alexpotemkin
Дата 2.11.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Нужно идентифицировать режим ввода информаци на холсте рисования в элементе текст (т.е. идентифицировать появление и перемещение каретки), попытки сделать это с использованием TGUIThreadInfo (hwndCaret), не позволяет отловить появление там каретки, второй вариант с использованием AttachThreadInput аналогично не дает то же идентифицировать появление "режима ввода информации". Буду признателен всем рекомендациям по поводу идентификации перемещения каретки и самого факт её появления в Photoshop.
PM MAIL   Вверх
Alix
Дата 2.11.2007, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


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

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



Есть ли уверенность в том, что каретка там не прорисовывается фотошопом самостоятельно? Факт появления, наверное, можно отследить по изменению тулбара, но он, увы, самопрорисовывающийся.
Возможно можно отследить клик мыши по тому месту, где находится кнопка инструмента текст, но этот способ не является надежным (вы, думаю, понимаете почему).
В общем не могу придумать ни одного способа, наверное никак...  smile 


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
alexpotemkin
Дата 2.11.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

Alix 
наверное никак

очень надеюсь что это не так  ))). Думаю может ловить сообщения от фотошопа, типа WM_SETFOCUS, WM_KILLFOCUS, WM_NCHITTEST (приму рекомендации как проще это сделать при минимуме кода), может это как либо поможет. Или качать фотошоповский сдк и там ковырять? 

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


L45
**


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

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



Цитата(alexpotemkin @  2.11.2007,  13:23 Найти цитируемый пост)
Или качать фотошоповский сдк и там ковырять? 

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


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
alexpotemkin
Дата 2.11.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

в общем я поковыряю этот вопрос

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


Шустрый
*


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

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



Так сказать размышления вслух. Просмотрел материалы по поводу использования IACCESSIBLE думал возможно с помощью єтого интерфейса получу возможность ловить позицию курсора на полотне рисования, но похоже это тоже "мимо кассы". Еще не до конца проверил SetWinEventHook. Просмотрел окна при помощи Microsoft Spy ++, не идентифицирует он элемент с текстом как контрол, далее полотна (окна) рисования класс окна PSViewC. Остались варианты только работать с фотошопом через оле, перехват сообщений (похоже нужен перехват следующих сообщений WM_NCHITTEST, WM_SETFOCUS, WM_KILLFOCUS, приму в дар примеры перехватов smile) ), перехват вызовов gdi функций фотошопом, ну и вариант копать по этому вопросу в фотошоповском сдк.
Может получу от кого дельные рекомендации.
PM MAIL   Вверх
alexpotemkin
Дата 26.11.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Эксперименты показали что SetWinEventHook в данном случае не дает желаемого результата, так что похоже нужно будет копать в сторону использования OLE, уже открыл тему в соответсвующем разделе форума. Жду ваших рекомендаций, очень жду )).
PM MAIL   Вверх
alexpotemkin
  Дата 4.12.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Приятно пообщаться с умным человеком )))). Блин ветка в которой сам больше всех сообщений накидал )))).
Короче, в продолжение темы. На данный момент осталось проверить два варианта идентификации: через ОЛЕ и косвенный, т.е. тот что указывал выше Alix "Факт появления, наверное, можно отследить по изменению тулбара", как самый простой вариант - это поиск видимого комбобокса со шрифтами, т.е. нашли в окнах фотошопа комбобокс, далее проверяем наличие в его списке определенных значений, в данном случае названия шрифтов.
Вот такие пироги.
 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.

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


 




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


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

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