|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.02.2016, 20:33 | #1 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Разница при определении координат клика между 2мя Пк
Имеется программа которая определяет координаты клика по программе при нажатии:
Код:
-Разрешение мониторов 1440х900 и 1920х1080 При разрешении программы по которой кликаю 1366х768( клиентская область) на Пк с фул HD разрешением все норм показывает, а на мониторе 1440х900 если кликнуть по крайнему правому нижниму углу программы будет где то 1344 на 708 ( а на фул HD мониторе нормально как и должно быть около 1366 х768) Если кликнуть по крайнему левому вернему углу программы мышкой на мониторе 1440х900 покажет около 20х60, а на фул HD около 0х0 как и должно быть. Походу определение координат отличается на различных мониторах?( Винда там и там 7мерка. Последний раз редактировалось Illusiony; 21.02.2016 в 20:43. |
21.02.2016, 20:59 | #2 |
Пользователь
Регистрация: 02.05.2012
Сообщений: 45
|
вместо перевода координат "экран - окно" вручную воспользуйтесь ScreenToClient function
Skype: cotseec
ICQ: 330-171-495 |
21.02.2016, 21:05 | #3 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
А теперь вроде ничего не менял но одинаково правильно на двух Пк. Странно, как это...
|
21.02.2016, 23:02 | #4 | |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Цитата:
Код:
Находил примеры с Windows. GetCursorPos() и просто GetCursorPos(). В чем разница? Последний раз редактировалось Illusiony; 21.02.2016 в 23:19. |
|
21.02.2016, 23:45 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
ScreenToClient - это метод TControl и его наследников , так же как и ClientToScreen. В том числе и формы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 21.02.2016 в 23:49. |
21.02.2016, 23:47 | #6 |
Пользователь
Регистрация: 02.05.2012
Сообщений: 45
|
Windows - пространство имен (название модуля), в котором описана требуемая функция (чтобы компилятору было однозначно ясно какую конкретно функцию использовать), если нет одноименной функции, описанной в ином модуле, то Windows (в данном случае) не требуется
Skype: cotseec
ICQ: 330-171-495 |
21.02.2016, 23:48 | #7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Это указание модуля, из которого взять функцию, требуется редко, только если используете у себя в проекте (а точнее в текущем модуле) два разных модуля с одинаковыми по имени функциями. В данном случае ScreenToClient может браться и из модуля Windows и из модуля Controls (если не ошибаюсь), и вот чтобы убрать возможную неоднозначность, используется это явное указание для компилятора.
|
24.02.2016, 19:44 | #8 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Всем спасибо. Тут еще вопросик,можно ли как то по простому сделать скриншот клиентской области окна чужого приложения?
У меня такое : Код:
Последний раз редактировалось Illusiony; 24.02.2016 в 19:50. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi: организовать шифрованный обмен данными между 2мя функциями | ruskod.net | Фриланс | 3 | 04.01.2014 16:10 |
Народ, разница в определении структур. Чем отличается. | xe3 | Общие вопросы C/C++ | 8 | 06.02.2013 12:27 |
Ошибка при определении принтера | Robin_ | Общие вопросы Delphi | 1 | 14.12.2008 02:05 |
Разница между датами | deenka | БД в Delphi | 3 | 31.01.2008 13:21 |