среда, 15 апреля 2009 г.

[JFWRus] Re[8]: функцияFindGraphic

Здравствуйте, Литус.

Вы писали 15 апреля 2009 г., 20:27:49:

ЛА> Если можно опешите здесь подробнее такой метод применяеться
ЛА> в компонентах


Это не правило а скорее конкретная ситуация, бывает просто не
достаточно проверки только текущего класса.
Вот пример ранее указанной функции.
Int Function IsAddressGrid ()

return !MenusActive ()
Если не активно меню, а то бывают случаи, когда при активном меню
возвращается класс элемента бывшего активным до вызова меню.

&& !DialogActive ()
Если не активно диалоговое окно, возможно это и лишняя проверка,
но не мешает.
&& GetWindowClass (GetFocus ()) == "TFieldInEdit"
Проверяем текущий класс.
&& GetWindowClass (GetParent (GetFocus ())) == "TAddressGrid"
Проверяем класс родителя.
Здесь проверяется ряд условий, и если они все выполняются, то это
действительно искомый нами элемент.
Можно делать проверку по тексту на экране, но это привязка к
языковому интерфейсу
программы, что не очень хорошо, лучше этого избегать.
Конечно лучше использовать идентификатор элемента управления
(ControlID), но в VCL компонентах он динамический, и нет смысла
его проверять он всегда равен дескриптору окна. Хотя в некоторых
диалоговых окнах Word есть элементы с одинаковыми
идентификаторами.


--
С уважением,
Олег mailto:olegkut@ukr.net


***
Это сообщение No 8531
было разослано для 475 участников дискуссионного листа
[JFWRus] Re[8]: функцияFindGraphic

-*--------------------------------------------------------------------------
Информационный канал Subscribe.Ru
Подписан адрес: ubhh@mail.ru
Код этой рассылки: comp.soft.others.jfwrus
Архив листа: http://subscribe.ru/archive/comp.soft.others.jfwrus
Написать в лист: mailto:comp.soft.others.jfwrus-list@subscribe.ru
Отписаться: mailto:comp.soft.others.jfwrus-15223214-unsub@subscribe.ru?subject=36837

http://subscribe.ru/ http://subscribe.ru/feedback

Комментариев нет:

Отправить комментарий