Если вы посмотрите на окна браузеров Firefox, Chrome или Opera, вы заметите, что их окна
- есть кнопки сворачивания / разворота / закрытия
- можно изменить размер
- но без заголовка
Мне интересно: как мне создать такое окно?
Что я уже пробовал:
Я посмотрел на StackOverflow (и тоже гуглил) и обнаружил следующее: открытие окна без строки заголовка с win32
К сожалению, это не помогло полностью:
Первым шагом было расширение решения, предложенного на , открыв окно без строки заголовка с win32
hWnd = CreateWindow(szWindowClass, szTitle, WS_BORDER,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL);
SetWindowLong(hWnd, GWL_STYLE, WS_SIZEBOX);
// See remarks on http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545.aspx
SetWindowPos(hWnd, 0,
0, 0, 0, 0, // Position + Size
SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
Конечно, это не дает кнопок минимизации / максимизации, но, с другой стороны, если я хочу кнопки минимизации / максимизации, мне нужно сделать:
SetWindowLong(hWnd, GWL_STYLE, WS_SIZEBOX | WS_MAXIMIZEBOX |
WS_MINIMIZEBOX | WS_SYSMENU | WS_CAPTION);
Почему эта комбинация кажется необходимой? Сначала я, вероятно, хочу WS_MAXIMIZEBOX | WS_MINIMIZEBOX
, так как я хочу эти кнопки.
Но http://msdn.microsoft.com/en-us/library/ms632600.aspx говорит, что если я установил один из WS_MAXIMIZEBOX
и WS_MINIMIZEBOX
, я также должен установить WS_SYSMENU
. И когда я устанавливаю WS_SYSMENU
, я также должен установить WS_CAPTION
, но это не то, что я хочу, потому что я хотел избежать строки заголовка (действительно: если WS_CAPTION
не установлен, кнопки сворачивания / разворачивания не отображаются ).
Так что же делать?