delphi窗体按钮灰化禁用

1。使最小化按钮变灰:
setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style)   and   not   ws_minimizebox  );

2。使最大化按钮变灰:
setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style)   and   not   ws_maximizebox);

3. 关闭按钮变灰色

EnableMenuItem(GetSystemMenu(Handle,   FALSE),   SC_CLOSE,MF_BYCOMMAND   or   MF_GRAYED);

4 禁用ATL+F4

利用消息机制来处理关闭事件

在tform类里写
procedure   wmclose(var   msg:tmessage);message   wm_close;
...
...
..

然后写具体过程
procedure   tform1.wmclose(var   msg:tmessage)
begin
//
end;
想在他按下的时候干什么你可以放在这个过程里,要是想继续执行关闭,用
inherited;

这样写了就屏蔽了ALT+F4

原文地址:https://www.cnblogs.com/zyb2016/p/11670735.html

时间: 2024-10-26 20:09:16

delphi窗体按钮灰化禁用的相关文章

delphi 窗体只显示控件

procedure TForm1.FormCreate(Sender: TObject);begin    BorderStyle := bsNone;    Brush.Style := bsClear;end; delphi 窗体只显示控件,布布扣,bubuko.com

delphi 窗体添加背景图片

var   Bmp: TBitmap; procedure TForm1.FormCreate(Sender: TObject); begin   Bmp := TBitmap.Create;   Bmp.LoadFromFile('D:\test.bmp');   Brush.Bitmap := Bmp; end; procedure TForm1.FormDestroy(Sender: TObject); begin   Bmp.Free; end; delphi 窗体添加背景图片

delphi 窗体透明

TransparentColor:=true;    TransparentColorValue:=clFuchsia;    Color:= TransparentColorValue;    BorderStyle:=bsNone; delphi 窗体透明http://hi.baidu.com/duduppp/item/f347df3a16dbb9607c034bd5 来自为知笔记(Wiz) delphi 窗体透明

解决Delphi窗体缩放の疑难杂症

http://anony3721.blog.163.com/blog/static/511974201082235754423/ 解决Delphi窗体缩放の疑难杂症 2010-09-22 15:57:54|  分类: 默认分类 |  标签:delphi  |举报|字号 订阅 下载LOFTER我的照片书  | No.1 Delphi中如何限制窗体大小? Delphi中可以限制窗体或者元件的大小,只要指定它的Constraints属性即可(默认是0,就是不限制).但是Delphi这个属性有个很大的缺

实现a标签按钮完全禁用【转】

前言 最近在开发时遇见一个问题 我们知道a标签是没有disabled属性的,那么如何实现a标签按钮的禁用呢? 转换一下思维,设置disabled属性的元素表现为不能点击.无法获得光标焦点,那么我们不用disabled属性实际上也可以达到同样的效果! 方法一:移除点击事件click或touchend 我们可以直接使用jquery:unbind()或者JS:removeEventListener()移除点击事件 方法二:给a标签设置css属性pointer-events:none pointer-e

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

最大化按钮不可用,而且窗体最大化,我以前一直这样设置:在Object Inspector下把BorderIcons属性下的biMaximize属性设置为False,然后把WindowState属性设置为wsMaximized,结果是窗体的最大化按钮的确是隐藏了,窗体也最大化了,但是窗体也遮盖住了任务栏! 网上也有很多人来讨论这个问题的,也有人说窗体的ALign 属性为 alClient同时窗体WindowState属性要设置为wsNormal就可以了:这样看起来的确是最大化了,但是窗体还是有点边

Delphi 窗体自适应屏幕分辨率的改进

Delphi:窗体自适应屏幕分辨率的改进 http://blog.sciencenet.cn/blog-39148-544498.html 在窗体依据屏幕分辨率自适应调整尺度方面,昨天的工作可以说是一个突破点.昨天的工作找到了长期以来我的原有方案的问题所在,这是非常关键的.但是昨天晚上的解决方案并不完美,今天的这个才是比较完美的解决版. 先补充说明一下这个问题的重要性.这本来只是一个很小的技术问题,但在现有的Windows软件开发过程中,这个问题非常常见.一些非常著名的商业化软件,也会发现这方面

深入VCL源码研究DELPHI窗体的创建和关闭

一.窗体的建立 在DELPHI中,我们通常使用Application.CreateForm(TForm2, Form2)和TForm.create来创建窗体,我们几乎无法区别这两种方法差异,更何况,我们更多的时候都是在使用TForm.create来生成子窗体. 不过,仔细观察VCL源码,你会发现,其实两者区别很大. procedure TApplication.CreateForm(InstanceClass: TComponentClass; var Reference); var Insta

窗体按钮权限控制

1.概念介绍 窗体的按钮权限控制,主要是针对在同一个窗体下,某些按钮不想开放给某些人.比如:新增.修改.删除按钮只给管理员,普通人员就只有查看.导出功能. 如下图所示,可以看出图一有新增.修改.删除权限,图二则没有:          2.实现方法 同一个窗体下,想实现不同的登录人员按钮权限不一样.就需要先在项目管理,相关窗体的功能管理,把想控制的按钮,在权限控制里勾选.如下图所示: 在项目管理里设置好窗体想控制的按钮后,就到系统维护-角色管理.如果需要新增.修改.删除的权限,就选择那个角色,点