• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi窗体最大化按钮不可用情况下的最大化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最大化按钮不可用,而且窗体最大化,我以前一直这样设置:在Object Inspector下把BorderIcons属性下的biMaximize属性设置为False,然后把WindowState属性设置为wsMaximized,结果是窗体的最大化按钮的确是隐藏了,窗体也最大化了,但是窗体也遮盖住了任务栏!

网上也有很多人来讨论这个问题的,也有人说窗体的ALign 属性为 alClient同时窗体WindowState属性要设置为wsNormal就可以了;这样看起来的确是最大化了,但是窗体还是有点边框显示了出来,当你点击最大化的时候窗体还是会重新调整为真正的最大化。还有人在窗体创建过程使用如下代码:
var  
  TrayWnd:  HWnd; 
  Rec: TRect;  
begin  
  TrayWnd := FindWindow('Shell_TrayWnd',nil);
  GetWindowRect(TrayWnd,Rec);
  mainfm .Left := 0;  
  mainfm .top:=0;  
  mainfm .Width :=Screen .Width;  
  mainfm .Height :=Screen .Height-(rec.Bottom- rec.Top); 
end;
这样的话窗体还是可以移动的,所以还得禁止窗体移动;问题是否有些复杂化了?

经过查看TCustomForm源码和几天的琢磨,最终发现问题也并不是很难。原来很简单!

我的做法是:
第一步:在工程文件里,窗体创建后的代码里添加如下代码:
xxForm.BorderIcons := xxForm.BorderIcons - [biMaximize];
第二步:然后是在Object Inspector里设置WindowState为:wsMaximized

仅仅两步就可以比较完美的解决使最大化按钮不可用,又可以让窗体最大化!

http://www.lsworks.net/article/55.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi串口通信(1)发布时间:2022-07-18
下一篇:
[delphi]参数带有默认值的函数发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap