-
Delphi Canvas.Brush为窗体绘制渐变背景
Delphi 为窗体绘制渐变背景,这里使用了Delphi中的Canvas.Brush.Color来实现窗口背景的渐变色,不错吧?如示例图的左右渐变效果,实现的代码:
for i:=0 to self.Width-1 do
begin
c1:=GetRValue(StartColor)+Trunc(i*(GetRValue(EndColor)-GetRValue(StartColor))/(self.Width-1));
c2:=GetGValue(StartColor)+Trunc(i*(GetGValue(EndColor)-GetGValue(StartColor))/(self.Width-1));
c3:=GetBValue(StartColor)+Trunc(i*(GetBValue(EndColor)-GetBValue(StartColor))/(self.Width-1));
Canvas.Brush.Color:=RGB(c1,c2,c3);
//每次画矩形的画刷颜色
Dct:=Rect(i,0,i+1,self.Height);
//每次刷绘的矩形区域
Canvas.FillRect(Dct);
//填充颜色
end;
- 2022-05-24 21:26:59下载
- 积分:1
-
Delphi 垂直交错显示效果
图片的垂直交错效果,Delphi 编写的图片垂直交错显示效果,之前就分享过这种效果,类似百叶窗的交替显示效果,可用于图片转场,不过本效果还有很多地方需要优化,当时是写给一本书,作为随书实例的,有兴趣的可参考,关于本功能的关键代码部分,请看以下代码:
newbmp:= TBitmap.Create;
newbmp.Width:=image1.Width;
newbmp.Height:=image1.Height;
bmpheight:=image1.Height;
bmpwidth:=image1.Width;
i:=0;
while i0 do
begin
newbmp.Canvas.CopyRect(Rect(0,j-1,bmpwidth,j),image1.Canvas,Rect(0,bmpheight-i+j-1,bmpwidth,bmpheight-i+j));
newbmp.Canvas.CopyRect(Rect(0,bmpheight-j-1,bmpwidth,bmpheight-j),image1.Canvas,Rect(0,i-j,bmpwidth,i-j+1));
j:=j-2;
Application.ProcessMessages;
end;
form1.Canvas.Draw(0,0,newbmp);
i:=i+2;
end;
newbmp.free;
- 2023-04-12 21:35:03下载
- 积分:1
-
Delphi SQLSERVER停车场收费管理系统
Delphi SQLSERVER停车场收费管理系统,本系统涉及有多个硬件,运行后需要初始化硬件,读取硬件的配置数据,包括控制器。需要联网读取数据,比较综合的一套系统。可对挡车器、停车场照明系统进行管理,可财务报帐、年终结算等功能,主窗口启动时,先连接数据库和用户登录。硬件参数需要重新启动该程序才能生效,设置照明灯自动开关时间,向数据库中写入记录,控制硬件打开挡车器,开始事务:fee_station-结帐次数加1,维护费用AMaintain=0 ,start_fee增加。。。
- 2023-06-03 04:50:05下载
- 积分:1
-
Delphi7删除字符串指定字符(汉字)的例子
Delphi7删除字符串指定字符的例子,如图所示的运行效果,示例如下文字:“经过这几天在网上的淘金,多少也有些了解了,但是现在我发现就算将分区正确的话,分区所指向的目录区也许会有些问题。”,删除指定的文字为“在”,本例中将上述一段文字中所有的“在”全部删除,在代码部分,各个变量的定义有意思:
Strs, //文本字符串
Stre, //汉字字符串
St, //文本ASCII码
Se, //汉字ASCII码
L_St, //临时文本ASCII码
L_Se, //临时汉字ASCII码
Str_copy //保存文本
: String;
Ints, //文本总长度
Inte, //删除汉字长度
i, //文本循环
p, //汉字循环
ps, //文本指针变量
pe, //汉字指针变量
Int_zh, //找到时保存汉字位置
Int_ch //循环查找时的变量
- 2022-03-23 19:03:00下载
- 积分:1
-
Delphi 文件拖放获取路径实例
Delphi 文件拖放获取路径实例,用文件拖放的方式打开文件,本实例中虽然没有打开文件,但是获取到了文件路径,因此你就可以依此功能扩展成打开文件的功能。
实现方法使用了shellAPI,将Form1注册为文件拖放接收控件,说请请下载该源码。
- 2022-09-12 19:45:03下载
- 积分:1
-
Delphi 用获取路径的方法得到圆形窗体
Delphi 用获取路径的方法得到圆形窗体,制作实现一个非矩形窗口,可以说是一个不规则窗口了,圆形的窗口,标题栏、状态栏及窗口关闭等操作按钮均不邮了。圆形窗口的基本实现思路是根据路径创建不规则窗体,然后设置窗口为透明模式,部分代码如下:
dc:=self.Canvas.Handle;
BeginPath(dc);
//根据路径创建不规则窗体
SetBkMode(dc,TRANSPARENT);
//设置为透明模式
Ellipse(dc,20,20,220,220);
EndPath(dc);
region:=PathToRegion(dc);
SetWindowRgn(self.Handle,region,TRUE);
end;
- 2022-05-16 23:17:16下载
- 积分:1
-
Delphi 与Java TCPIP通信的范例
这个Delphi例子我觉得值得看,用Java写了TCPIP通信的服务端,用Delphi写了客户端,两者在不同的语言环境下运行,并建立TCPIP通信,服务端的运行效果如示例截图所示。为了不发生消息乱码的现象,两者程序编码采用UTF8格式,用UTF-8格式发送出去,收到的UTF-8数据转成ANSI,这一部分的参考请参见util_utf8.pas文件,消息发送、服务器建立连接部分,请参见Unit1.pas文件。
- 2022-08-23 01:44:09下载
- 积分:1
-
Delphi 键盘钩子 封锁 windows 热键
Delphi 键盘钩子 封锁 windows 热键,封锁范围,可参见以下代码:
keycost := LPKBDLLHOOKSTRUCT(lParam);
if (keycost.vkCode=91) then//封锁win键
exit;
if (keycost.vkCode=VK_ESCAPE) and (GetAsyncKeyState(VK_CONTROL)0) then
exit; //封锁 ALT+TAB
if (keycost.vkCode=115) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+F4
if (keycost.vkCode=VK_ESCAPE) and ((keycost.flags and LLKHF_ALTDOWN)>0) then
exit; //封锁 ALT+ESC
if (keycost.vkCode=VK_SPACE) and (GetAsyncKeyState(VK_CONTROL)
- 2023-03-30 06:05:03下载
- 积分:1
-
演示Delphi如何清空TImage组件中的图片
本源码向大家演示Delphi如何清空TImage组件中的图片,如示例截图所示,TImage组件中已经装载了一张图片,单击“清空图片”按钮,将调用以下代码清空TImage组件中的图片数据:
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.picture.graphic := nil;
end;
这是一个比较初级的Delphi图像组件用法示例,Delphi新手可参考学习。
- 2022-03-18 08:56:24下载
- 积分:1
-
方格变换的Delphi图像显示,类似于马赛克
方格变换的Delphi图像显示,类似于那种动态的马赛克效果,电视上经常见到这种图像切换的效果,当然网页上的一些焦点图切换也会常见到这种图像转场的过渡效果,相比直来直去的切换,增加了一些视觉效果,不至于那么单调。
本效果适用的图像格式了BMP位图,其它图片格式未做测试。
- 2022-07-18 02:39:41下载
- 积分:1