-
Delphi 改变当前鼠标样式
Delphi 改变当前鼠标样式,这个样式比较个性了,把箭头状的鼠标指针替换成了一幅图像,还有动画效果。具体实现,请下载本源码一看究竟。本程序具备的功能是可以选择的,用户可选择改变鼠标的形状是否是当前窗口或系统,选择当前窗口则只会在本测试程序的窗口中改变鼠标的形状。
- 2023-07-31 03:10:03下载
- 积分: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 利用API绘制弧形
Delphi 利用API绘制弧形,
begin
ArcRect := ClientRect;
Canvas.Pen.Width:=2;
for i:=1 to 10 do
begin
Arc(Canvas.Handle,ArcRect.Left,ArcRect.Top,ArcRect.Right,
ArcRect.Bottom,ArcRect.Right,(ArcRect.Bottom-ArcRect.Top) div 2,
ArcRect.Left,(ArcRect.Bottom-ArcRect.Top) div 2);
InflateRect(ArcRect,-2,-2);
Canvas.Pen.Color := PaletteIndex(i+10);
end;
- 2022-03-21 03:44:09下载
- 积分:1
-
Delphi使用AES算法加密源码下载
整合网上下载到的资源(ElAES.pas,AES.pas),在Delphi7下编译后,测试能用
- 2023-07-07 06:10:03下载
- 积分:1
-
Delphi 将TDBGrid导入到Excel表中附数据库
Delphi7.0将TDBGrid导入到Excel表中,测试程序先连接好SQLSERVER数据库,并将数据读取到TDBGrid中,然后再将数据从TDBGrid导入到Excel表中,为了测试方便,SQLSERVER数据库文件已经附在源码包中。以下代码片断会有参考意义,完整源码请下载:
//将TDBGrid表中的标题插入到Excel表中的首行
for I:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
Page.Cells[j,i+1] := DbName.Columns[i].Title.Caption;
Page.Cells[j,i+1].Font.Bold := True; //设置字体为粗体
end;
Inc(j); //Excel表中的下一行
First; //将指针返回到TDBGrid表中数据的首行
while not Eof do
begin
for i:=0 to DbName.Columns.Count-1 do
begin
if DbName.Columns[i].Visible=False then
Continue;
//将指定行中每列的数据,添加到Excel表中
Page.Cells[j,i+1] := trim(DbName.DataSource.DataSet.Fieldbyname(DbName.Columns[i].FieldName).asstring);
end;
Inc(j); //Excel表中的下一行
Next; //TDBGrid表中的下一条记录
end;
- 2022-06-29 23:05:07下载
- 积分:1
-
Delphi 图片颜色逐渐加深功能的实现
Delphi演示如何将一张图片的颜色加深,类似于调整对比度,不过本效果不加入了渐变加深的动画效果,按住按钮图片一直变暗下去,要知空间,你可看下以下代码:
Bitmap:=image1.Picture.Bitmap;
image1.Height:= Bitmap.Height;
image1.Width:= Bitmap.Width;
for i:=0 to 255 do
begin
sleep(10);
for y:=0 to Bitmap.Height-1 do
begin
pixcolo:=Bitmap.Scanline[y]; //扫描每行像素颜色
for x:=0 to ((Bitmap.Width*3)-1) do
//递减颜色值,不同的递减值可改变不同的速度
if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);
end;
Image1.Canvas.Draw(0,0,Bitmap);
Application.ProcessMessages; //让Application去处理消息队伍中的消息
end;
- 2022-03-23 16:34:19下载
- 积分:1
-
Delphi实现RGB色环的绘制源码 XE10.2+WIN764
Delphi实现RGB色环的绘制源码 XE10.2+WIN764,鼠标移动时提取颜色RGB的值,可以设置中心圆是否是透明的,RGB色环的代码绘制,传入图片的大小,扣出中心的黑色圆,输入图片与中心圆的半径。这个色环的颜色十分精细,过渡十分自然,本例子代码的参考价值还是挺大的。
- 2022-06-27 11:06:18下载
- 积分:1
-
Delphi添加图层蒙版
Delphi添加图层蒙版,运行本程序后,在屏幕上添加一层阴影,透明度大概在70%左右,可看作是在屏幕上方蒙了一层薄膜的感觉,代码简单:procedure TForm1.FormCreate(Sender: TObject);
var
bTrans: Byte;
OldStyle: Integer;
begin
form1.Color := clGradientActiveCaption;
WindowState := wsMaximized;
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
OldStyle := GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, OldStyle or WS_EX_LAYERED Or WS_EX_TRANSPARENT);
bTrans := 128;
SetLayeredWindowAttributes(Handle, 0, bTrans, LWA_ALPHA);
end;
- 2022-02-06 10:25:25下载
- 积分:1
-
用Delphi生成图片水平交错的动态显示效果
用Delphi生成图片水平交错的动态显示效果,是一个简单的图片动态显示效果,显示图片的时候,以水平左右交错的方式显示,可用于电子相册中,用于多张图片切换时的过渡动画效果。
本程序有个缺点:只支持BMP的图片,对JPG支持不好,其它格式也不行哦。
- 2022-03-23 01:50:52下载
- 积分:1
-
使用Delphi 制作无闪烁的动画效果
使用Delphi 制作无闪烁的动画效果,如何实现不闪烁的动画呢?这个例子或许能找到一些答案:部分代码如下:
var
x,i: Integer;
dir,run: Boolean;
begin
b := TBitMap.Create;
b.Width := AnimWindow.Width;
b.Height := 32;
b.Canvas.Pen.Color := clBtnFace;
b.Canvas.Brush.Color := clBtnFace;
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
run := True;
dir := False;
x := 0;
while run do
for i := 0 to AnimWindow.ImageList1.Count-1 do
begin
b.Canvas.Rectangle(0,0,AnimWindow.Width,32);
AnimWindow.ImageList1.Draw(b.Canvas,x,0,i);
Synchronize(DrawAnimPic);
Sleep(AnimWindow.SpinEdit1.Value);
if (x = 0) or (x = 300) then dir := not dir;
if dir then Inc(x) else Dec(x);
end;
b.Free;
end;
- 2023-03-22 21:40:04下载
- 积分:1