powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос по ресайзу дочернего окна. WinApi / C
7 сообщений из 7, страница 1 из 1
Вопрос по ресайзу дочернего окна. WinApi / C
    #35167440
Devoice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем проблема такая - нужно чтобы у дочернего окна нельзя было менять размеры, все кроме высоты , менять нужно только правые нижние координаты.
Первый вопрос который приходит на мозг ) это возможно ли сделать так чтобы при наведении курсора на рамку/бордюр окна (лево-верх-право) не изменялся курсор и нельзя было менять размер.
Что у меня пока получилось, это при ресайзе окна вызывается функция MoveWindow и окну возвращается прежний вид, но есть проблемы не знаю как избавится от мерцания в окне, и вторая мне непонятная проблема - если я делаю ресайз нижней частью бордюра окна то все норм проходит , а если я пытаюсь делать ресайз любой другой стороной окна(после чего MoveWindow мне должна его вернуть на место) то ширина окна почему-то увеличивается(вниз) одинаковыми шагами после каждого ресайза, все остальное остается на месте.
Ну вот думаю понятно описал суть проблемы, может кто поможет решить или подскажет в какую сторону думать.

Немного псевдокода как делаю

Код: plaintext
1.
2.
WM_SIZE
GetWindowRect (Child, Rect);
MoveWindow (Child,  0 , 0 ,Rect.Right,Rect.Bottom, TRUE);
...
Рейтинг: 0 / 0
Вопрос по ресайзу дочернего окна. WinApi / C
    #35167479
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курить WM_GETMINMAXINFO.
Позволяет реализовать ЛЮБЫЕ варианты (ну или почти любые...)
...
Рейтинг: 0 / 0
Вопрос по ресайзу дочернего окна. WinApi / C
    #35167707
Devoice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да , как раз сейчас ищу толковое описалово, кода под рукой нет проверить не могу. И остается еще мерцание, если WM_GETMINMAXINFO спасет.
...
Рейтинг: 0 / 0
Вопрос по ресайзу дочернего окна. WinApi / C
    #35167731
Devoice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да , как раз сейчас ищу толковое описалово, кода под рукой нет проверить не могу. И остается еще мерцание, если WM_GETMINMAXINFO спасет.
...
Рейтинг: 0 / 0
Вопрос по ресайзу дочернего окна. WinApi / C
    #35168960
Devoice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что-то с WM_GETMINMAXINFO не получается закрепить левый верхний угол а именно координату - y сизабельна остается так же как и снизу.
...
Рейтинг: 0 / 0
Вопрос по ресайзу дочернего окна. WinApi / C
    #35169772
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Devoiceчто-то с WM_GETMINMAXINFO не получается закрепить левый верхний угол а именно координату - y сизабельна остается так же как и снизу.
Может быть, WM_SIZING спасет гиганта мысли? :)
...
Рейтинг: 0 / 0
Вопрос по ресайзу дочернего окна. WinApi / C
    #35170311
Devoice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот что спасает WM_NCHitTest
т.е. нужно отловить это сообщение и если курсор стоит на бордюре HTBOTTOM нижнем то не делать ничего, а если курсор попал на любую другую точку бордюра - углы-верх-лево-право, то подменить сообщение например на то что якобы курсор в клиенте а не на бордюре.
так думаю понятно будет.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос по ресайзу дочернего окна. WinApi / C
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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