Страницы: 1
RSS
Запуск формы с координатами курсора мыши, VBA
 
Здравствуйте.
Подскажите, пож-та, как форме UserForm1(верхнему левому углу) при появлении на экране передать положение координат курсора мышки?
Т.е. при показе формы, UserForm1.Show на кнопку или сочетанием клавиш или еще как-либо, она должна появляться в месте где находится курсор мыши?

 
Хорошее упражнение по Excel.

1. Как узнать координаты курсора мыши - пример от Владимира (ZVI) здесь.
2. Как показать форму в нужном месте - свойства формы StartUpPosition, Top, Left.

Для оператора Declare не забываем о существовании 64-разрядных версий Excel.
Изменено: sokol92 - 02.12.2022 19:05:04
Владимир
 
sokol92, спасибо! Попробую сопоставить 1 и 2 ))
 
Цитата
написал:
1. Как узнать координаты курсора мыши - пример от Владимира ( ZVI )  здесь . 2. Как показать форму в нужном месте - свойства формы StartUpPosition, Top, Left.
Сокол, сопоставил Top, Left формы с полученными координатами. Почему-то форма уходит ниже и правее координат курсора мышки.
Не могли бы помочь?
 
asesja, нужно перевести пиксели в поинты (* 0.75)
 
Здравствуйте. Может другим участникам форума пригодится.
 
Цитата
написал:
asesja , нужно перевести пиксели в поинты (* 0.75)
Спасибо, попрактикуюсь
 
Цитата
написал:
Здравствуйте. Может другим участникам форума пригодится.
DANIKOLA, Это просто, БОМБА! Спасибо, огромное. Конечно пригодится!
Изменено: asesja - 02.12.2022 20:25:38
 
Почему то на одних ПК срабатывает четко, на других есть смещение вправо и ниже. Офисы разные установлены.
Как можно вычислить это смещение и компенсировать?
 
Цитата
asesja написал:
Почему то на одних ПК срабатывает четко, на других есть смещение вправо и ниже
вы еще попробуйте посчитать куда выложить окно на системе с 2-я мониторами, когда у мониторов разное разрешение. на этом пути вас ждем много неожиданных сюрпризов)
я предпринимал несколько попыток, плюнул, зарекся больше к этому не возвращаться
Изменено: Ігор Гончаренко - 03.12.2022 02:05:29
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Все возможно, просто надо делать кнопку бОльшего размера
 
Цитата
testuser, написал:
Все возможно, просто надо делать кнопку бОльшего размер
testuser, спасибо.
Смысл, как раз таки не в большой кнопке, а в маленькой. Допустим, вывести рядом с кнопкой или небольшим текстовым полем календарь выбора даты, или небольшое окошко с доп.функциями и т.д. Когда оно появляется по середине экрана или на втором мониторе не очень комфортно пользоваться, особенно если делаешь прогу не только для себя.
В вашем примере кнопка слишком великовата )) и выскакивает ошибка в объявлении функций. Нужно как-то адаптировать с учетом версий VBA и разрядности офиса.
 
Цитата
написал:
вы еще попробуйте посчитать куда выложить окно на системе с 2-я мониторами, когда у мониторов разное разрешение.
Игорь, прямо в точку. Я так и делаю.
Кстати, пример DANIKOLA из #6 с этой задачей отлично справляется на 2-х мониторах с разными разрешениями.
Только, с 21 офисом проблемка со смещением возникла, но думаю можно как-нибудь решить. Вроде разница приблизительно на ширину и высоту формы.
 
Цитата
asesja написал:
Нужно как-то адаптировать с учетом версий VBA и разрядности офиса.
 
Цитата
написал:
Пример1_3.xlsm
testuser, Супер! Работает! Спасибо!
Попробую на разных системах когда будет возможность.
Страницы: 1
Наверх