15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту

Borland C++ Builder FAQ
Составлен по материалам форума на Исходниках.Ru
Содержание Последнее обновление: 14.02.2004

Можно ли отключить кнопку закрытия моего окна?

Автор: OlegGG
Исходная ссылка: - - -

HWND hWnd = Form1->Handle; // здесь Handle нужного окна
HMENU hMenu = GetSystemMenu(hWnd, false);
if (hMenu)
        {
        EnableMenuItem(hMenu, SC_CLOSE, MF_GRAYED);
        }

Если необходимо удалить пункт меню "Закрыть", то вместо "EnableMenuItem(hMenu........" пишем:
DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND);
А если захотелось поиздеваться над пользователем, то пишем:
EnableMenuItem(hMenu, SC_CLOSE, MF_DISABLED);
Тогда кнопка "X" будет "выключена", зато пункт меню "Закрыть" будет "включен", хотя работать он не будет :)