:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ||
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
Как перевести координату в пикселях (Pixcels) в твипы (Twips) | ||
---|---|---|
Проблема
Многие ActiveX компоненты требуют для указания в качестве параметров своих методов координаты в твипах (Twips), но FoxPro дает координаты в пикселах (Pixcels). Как перевести одно в другое? Решение Для того, чтобы каждый раз не пересчитывать коэффициенты заново, создайте свойства nTwipX и nTwipY для хранения переводных коэффициентов по X (по вертикали) и по Y (по горизонтали) соответствеенно. Тогда следующий код следует выполнить в событии Init того объекта, где созданы эти свойтсва.
Здесь This.nTwipX и This.nTwipY - это как раз те самые коэффициенты перевода из пикселей в твипы. В данном случае оформлены как дополнительные свойства объекта.
В большинстве случаев, эти коэффициенты равны 15 Данный код несколько избыточный в части использования функции GetActiveWindow(). Дело в том, что эта функция возвращает, так называемое HWND-окна (некий числовой идентификатор окна). Но все дело в том, что многие ActiveX имеют свойство, возвращающее значение их HWND, а, начиная с версии Visual FoxPro 7.0, такое свойство имеют и формы собственно FoxPro. Т.е. Вы можете вместо функции GetActiveWindow() напрямую использовать свойство HWND нужного объекта. Впрочем, и в таком виде данный код вполне работоспособен. |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
ActiveX | 4013 | Владимир Максимов | 01.03.05 21:55 |
На машине клиента ActiveX требует лицензию | 7087 | Владимир Максимов | 18.09.05 11:03 |
Как перевести координату в пикселях (Pixcels) в твипы (Twips) | 10397 | Владимир Максимов | 22.01.06 20:29 |
© 2006 Fox Club  |