在Delphi中实现任意形状的窗体

判断一个窗体是否被完全遮挡 private void Form1_Paint(object sender, PaintEventArgs e)...{    Text = e.ClipRectangle.Width.ToString();}在窗体的Paint事件中,有一个ClipRectangle的属性,解释为“获取要在其中进行绘画的矩形”这个属性的作用就是:窗体在刷新的时候,为提高效率一些被遮挡的区域就不用再绘 阅读详情

Form的TEXT:

object Form1: TForm1
  Left = 192
  Top = 107
  BorderStyle = bsNone
  Caption = 'Form1'
  ClientHeight = 348
  ClientWidth = 536
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = Button1Click
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 392
    Top = 152
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 432
    Top = 24
    Width = 17
    Height = 17
    Caption = 'Button2'
    TabOrder = 1
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 448
    Top = 40
    Width = 17
    Height = 17
    Caption = 'Button2'
    TabOrder = 2
    OnClick = Button3Click
  end
  object Button4: TButton
    Left = 464
    Top = 56
    Width = 17
    Height = 17
    Caption = 'Button2'
    TabOrder = 3
    OnClick = Button4Click
  end
end

各种不同的事件声名:


  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    procedure WMmove(var Message: TWMNCHITTEST); Message WM_NCHITTEST;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMmove(var Message: TWMNCHITTEST);
begin
  Message.Result :=  HTCAPTION;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
R1,R2,R3,R4,R5: HRGN;
begin
  R1 := CreateEllipticRgn(0,0,Round(ClientWidth / 2),ClientHeight);
  R2 := CreateEllipticRgn(Round(ClientWidth / 2),0,ClientWidth,ClientHeight);
  R3 := CreateEllipticRgn(Round(ClientWidth / 4 ),Round(ClientHeight / 4 *3),Round(ClientWidth / 4 *3),ClientHeight);
  R4 := CreateRectRgn(0,0,0,0);
  R5 := CreateRectRgn(0,0,0,0);
  CombineRgn(R4,R2,R1,RGN_or);
  CombineRgn(R5,R4,R3,RGN_or);

  SetWindowRGN(Handle,R5,True);
  DeleteObject(R1);
  DeleteObject(R2);
  DeleteObject(R3);
  DeleteObject(R4);
  DeleteObject(R5);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  SendMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  SendMessage(Handle,WM_SYSCOMMAND,SC_DEFAULT,0);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Application.Terminate;
end;

end.

 

Delphi6异形窗体设计大师课程 本文还有配套的精品资源,点击获取 简介:Delphi6是一个受开发者欢迎的集成开发环境,它允许通过自定义窗体边缘和形状来创建异形窗体。本教程将介绍如何使用API函数和GDI/GDI+技术,通过Delphi的TForm类属性和事件处理程序,设计出具有独特形状和视觉效果的窗体界面,例如透明或半透明效果,以及圆角等非传统形状。掌握这些技术有助于提高Delphi6开发者的技能水平,... 阅读详情

相关推荐

Delphi中圆形窗体实现方法

本文还有配套的精品资源,点击获取 简介:本篇文章将介绍在Delphi编程环境中如何自定义绘制并实现一个圆形窗体。Delphi使用Object Pascal语言,基于组件的可视化开发工具,窗体通常为矩形,但通过自定义绘制技术可以创建非矩形窗体。我们将讲解通过覆盖OnPaint事件、禁用边框和标题栏以及处理透明效果等技术点来实现圆形窗体的方法。同时,提供示例代码和扩展应用的介绍...

weixin_35307279的博客 737

Delphi中绘制圆角矩形的窗体

 制作圆角矩形的窗体:01.procedure TPortForm.FormCreate(Sender: Tobject);02.var hr :thandle;03.begin04.hr:=createroundrectrgn(0,0,width,height,20,20);05.setwindowrgn(handle,hr,true); 06.end;如果不要窗体外框,则使用:

iseekcode的专栏 6956

Delphi 中制作几何形状的窗体 圆角

制作几何形状的窗体 圆角 用delphi窗口进行圆角不再是问题了

delphi实现圆角窗体[转]

