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



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

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

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

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

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

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



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

Код: plaintext
1.
MoveWindow



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

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



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

Код: plaintext
1.
MoveWindow



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

Dimitry SibiryakovНужные. Не знаю что у тебя за компонент, но API функция MoveWindow принимает в качестве
параметров новую ширину и высоту окна.
...
Рейтинг: 0 / 0
Объясните, как пользоваться функцией MoveWindow?
    #39805381
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Объясните, как пользоваться функцией MoveWindow?
    #39805628
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevSergey_rbМеня терзают смутные сомнения, что функция
Код: plaintext
1.
GetWindowRect



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

Код: plaintext
1.
MoveWindow



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

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


Мне не нужна новая ширина и высота, мне нужно сохранить старую ширину и высоту!
...
Рейтинг: 0 / 0
Объясните, как пользоваться функцией MoveWindow?
    #39805631
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Объясните, как пользоваться функцией MoveWindow?
    #39805951
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb, возможно, надо сначала использовать функцию AdjustWindowRectEx, для получения правильного RECT перемещаемого окна.
...
Рейтинг: 0 / 0
Объясните, как пользоваться функцией MoveWindow?
    #39805994
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbMasterZivпропущено...


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

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

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


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