Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.16.130.1] |
|
Сообщ.
#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 как раз работает как надо
|