procedure TForm1.FormCreate(Sender: TObject); var hr :thandle; begin hr:=createroundrectrgn(1,1,width-2,height-2,5,5); setwindowrgn(handle,hr,true); end; procedure TForm1.FormPaint(Sender...

dkopg24406的专栏 531

不规则窗体_异形窗体_透明窗体_PNG图片

Delphi实现的不规则窗体,异形窗体,透明窗体,PNG图片, 鼠标穿透窗口。还可以贴近屏幕边缘自动吸附隐藏。 DelphiXE , D10 下编译通过 。在Delphi 7环境下需要去掉uses 单元 Winapi.Windows 前面的 WinApi.xxx System.xxx VCL.xxx 前缀,而且因为文件编码的问题,在Delphi7下可能需要修改一下单元代码文件头部的乱码为 Unit。另外,Images目录下的文件。

详细推导波特图增益和相位曲线

文章来源:https://mp.weixin.qq.com/s/UCy9mRRok5Hc9qHq3qde5g 今天这篇文章想把近段时间关于波特图方面学习的内容整理一下。波特图将会是梳理闭环控制这个系列的开始。目前的计划是,以无源器件为基础,然后结合运放,再过渡到开关电源的环路控制方面。如果对这方面感兴趣的朋友,可以持续一起学习起来,目标就是掌握开关电源的闭环控制。 1. 什么是波特图? 波特图最常见的应用是在线性非时变的系统中,用于对传递函数的增益和相位进行分析,从而判断出系统随频率的响应是否稳定。因此,波

ltqdxl的博客 2万+

delphi 画圆角窗体

<br /><br /><br />API 介绍与Demo 2010-02-05 11:49:04 阅读200 评论0  字号:大中小 订阅  采用API画圆角的窗体!<br />   圆角窗体一(四角都是圆角的)采用CreateRoundRectRgn,SetWindowRgn函数就可实现!函数参数如下:<br /> 函数一:<br />  int SetWindowRgn;(HWND hWnd, HRGN hRgn, BOOL bRedraw)<br />  参数<br />  hWnd     <br

天道酬勤 2656

Dify实战:智能邮件工作流配置全解析

本文详细解析了如何利用Dify平台配置智能邮件工作流,实现邮件处理的自动化与智能化。内容涵盖从获取邮箱授权、安装插件、安全配置环境变量,到构建邮件发送工作流、创建调用该工作流的智能体(Agent)的完整步骤,并分享了连接知识库实现智能客服、定时发送日报等进阶自动化场景,旨在帮助用户显著提升邮件处理效率。

t8u9v0w1x的博客 795

Delphi不规则窗体实现

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, dxGDIPlusClasses, StdCtrls, Menus, ExtCtrls;type  TForm1 = class(TForm)    PopupMenu1: TP...

henreash的专栏 1407

【信创-k8s】银河麒麟V10国防版+鲲鹏/飞腾(arm64架构)在线/离线部署k8s1.30+kubesphere

银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。

2023年最新地推相关信息 541

Frida精准定位Shopee x-sap-ri动态签名生成函数

x-sap-ri是Shopee客户端生成的上下文感知型动态令牌,本质为基于设备标识、请求路径与毫秒级时间戳三元组的SHA256哈希值,经Base64编码后作为防重放与防批量伪造的核心校验字段。其生成逻辑深度混淆且跨Java/Native层,静态分析失效,而Frida凭借内存级函数调用拦截与JNI层穿透能力,成为唯一可行的技术路径。本文聚焦Frida在加固App中的实战适配——通过libcrypto.so API特征扫描反向定位被抹名的生成函数,实现对x-sap-ri输入参数(如16字节device_id加密

weixin_33978578的博客 610

在Delphi中实现任意形状的窗体 (转)

在Delphi中实现任意形状的窗体 (转)[@more@]Form的TEXT: object Form1: TForm1 Left = 192 Top = 107 BorderStyle = bsNone Captio...

csd3176的博客 162

vivado时序分析 实例

vivado时序分析实例建立余量保持余量 建立余量 保持余量

Bunny9__的博客 1万+

带透明效果的异形窗体

/Alpha: 透明度,在bmp的基础上再叠加一个透明度,0为全透,255为不叠加透明度。//Alpha: 透明度,在bmp的基础上再叠加一个透明度,0为全透,255为不叠加透明度。接着,在窗体的FormCreate事件中载入图片素材,根据图片建立异形窗体。//绘制两个光点到bmp,不断变换位置产生动画。//绘制两个光点到bmp,不断变换位置产生动画。//Bmp: 窗体的图像,支持alpha像素。//Bmp: 窗体的图像,支持alpha像素。//根据传入的参数实现异形窗体。//Wnd: 窗体句柄。

hx3ztQW2k的博客 176

AI 编程新范式:一文彻底搞懂 LLM、Agent、MCP、Skill 是怎么协作的

本文用通俗易懂的方式解析了AI编程新架构的核心概念。通过"三国演义"类比,文章将复杂的技术架构拆解为:Agent(军师/大脑)负责思考和决策,Skill(招式/手脚)执行具体操作,MCP(令箭/协议)作为通信标准,MCP Server(将军/身体)承载多个Skill。这套分工架构使AI从单纯聊天进化成能完成实际编程任务的全能助手,实现了关注点分离——Agent专注智能提升,Skill专注功能实现,MCP确保稳定连接。这正是Cursor、Claude等新一代AI开发工具采用的核心架构,标志

猫老板的豆 3080

WSL2迁移后用户名不见了?一招教你快速恢复Ubuntu22.04默认用户

本文针对WSL2迁移后Ubuntu 22.04默认用户名丢失的常见问题,提供了详细的诊断与修复方案。通过分析迁移底层逻辑,指导用户使用`ubuntu2204.exe config --default-user`命令或配置`/etc/wsl.conf`文件快速恢复用户身份,并涵盖权限修复、冲突解决及自动化迁移脚本等进阶内容,确保子系统迁移后环境完整可用。

web39explorer的博客 558

delphi 异形窗体

DELPHI 透明窗体 心血来潮想用delphi做透明窗体,要知道我虽然搞了N年编程,但什么也没编写成。惭愧的很,以前VCVB之类的光搞懂它们的控件就让我很费劲,没办法不懂英文。还是学DELPHI吧,听说是聪明程序员学习的语言。在网络上搜索下透明窗体,哈文章不少,视频也有,但都太繁琐,关键看不懂,总算有个简单的,实验成功了哈哈。博下来以后用: unit StyleForm...

dkopg24406的专栏 707

本地部署DeepSeek并搭建量化交易系统:完整指南

本地部署DeepSeek并搭建量化交易系统指南 本文提供了一套完整的本地部署DeepSeek大语言模型并构建量化交易系统的技术方案。系统包含以下核心组件: 环境配置:详细说明Ubuntu系统、NVIDIA显卡驱动、CUDA和Python环境的安装要求,推荐使用conda管理依赖 DeepSeek部署: 通过HuggingFace下载7B或13B量化版本模型 使用4-bit量化技术降低显存需求 封装为FastAPI服务提供推理接口 量化系统架构: 模块化设计,各组件通过Redis解耦 包含数据获取、因子计算、

huanghm88的专栏 477

DELPHI 异形窗体

一定有很多人看到过一些奇形怪状的窗体,例如一些屏幕精灵。其实实现起来非常容易,做到三点就好啦。下面我使用Delphi做了一个VCL控件(TBmpShape),你只需要指定一幅图片就可以将窗体变成你的图片的形状。 1。准备一幅位图图片,一定要BMP格式的 2。将VCL控件放在你的窗体(FORM)上,注意不能是其他的容器,设置PICTURE属性,指定制作好的图片。 3。设置图片的背景颜...

dkopg24406的专栏 486

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

用API函数在DELPHI中实现“非典型”窗体

                             用API函数在DELPHI中实现“非典型”窗体    现在的一些共享软件特别是一些多媒体播放器软件为了吸引用户,很注重程序界面的设计。实际上,我们使用API函数也可以实现那些好看又另类的效果。    1.异形窗体    窗体只能是方的吗?不是,还可以有其他形状。这要用到两个Win32 API函数。首先用CreateRoundRectRgn(

ChinOS的专栏 950

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

强大的Delphi窗体设计控件:项目的核心功能/场景

强大的Delphi窗体设计控件:项目的核心功能/场景 去发现同类优质开源项目:https://gitcode.com/ Delphi窗体设计控件,任意自定义窗体,提升开发效率 项目介绍 在现代软件开发领域,界面设计的重要性不言而喻。一个直观、易用的界面能够显著提升用户体验。为此,我们为您带来了这款强大的Delphi窗体设计控件。这款控件为您提供了一种极为便捷的方式,让您能够自由地自定义窗体,轻松添...

gitblog_06730的博客 920

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Delphi实现窗体控件自由移动

Delphi实现窗体控件自由移动 2008-04-25 16:22 在做Mis项目过程中,有时需要让用户自己来实现窗体控件的布局,比如酒店管理中就需要对餐厅餐桌位置进行布局。要实现这种功能,必须做好三件事:   1、设置进入控件边缘的光标形状;   2、改变控件的大小及位置;   3、保存窗体控件的位置及状态,窗体下次启动时重新设置它们的这些信息。具体步骤如下:   1

孤独剑的专栏 3585

用Delphi7.0实现漂亮的汉字窗口

  在可视化开发的时代,窗体是绝大部分应用程序的核心,但是开发者也许已对Windows一成不变的方形窗体感到厌烦。其实巧妙地使用API函数即可实现汉字形状的窗体。 本文的实例运行后将显示一个由“电脑报”三个汉字作为外形的窗体。当然你还可以利用本期讲的方法实现更有个性的汉字窗口。  设计思路  1使用BeginPath和EndPath函数为窗体定义路径。  2用PathToRegion将路径转换

Conch's Blog 1204
上一篇: AccesS密码的打击
下一篇: 有关字符的加密与解密
programlover
博客等级 码龄26年 1粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值