//这样就可以使当前窗口的关闭按钮变灰, 但系统菜单中会有一条多余的线var h: HMENU;begin h := GetSystemMenu(Handle, False); DeleteMenu(h, SC_CLOSE, MF_BYCOMMAND);end;//这样也可以是当前窗口的关闭按钮变灰, 同时也去掉了分割线var h: HMENU;begin h := GetSystemMenu(Handle, False); DeleteMenu(h, 6, MF_BYPOSITION); DeleteMenu(h, 5, MF_BYPOSITION);end;//这是使当前 MDI 子窗口关闭按钮变灰的方法(在 MDI 窗体对应的代码中使用)var h: HMENU;begin h := GetSystemMenu(ActiveMDIChild.Handle, False); DeleteMenu(h, 6, MF_BYPOSITION); DeleteMenu(h, 5, MF_BYPOSITION);end;//这是使所有 MDI 子窗口关闭按钮变灰的方法(在 MDI 窗体对应的代码中使用)var h: HMENU; i: Integer;begin for i := 0 to MDIChildCount - 1 do begin h := GetSystemMenu(MDIChildren[i].Handle, False); DeleteMenu(h, 6, MF_BYPOSITION); DeleteMenu(h, 5, MF_BYPOSITION); end;end;