2010-07-26 3 views
0

После того, как SetWindowPos(hwnd, HWND_NOTOPMOST, x, y, cx, cy, SWP_SHOWWINDOW), окно, состояние которого было предварительно увеличено, изменяет размер и изменяет положение, как ожидалось, но системное меню не изменяется и все еще отображает элементы меню для окна «в настоящее время», хотя оно больше не максимизируется.Как синхронизировать системное меню окна после SetWindowPos()?

PostMessage(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0) получает системное меню снова, но кажется, что я смешиваю две темы здесь, и это сообщение SC_RESTORE является излишним, так как это уже состояние окна.

Есть ли одна команда, которая изменяет размеры и переустанавливает окно, а также устанавливает системное меню для отображения нового состояния окна max/min/res?

ответ

1

Вы попробовали ::ShowWindow(SW_SHOWNORMAL);?

+0

Да, я попробовал ':: ShowWindow (SW_SHOWNORMAL)', но он изменяет размеры и переустанавливает окно в его «оригинальный» размер запуска, и я хочу, чтобы он соответствовал моим спецификациям. –