
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.03.2008, 16:08
|
|||
|---|---|---|---|
|
|||
Вопрос по ресайзу дочернего окна. WinApi / C |
|||
|
#18+
Вобщем проблема такая - нужно чтобы у дочернего окна нельзя было менять размеры, все кроме высоты , менять нужно только правые нижние координаты. Первый вопрос который приходит на мозг ) это возможно ли сделать так чтобы при наведении курсора на рамку/бордюр окна (лево-верх-право) не изменялся курсор и нельзя было менять размер. Что у меня пока получилось, это при ресайзе окна вызывается функция MoveWindow и окну возвращается прежний вид, но есть проблемы не знаю как избавится от мерцания в окне, и вторая мне непонятная проблема - если я делаю ресайз нижней частью бордюра окна то все норм проходит , а если я пытаюсь делать ресайз любой другой стороной окна(после чего MoveWindow мне должна его вернуть на место) то ширина окна почему-то увеличивается(вниз) одинаковыми шагами после каждого ресайза, все остальное остается на месте. Ну вот думаю понятно описал суть проблемы, может кто поможет решить или подскажет в какую сторону думать. Немного псевдокода как делаю Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2008, 16:18
|
|||
|---|---|---|---|
|
|||
Вопрос по ресайзу дочернего окна. WinApi / C |
|||
|
#18+
Курить WM_GETMINMAXINFO. Позволяет реализовать ЛЮБЫЕ варианты (ну или почти любые...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2008, 17:07
|
|||
|---|---|---|---|
|
|||
Вопрос по ресайзу дочернего окна. WinApi / C |
|||
|
#18+
да , как раз сейчас ищу толковое описалово, кода под рукой нет проверить не могу. И остается еще мерцание, если WM_GETMINMAXINFO спасет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2008, 17:13
|
|||
|---|---|---|---|
|
|||
Вопрос по ресайзу дочернего окна. WinApi / C |
|||
|
#18+
да , как раз сейчас ищу толковое описалово, кода под рукой нет проверить не могу. И остается еще мерцание, если WM_GETMINMAXINFO спасет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.03.2008, 11:20
|
|||
|---|---|---|---|
|
|||
Вопрос по ресайзу дочернего окна. WinApi / C |
|||
|
#18+
что-то с WM_GETMINMAXINFO не получается закрепить левый верхний угол а именно координату - y сизабельна остается так же как и снизу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.03.2008, 14:33
|
|||
|---|---|---|---|
|
|||
Вопрос по ресайзу дочернего окна. WinApi / C |
|||
|
#18+
Devoiceчто-то с WM_GETMINMAXINFO не получается закрепить левый верхний угол а именно координату - y сизабельна остается так же как и снизу. Может быть, WM_SIZING спасет гиганта мысли? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.03.2008, 16:17
|
|||
|---|---|---|---|
|
|||
Вопрос по ресайзу дочернего окна. WinApi / C |
|||
|
#18+
вот что спасает WM_NCHitTest т.е. нужно отловить это сообщение и если курсор стоит на бордюре HTBOTTOM нижнем то не делать ничего, а если курсор попал на любую другую точку бордюра - углы-верх-лево-право, то подменить сообщение например на то что якобы курсор в клиенте а не на бордюре. так думаю понятно будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1345459]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 451ms |

| 0 / 0 |
