Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объясните, как пользоваться функцией MoveWindow? / 13 сообщений из 13, страница 1 из 1
22.04.2019, 17:00
    #39805002
Sergey_rb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Функция, кроме перемещения контрола на форме, меняет его размер.
Код: plaintext
1.
2.
3.
   RECT r;
   comp->GetWindowRect(&r);  //Сохраняю текущую позицию
   comp->MoveWindow(left_,top_,r.right, r.bottom);// Перемещаю контрол



Контрол перемещается, но при этом изменяется размер контрола
Какие значения надо подставлять в параметры 3 и 4 что бы размер контрола не менялся?
...
Рейтинг: 0 / 0
22.04.2019, 17:12
    #39805005
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Sergey_rbКакие значения надо подставлять в параметры 3 и 4 что бы размер контрола не менялся?

Нужные. Не знаю что у тебя за компонент, но API функция MoveWindow принимает в качестве
параметров новую ширину и высоту окна.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.04.2019, 17:35
    #39805019
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Dimitry Sibiryakovв качестве параметров новую ширину и высоту окна.

а что бы "не менялся", достаточно просто передать старые ( C ) Ваш КО
...
Рейтинг: 0 / 0
22.04.2019, 17:58
    #39805035
Cerebrum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Sergey_rbКонтрол перемещается, но при этом изменяется размер контрола
Какие значения надо подставлять в параметры 3 и 4 что бы размер контрола не менялся?
используй SetWindowPos вместе с флагом SWP_NOSIZE
...
Рейтинг: 0 / 0
23.04.2019, 09:17
    #39805181
Sergey_rb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Leonid KudryavtsevDimitry Sibiryakovв качестве параметров новую ширину и высоту окна.

а что бы "не менялся", достаточно просто передать старые ( C ) Ваш КО

Перебрал все варианты, все равно контрол меняет свою высоту

Код: plaintext
1.
comp->MoveWindow(r.left,r.top,r.right, r.bottom);
...
Рейтинг: 0 / 0
23.04.2019, 09:24
    #39805185
Sergey_rb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Меня терзают смутные сомнения, что функция
Код: plaintext
1.
GetWindowRect



возвращает координаты относительно левого верхнего угла экрана,
а функция

Код: plaintext
1.
MoveWindow



устанавливает координаты относительно левого верхнего угла формы!
...
Рейтинг: 0 / 0
23.04.2019, 12:24
    #39805316
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Sergey_rbМеня терзают смутные сомнения

Ну так рассей их, прочитай уже документацию по используемым функциям.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.04.2019, 13:13
    #39805346
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Sergey_rbМеня терзают смутные сомнения, что функция
Код: plaintext
1.
GetWindowRect



возвращает координаты относительно левого верхнего угла экрана,
а функция

Код: plaintext
1.
MoveWindow



устанавливает координаты относительно левого верхнего угла формы!

Dimitry SibiryakovНужные. Не знаю что у тебя за компонент, но API функция MoveWindow принимает в качестве
параметров новую ширину и высоту окна.
...
Рейтинг: 0 / 0
23.04.2019, 14:14
    #39805381
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Sergey_rbФункция, кроме перемещения контрола на форме, меняет его размер.
Код: plaintext
1.
2.
3.
   RECT r;
   comp->GetWindowRect(&r);  //Сохраняю текущую позицию
   comp->MoveWindow(left_,top_,r.right, r.bottom);// Перемещаю контрол



Контрол перемещается, но при этом изменяется размер контрола
Какие значения надо подставлять в параметры 3 и 4 что бы размер контрола не менялся?

Потому что ты меняешь RECT окна. LEFT, TOP берёшь от одного места, RIGHT, BOTTOM -- от другого.

Надо взять r и переместить его в новые left_,top_, и потом уже вызывать MoveWindow
...
Рейтинг: 0 / 0
24.04.2019, 08:57
    #39805628
Sergey_rb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Leonid KudryavtsevSergey_rbМеня терзают смутные сомнения, что функция
Код: plaintext
1.
GetWindowRect



возвращает координаты относительно левого верхнего угла экрана,
а функция

Код: plaintext
1.
MoveWindow



устанавливает координаты относительно левого верхнего угла формы!

Dimitry SibiryakovНужные. Не знаю что у тебя за компонент, но API функция MoveWindow принимает в качестве
параметров новую ширину и высоту окна.


Мне не нужна новая ширина и высота, мне нужно сохранить старую ширину и высоту!
...
Рейтинг: 0 / 0
24.04.2019, 08:59
    #39805631
Sergey_rb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
MasterZivSergey_rbФункция, кроме перемещения контрола на форме, меняет его размер.
Код: plaintext
1.
2.
3.
   RECT r;
   comp->GetWindowRect(&r);  //Сохраняю текущую позицию
   comp->MoveWindow(left_,top_,r.right, r.bottom);// Перемещаю контрол



Контрол перемещается, но при этом изменяется размер контрола
Какие значения надо подставлять в параметры 3 и 4 что бы размер контрола не менялся?

Потому что ты меняешь RECT окна. LEFT, TOP берёшь от одного места, RIGHT, BOTTOM -- от другого.

Надо взять r и переместить его в новые left_,top_, и потом уже вызывать MoveWindow

С перемещением проблем нет, проблема с сохранением ширины и высоты
...
Рейтинг: 0 / 0
25.04.2019, 05:19
    #39805951
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Sergey_rb, возможно, надо сначала использовать функцию AdjustWindowRectEx, для получения правильного RECT перемещаемого окна.
...
Рейтинг: 0 / 0
25.04.2019, 08:33
    #39805994
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните, как пользоваться функцией MoveWindow?
Sergey_rbMasterZivпропущено...


Потому что ты меняешь RECT окна. LEFT, TOP берёшь от одного места, RIGHT, BOTTOM -- от другого.

Надо взять r и переместить его в новые left_,top_, и потом уже вызывать MoveWindow

С перемещением проблем нет, проблема с сохранением ширины и высоты
Ёпта, ну почитай же документацию. В структуру RECT занесены координаты левого верхнего и нижнего правого углов прямоугольника, а ты их используешь для указания ширины и высоты. Или получай ширину и высоту другим способом, или вычисляй ширину и высоту методом вычитания правый-левый, нижний-верхний.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объясните, как пользоваться функцией MoveWindow? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]