FAQ:WinAPI VCPP:отключить системное меню — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
(Новая: ===Как в главном окне отключить системное меню (в левом верхнем углу) и кнопки (в правом верхнем углу)?=== ...)
 
 
Строка 28: Строка 28:
  
 
Пример 2. (для диалога)
 
Пример 2. (для диалога)
 +
 
Если диалог описан в ресурсах, то в свойствах диалога убрать галочки:
 
Если диалог описан в ресурсах, то в свойствах диалога убрать галочки:
 
* "System menu"
 
* "System menu"

Текущая версия на 15:36, 3 октября 2009

Как в главном окне отключить системное меню (в левом верхнем углу) и кнопки (в правом верхнем углу)?

При создании окна нужно убрать стиль 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"