Как запретить кнопку Close в заголовке окна
|
Вот кусок, который делает все, что тебе нужно: procedure TForm1.FormCreate(Sender: TObject); var Style: Longint; begin Style := GetWindowLong(Handle, GWL_STYLE); SetWindowLong(Handle, GWL_STYLE, Style And Not WS_SYSMENU); end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_F4) and (ssAlt in Shift) then begin MessageBeep(0); Key := 0; end; end;
{ Disable close button } var SysMenu: HMenu; begin SysMenu := GetSystemMenu(Handle, False); Windows.EnableMenuItem(SysMenu, SC_CLOSE, MF_DISABLED or MF_GRAYED); end;
{ Enable close button } procedure TForm1.Button2Click(Sender: TObject); begin GetSystemMenu(Handle, True); Perform(WM_NCPAINT, Handle, 0); end; Но это окно можно закрыть из TaskBar'а. |