关于对系统按钮的禁用 (30分)

  • 主题发起人 主题发起人 Solid_Snake
  • 开始时间 开始时间
S

Solid_Snake

Unregistered / Unconfirmed
GUEST, unregistred user!
就是禁用最大化,最小化,关闭等系统按钮,如果我要使用最大化按钮,不使用delphi提供的属性完成,使用api,调用GetSystemMenu得到菜单句柄以后再如何做呢?
 
用Api函数  DeleteMenu();
 
具体如何用,谢谢了。
 
EnableMenuItem(hSysMenu,SC_CLOSE,MF_DISABLED or MF_GRAYED); &nbsp; &nbsp;//hSysMenu是HENU<br>EnableMenuItem(hSysMenu,SC_MINIMIZE,MF_DISABLED or MF_GRAYED);<br>EnableMenuItem(hSysMenu,SC_MAXIMIZE,MF_DISABLED or MF_GRAYED);<br>第1个关闭按钮可用,后两个最小化,最大化没有反应,很怪,为什莫?
 
不用这样呀,设置 Form 的 BorderIcons 属性,关闭 SystemMenu 即可,如下:<br>&nbsp; Form1.BorderIcons = [];<br>或者<br>&nbsp; Form1.BorderIcons = [biMinimize,biMaximize];<br>只要 biSystemMenu 不在里边,就什么按钮都不在了,如果只要关闭按钮可以这样:<br>&nbsp; Form1.BorderIcons = [biSystemMenu];<br><br>
 
我明白你的意思,但是我想用api实现,不知道为什莫使用SC_MINIMIZE和SC_MAXIMIZE就是不行??
 
&nbsp;DeleteMenu(SysMenu, SC_MAXIMIZE, MF_BYCOMMAND);<br>&nbsp; DeleteMenu(SysMenu, SC_MINIMIZE, MF_BYCOMMAND);<br>只能使之无效,没法变灰
 
好像无效也不行......
 
后退
顶部