Как узнать минимальную ширину окна?
От: Fortnum  
Дата: 16.04.10 12:27
Оценка:
По ширине не получается сделать окно меньше некоего предела.
На моем компьютере это 123px.
Как программно узнать это число?



PS. И с высотой аналогично.
Re: Как узнать минимальную ширину окна?
От: saf_e  
Дата: 16.04.10 14:52
Оценка: 2 (1)
Здравствуйте, Fortnum, Вы писали:

F>По ширине не получается сделать окно меньше некоего предела.

F>На моем компьютере это 123px.
F>Как программно узнать это число?

F>


F>PS. И с высотой аналогично.


GetSystemMetrics
SM_CXMINTRACK
Minimum tracking width of a window, in pixels. The user cannot drag the window frame to a size smaller than these dimensions. A window can override this value by processing the WM_GETMINMAXINFO message.
Re: Как узнать минимальную ширину окна?
От: goto Россия  
Дата: 16.04.10 14:56
Оценка:
Здравствуйте, Fortnum, Вы писали:

F>По ширине не получается сделать окно меньше некоего предела.

F>На моем компьютере это 123px.
F>Как программно узнать это число?

F>


F>PS. И с высотой аналогично.


На уровне попробовать. Для стандартного окна позвать AdjustWindowRectEx(), передав в качестве параметра прямоугольник с нулевыми размерами.

Но поскольку в окне-вообще, чужом могут присутствовать другие элементы со своим поведением, и все хозяйство может управляться своим менеджером, то, видимо, остается только уменьшать окно каким-нибудь MoveWindow, пока оно не перестанет уменьшаться.
Re: Как узнать минимальную ширину окна?
От: c-smile Канада http://terrainformatica.com
Дата: 16.04.10 15:56
Оценка:
Здравствуйте, Fortnum, Вы писали:

F>По ширине не получается сделать окно меньше некоего предела.


Вызвать метод WM_GETMINMAXINFO.
Re: Как узнать минимальную ширину окна?
От: andy_84 Россия  
Дата: 17.04.10 07:28
Оценка:
Здравствуйте, Fortnum, Вы писали:

F>По ширине не получается сделать окно меньше некоего предела.

F>PS. И с высотой аналогично.

См. тут
Re[2]: Как узнать минимальную ширину окна?
От: Pavel Dvorkin Россия  
Дата: 18.04.10 03:09
Оценка: +1
Здравствуйте, c-smile, Вы писали:

CS>Вызвать метод WM_GETMINMAXINFO.


Нет такого метода, а есть только сообщение, которое посылать не нужно, потому что его посылает система сама.
With best regards
Pavel Dvorkin
Re[3]: Как узнать минимальную ширину окна?
От: c-smile Канада http://terrainformatica.com
Дата: 19.04.10 05:12
Оценка: :))
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, c-smile, Вы писали:


CS>>Вызвать метод WM_GETMINMAXINFO.


PD>Нет такого метода, а есть только сообщение, которое посылать не нужно, потому что его посылает система сама.


Упс... таки да. Как дайдет до Канады пепел от Eyjafjallajökull так сразу голову и посыплю.
Re[2]: Как узнать минимальную ширину окна?
От: kero Россия  
Дата: 19.04.10 05:46
Оценка:
F>>По ширине не получается сделать окно меньше некоего предела.
F>>На моем компьютере это 123px.
F>>Как программно узнать это число?

_>GetSystemMetrics

_>SM_CXMINTRACK
_>Minimum tracking width of a window, in pixels. The user cannot drag the window frame to a size smaller than these dimensions. A window can override this value by processing the WM_GETMINMAXINFO message.

На всякий случай: а еще есть WS_EX_TOOLWINDOW.
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[3]: Как узнать минимальную ширину окна?
От: saf_e  
Дата: 20.04.10 11:02
Оценка: +1
Здравствуйте, kero, Вы писали:

F>>>По ширине не получается сделать окно меньше некоего предела.

F>>>На моем компьютере это 123px.
F>>>Как программно узнать это число?

_>>GetSystemMetrics

_>>SM_CXMINTRACK
_>>Minimum tracking width of a window, in pixels. The user cannot drag the window frame to a size smaller than these dimensions. A window can override this value by processing the WM_GETMINMAXINFO message.

K>На всякий случай: а еще есть WS_EX_TOOLWINDOW.


И что это меняет? WM_GETMINMAXINFO не отрабатывается? Или стили на него не влияют? И что тогда делать? А если знали все эти ответы почему сразу не сказали?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.