Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > SetWindowPos() |
Автор: S.A.G. 20.7.2009, 15:51 | ||
Почему не проходит последний вызов? Что нужно делать с параметрами, которые не используются? Есть ли еще какие-то функции, которые позволяют сдвинуть контрол? |
Автор: niteo 20.7.2009, 16:08 | ||||
По идее этого достаточно. Только не понятно, он у тебя исчезает
или не двигается????
Если исчезает, пробуй убрать флаг SWP_NOZORDER Флаг SWP_NOSIZE грит что 5 и 6 параметр не используются, это точки нижнего правого угла окна. А так сматри MSDN. |
Автор: GremlinProg 20.7.2009, 16:40 | ||
это координаты окна относительно левого-верхнего угла экрана, а SetWindowPos ждет координат относительно родительского окна т.е. перед SetWindowPos нужно их преобразовать:
это ширина и высота окна Добавлено через 1 минуту и 16 секунд кстати есть функция попроще GetWindowInfo: GetWindowRect |
Автор: S.A.G. 20.7.2009, 17:09 |
GremlinProg, спасибо, невнимательный я что-то |
Автор: DrHex 21.7.2009, 11:26 |
MoveWindow - вроде быстрее(наверное из за перересовки) |
Автор: Andrey44 21.7.2009, 12:39 |
MoveWindow - внутри себя вызывает апишную функцию. Отгадайте с трех раз какую? ![]() |
Автор: DrHex 21.7.2009, 13:11 |
Упс...... |
Автор: S.A.G. 21.7.2009, 16:04 |
GremlinProg, а существует ли функция, которая сразу возвращает координаты контрола в клиентских координатах родительского окна? |
Автор: S.A.G. 21.7.2009, 17:13 |
GremlinProg, спс, применил мап, просто я думал, может есть функция, которая возвращает сразу в клиентских - на один вызов было бы меньше. |
Автор: GSasha 21.7.2009, 18:39 |
GetClientRect - не пробовал? |