FAQ:WinAPI VCPP:отключить системное меню
Материал из Весельчак У
Версия от 15:36, 3 октября 2009; RXL (обсуждение | вклад)
Как в главном окне отключить системное меню (в левом верхнем углу) и кнопки (в правом верхнем углу)?
При создании окна нужно убрать стиль WS_SYSMENU. Теперь пользователь корректно может закрыть окно только Alt+F4, ну, или если вы предоставите ему дополнительную возможность сделать это.
Пример 1. (для SDI, MDI)
// этот обработчик уже добавлен визардом BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if (!CFrameWnd::PreCreateWindow(cs)) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs /////////////////////////////// // добавленная часть { // убираем стиль cs.style& = ~WS_SYSMENU; } /////////////////////////////// return TRUE; }
Пример 2. (для диалога)
Если диалог описан в ресурсах, то в свойствах диалога убрать галочки:
- "System menu"
- "Minimize box"
- "Maximize box"