ОБСУЖДЕНИЕ

Глобальные координаты координаты клиентской области контрола

14 ответов 10,6 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Доброго времени суток!

Мне нужно какимто образом узнать глобальные координаты координаты клиентской области контрола.
Точнее нужно узнать координаты мыши относительно клиентской области заданного контрола.

Заранее спасибо ;)
 
когда?
 
Что "когда"?
 
Когда вам надо "узнать координаты мыши относительно клиентской области заданного контрола"?
 
ем... Просто у меня есть свойство MyMouse.X, которое должно возвращять не глобальную позицию мыши, а её позицыю относительно контрола, переданного в конструкторе класса MyMouse.
 
Jack270 .... зайдем с другой стороны ... глобальные мыши знаете, контрола тоже, в чем проблемма? далее арифметические действия.
 
Проблема в том, что если контрол - окно, то мне нужно узнать координаты не относительно края окна, а относительно края его клиентской области. Вот потому мне и нужно узнать координаты клиентской области.
 
У контролов есть размеры общие и размеры клиентской части, опять не понятно в чем затруднения у вас ... ширина_общая - ширина_клиентская - дает "сдвиг", что еще не хватает?
 
Но у окана ведь этот "сдвиг" есть и вверху и внизу. А получится их сумма ;)
 
Где и главное с какого перепуга "получится их сумма"?

Вы возмите чистый листик и карандаш, нарисуйте на листике карандашом ваше окно и расставте, хотябы примерные, координаты всех инетерсующихпозиций.
Далее все темже карандашем, на том же листике, распишите как должны происходить расчеты, и поймете что все у вас уже есть, за исключением соотв. кода.
И вот самое время перекинуть все эти изыскания в код.

Jack270 Упс, я понял про сумму, на 2 разделить надо разницу чтоб получить тот самый "сдвиг".
Ну "прощелкал" я ;), так додуматься ж можно ... всеж люди.
 
...
Вот окно:
3c41e97dd209.jpg

Думаю ты понял... Вот как мне найти это 30 или 5?(учитывая то, что при изменении стиля оформления эти величины меняются ;) )
 
И что? за вас решить эту задачу для 3-класса? Или лень в справку заглянуть и просите других это сделать? а между тем там тоже все про это рассписанно, и где и какие бордеры и где и какие заголовки. Я за вас это делать не буду, или только за вознагрождение ;)
Яж вам предлагал, на листике надо, на листике.

А еще окно может иметь скролбары, тоже в клиентскую не попадают, вот где засада, все ... координаты невозможно посчитать ... все пропало. :)

PS: подсыплю ... и меню туда не входит ...
 
... Ну даже если предположить, что окно чистое, то я всёровно не нашел нужной инфы ;)
Свойство ClientRectangle, класса Control возвращяет только размер, а в Top и Left нули :)
 
Да вы так не расстраивайтесь, в этом мире все проходит, пройдет и это ;)
 
ClientOrigin
 
Статус
Закрыто для дальнейших ответов.