默认情况下,具有BorderStyle = bsSizeable的表单具有系统菜单(在左侧)和关闭按钮(在右侧的"X").我想摆脱系统菜单并保持关闭按钮.
BorderIcons属性允许我删除系统菜单(通过biSystemmenu),但现在关闭按钮也消失了.
有没有办法做到这一点?
使用Delphi XE
PS:就Windows而言应该是可能的:IE8的"InPrivate过滤设置"窗口很大,有一个关闭按钮,没有系统菜单.
我认为没有办法做到这一点而不诉诸自定义绘制非客户区域,这在涉及玻璃时非常困难。
考虑这个方法。
procedure TMyForm.DeleteSystemMenu;
var
SystemMenu: HMenu;
begin
SystemMenu := GetSystemMenu(Handle, False);
DeleteMenu(SystemMenu, SC_CLOSE, MF_BYCOMMAND);
end;
Run Code Online (Sandbox Code Playgroud)
是的,它成功地从系统菜单中删除了关闭项目,但它也导致关闭按钮被禁用。如此看来,两者缺一不可。
| 归档时间: |
|
| 查看次数: |
5991 次 |
| 最近记录: |