Я написал небольшой макрос VBA для PowerPoint (2010 г.), который открывает всплывающее окно с пояснениями при наведении курсора на какую-либо фигуру. Это прекрасно работает. Увы, нет никакого события, которое запускается при выходе из области снова, и поэтому теперь я хочу расширить код так, чтобы он отслеживал область всплывающего окна, и когда указатель покидает эту область, он снова удаляет всплывающее окно.
Но теперь я столкнулся с какой-то глупой проблемой: координаты Shape (.Left, .Top, .Width и .Height) даны в каких-то "единицах документа" (точно не знаю, в какой это единице). Координаты указателя, однако, очевидно, в пикселях экрана. Чтобы иметь возможность разумно сравнить их, чтобы вычислить, находится ли указатель внутри или снаружи, мне нужно сначала преобразовать размеры формы в пиксели экрана.
Я много гуглил, но, хотя я нашел несколько многообещающих фрагментов кода, ни один из них не работал (как и большинство из них для Excel, а PowerPoint, очевидно, имеет другую модель документа).
Может ли какая-нибудь добрая душа дать мне подсказку или ссылку, как преобразовать размер фигуры в пиксели экрана (т.е. с учетом масштабирования, положения окна, коэффициента масштабирования и т. д.).
M.