
![]() |
||
Наши проекты: | Журнал · Discuz!ML · Алгоритмы · Естественные науки · Wiki · DRKB · Помощь проекту |
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | DigiMania | RSS |
[54.81.166.196] |
![]() |
![]() |
Сообщ. #1,
|
|
Создаётся окно WS_OVERLAPPED (не WS_OPERLAPPEDWINDOW, т.е. с неменяемым размером). Мне нужно сделать его таким, чтобы клиентская часть была нужного мне размера. Беда в том, что функция AdjustWindowRectEx, которая для этого предназначена (получить размер окна по размеру клиентской части) почему-то не работает со стилем WS_OVERLAPPED (о чём написано в MSDN). Как быть? Если я использую WS_OVERLAPPEDWINDOW (в AdjustWindowRectEx), получается слишком большой размер. Если не использую AdjustWindowRectEx, получается слишком маленькое окно.
Подскажите, как быть? Добавлено WS_OVERLAPPED or WS_SYSMENU, если точнее... ![]() ![]() ![]() |
![]() |
Сообщ. #2,
|
|
Есть, конечно, вариант с GetClientRect, но хочется получить размер предварительно, а не после создания окна.
Но если вариантов нет, тогда ладно... ![]() ![]() ![]() |
Сообщ. #3,
|
|
|
Цитата Jin X @ почему-то не работает со стилем WS_OVERLAPPED (о чём написано в MSDN) Обрати внимание, что WS_OVERLAPPED = 0, т.е. это не какой-то конкретный набор стилей, а некий стиль по умолчанию, который "понимает" CreateWindowEx, но по какой-то причине (возможно, исторической) не "понимает" AdjustWindowRectEx, которой нужен конкретный набор стилей > 0. Попробуй заменить WS_OVERLAPPED на набор конкретных стилей типа WS_POPUP + WS_CAPTION + WS_BORDER + ... |
![]() |
Сообщ. #4,
|
|
leo, да, спасибо, WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or WS_MINIMIZEBOX как раз работает как надо
![]() ![]() ![]() ![]() |