Вопрос № 102554: Добрых суток гспода программисты!!! помница мне этот вопрос задавался, но непомню на него ответа, какая АПИ`шка переводит с глобалиьной сис. координат в глобальную,т.е я получил RECT окна -
invoke GetWindowRect,hWnd,addr R
здесь нужная API<...
Вопрос № 102.554
Добрых суток гспода программисты!!! помница мне этот вопрос задавался, но непомню на него ответа, какая АПИ`шка переводит с глобалиьной сис. координат в глобальную,т.е я получил RECT окна -
invoke GetWindowRect,hWnd,addr R
здесь нужная API
т.е сейчас я обновляю окно по координатам раб. стола
invoke InvalidateRect,hWnd,addr R,0
invoke UpdateWindow,hWnd
Отвечает: Aristos
Здравствуйте, Новак Александр Васильевич!
Для перевода из одной оконной системы координат в другую, в том числе экранную, служит ряд функций:
BOOL ScreenToClient(HWND hWnd, LPPOINT lpPoint); - перевод из экранной СК в оконную
BOOL ClientToScreen(HWND hWnd, LPPOINT lpPoint); - перевод из оконной СК в экранную
и универсальная
int MapWindowPoints(HWND hWndFrom, HWND hWndTo, LPPOINT lpPoints, UINT cPoints); - для перевода массива точек (или RECT) из одной оконной СК в другую. Экран имеет описатель HWND_DESKTOP равный NULL.
--------- нет ничего невозможного
Ответ отправил: Aristos (статус: 6-ой класс)
Ответ отправлен: 18.09.2007, 23:31 Оценка за ответ: 5
Отвечает: Geograph
Здравствуйте, Новак Александр Васильевич!
Да действительно такой вопрос был. Его задавал я :) и вот что мне помогло (приведу функцию, которая обновляет определенный объект). Я использовал RedrawWindow, т.к. при перерисовке меньше мерцает, но InvalidateRect тоже работает
Приложение:
Ответ отправил: Geograph (статус: 1-ый класс)
Ответ отправлен: 19.09.2007, 09:55 Оценка за ответ: 5 Комментарий оценки: Вопрос помню, а ответ - НЕТ. на этот раз записал, т.к. уж очень часто он встречается %-)