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

start [/forum/topic.php?fid=16&msg=35169772&tid=1345459]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 479ms |

| 0 / 0 |
