xuyunhai Ответов: 1

как рассчитать позицию postmessage?


когда я хочу использовать API postmessage,который отправляет сообщение с одним щелчком мыши, я хочу знать, как вычислить положение компонента?

i konw четвертый параметр, который является положением, формула такова, что x+y*65536。
Но я не знаю, как получить значение x и y?
------------------------------------------------------------------------------------------------
может быть, я не очень хорошо объяснил,
я имею в виду, как получить координаты мыши x и y в клиенте.
после того,как получили координаты x и y, Как рассчитать и установить четвертый параметр.
так что я могу нажать где-нибудь, что мне нужно.

Sergey Alexandrovich Kryukov

Прежде всего, пожалуйста, прекратите публиковать не-ответы как "решение". Он может давать вам отчеты о злоупотреблениях, которые в конечном итоге могут привести к отмене вашего членства в CodeProject.
Комментируйте любые сообщения, отвечайте на доступные комментарии или используйте "улучшить вопрос" (выше).
Кроме того, имейте в виду, что участники получают уведомления только о посте, отправленном в ответ на эти сообщения.
—СА

xuyunhai

вы имеете в виду,что я не мог изменить свой пост, единственный способ-улучшить quetion?

Sergey Alexandrovich Kryukov

Зачем я тебе это сказал? Конечно, вы можете изменить любой из ваших постов в любое время.

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

—СА

xuyunhai

я понимаю,что не только принимаю решение,но и публикую его через "добавить свое решение здесь".

Sergey Alexandrovich Kryukov

Вы имеете в виду принятие вашего собственного решения или какого-то другого? Принятие своего я бы назвал обманом, но нет, вы этого не сделали, и это хорошо.
—СА

xuyunhai

Наконец-то я понимаю
,я могу улучшить вопрос,изменить свой пост,но не пост через "добавить свое решение здесь"(не ответы как "решение"),я использовал did this.it-это моя ошибка. спасибо, что напомнили.
Английский-это не мой родной язык,я пытаюсь его улучшить!

Sergey Alexandrovich Kryukov

Очень хорошо, спасибо за понимание.
—СА

Sergey Alexandrovich Kryukov

В этом вопросе нет никакого смысла. PostMessage не возвращает никакого значения, и эта "формула" - полная тарабарщина.
—СА

xuyunhai

я так не думаю,
когда я хочу, чтобы один клик где-то,
я могу установить позицию по четвертому параметру.

Sergey Alexandrovich Kryukov

Затем вы должны поговорить об обработке сообщения. Как это связано с PostMessage? В любом случае, вам нужно сформулировать свою проблему в деталях. Ваш пост трудно понять.
—СА

Stefan_Lang

Сергей имеет в виду, что PostMessage-это функция, которую вы можете вызвать, а не получить. Если вы вызовете PostMessage, он не вернет никакого значения. Вместо этого системе будет выдано сообщение, и система перешлет его возможным получателям.

Итак, да, вы можете вызвать PostMessage и тем самым имитировать эффект щелчка где-то. Но если вы заинтересованы в получении результата фактического щелчка или перемещения мыши, вы должны реализовать соответствующие обработчики событий для вашего окна(окон).

1 Ответов

Рейтинг:
2

KarstenK

разве вы не читали msdn? :безумный:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645616(v=против 85).aspx[^]


Они написаны:

Цитата:
параметр lparam
Слово нижнего порядка задает координату x курсора. Координата находится относительно верхнего левого угла клиентской области.
Слово высокого порядка задает координату y курсора. Координата находится относительно верхнего левого угла клиентской области.


x и y - это координаты, которые получили щелчок мыши в клиенте.


xuyunhai

да,вы правы,я видел msdn.
но я имею в виду, как получить координаты мыши x и y в клиенте.
может быть, я не очень хорошо объяснил.

KarstenK

google: "получить координаты мыши c++"

если ты где мой коллега-друг: это делает мороженое или пиво ;-)