Как получить экранные координаты изображения (фигуры), расположенного над ячейкой Excel в Excel 2007/2010 - PullRequest
0 голосов
/ 08 сентября 2011

Я пишу приложение, где у меня 30 строк, 1 столбец с данными.Каждая ячейка в 30 строках имеет объект изображения, расположенный над ней (это означает форму Excel).Если я попытаюсь определить положение экрана для объектов изображения, находящихся в видимом диапазоне, я смогу получить правильные координаты экрана. Скажем, например, для ячеек A1..A10.

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

Поскольку, если я применяю ActiveWindow.RangeFromPoint(X, Y) для вычисленных координат экрана X и Y, APIвозвращается ноль.

Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 15 февраля 2012

Мне кажется, что все, что вы говорите, имело бы смысл - координаты x & y для чего-либо должны быть на экране, потому что именно это определяет их координаты!

Например, самое верхнее и левое значение координаты будет (0,0), тогда как (в моем случае) самое нижнее правое значение будет (1920,1080), потому что мой экран 1920 x 1080. Еслиобъект, или точка, или все, что появляется за пределами экрана, скорее всего, точки будут иметь нулевое значение, поскольку Excel измеряет координаты только в пределах видимого диапазона экрана.Теперь, возможно, есть способ обойти это и сказать, что, возможно, рассматриваемая точка в строке 100 имеет значение координаты (10, 3000), но кто знает.

Вероятно, проблема, с которой вы столкнулись в данный момент, - это проблема, с которой я сталкиваюсь - как вы обнаруживаете, когда мышь наводит курсор на конкретный объект на экране?Кажется, вам нужна программа, которая постоянно измеряет координаты всех объектов на экране и передает эти координаты любой программе, в которой они вам нужны. Изображение или ячейка могут иметь определенную позицию xy, но если пользователь прокручивает вверх, вниз, влево или вправо, или увеличит или уменьшит масштаб, этот объект будет перемещаться относительно краев экрана и, следовательно, будет иметь разные координаты.Если вам известно о вызове API для выполнения вышеизложенного, я, безусловно, хотел бы услышать его.

Я знаю, что не полностью ответил на ваш вопрос, но надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...