登录
首页 » Delphi源码 » Delphi 实现组件立体阴影、投影效果

Delphi 实现组件立体阴影、投影效果

于 2022-07-03 发布 文件大小:7.07 kB
0 222
下载积分: 2 下载次数: 2

代码说明:

Delphi 为组件制作立体效果,实现组件的阴影、投影效果,这种阴影效果不是很细腻,不过大致也说得过去,必竟实现方法简单,原生Delphi方法实现,不依靠三方控件,最终效果请参见测试截图所示。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Delphi 变速齿轮# 让时间变快减慢
    Delphi 变速齿轮# 让时间变快减慢,其实这个似乎是做不到的,只是模拟一下,代码及描述如下:   procedure Speed(count:word); stdcall;   const ExceptionUsed = $03; { 中断号也可以用其它的中断号}   var    IDT : array [0..5] of byte; { 保存中断描述符表}    lpOldGate : dword; {存放旧向量}   begin    asm    push ebx    sidt IDT {读入中断描述符表}    mov ebx, dword ptr [IDT+2]{IDT表基地址}    add ebx, 8*ExceptionUsed {计算中断在中断描述符表中的位置}    cli {关中断}    mov dx, word ptr [ebx+6] {取6,7字节 另外4字节用于门属性和选择子 }    shl edx, 16d {左移16位}    mov dx, word ptr [ebx] {取1,2字节 }    mov [lpOldGate], edx {保存旧的中断门}    mov eax, offset @@Ring0Code {修改向量,指向Ring0级代码段}    mov word ptr [ebx], ax {低16位,保存到1,2字}    shr eax, 16d    mov word ptr [ebx+6], ax {高16位,保存到6,7位}    int ExceptionUsed {发生中断}    mov ebx, dword ptr [IDT+2] {重新定位到中断描述符表中}    add ebx, 8*ExceptionUsed    mov edx, [lpOldGate]    mov word ptr [ebx], dx   
    2023-02-13 04:55:03下载
    积分:1
  • Delphi7 向XML中添加RTTI信息
    Delphi7.0 向XML中添加RTTI信息,这个例子挺简单,希望大家喜欢,面向Delphi新手的,高手请绕道哦,下面是本例Delphi向XML中添加RTTI信息的关键性代码:   procedure TForm1.ComponentToDOM(iNode: IXmlNode; Comp: TPersistent);   var    nProps, i: Integer;    PropList: PPropList;    Value: Variant;    newNode: IXmlNode;   begin    nProps := GetTypeData (Comp.ClassInfo)^.PropCount;    GetMem (PropList, nProps * SizeOf(Pointer));    try    GetPropInfos (Comp.ClassInfo, PropList);    for i := 0 to nProps - 1 do    begin    Value := GetPropValue (Comp, PropList [i].Name);    NewNode := iNode.AddChild(PropList [i].Name);    NewNode.Text := Value;    if (PropList [i].PropType^.Kind = tkClass) and (Value 0) then    if TObject (Integer(Value)) is TComponent then    NewNode.Text := TComponent (Integer(Value)).Name    else    ComponentToDOM (newNode, TObject (Integer(Value)) as TPersistent);    end;    finally    FreeMem (PropList);    end;   end;
    2022-01-26 03:00:57下载
    积分:1
  • Delphi 文件拖放获取路径实例
    Delphi 文件拖放获取路径实例,用文件拖放的方式打开文件,本实例中虽然没有打开文件,但是获取到了文件路径,因此你就可以依此功能扩展成打开文件的功能。   实现方法使用了shellAPI,将Form1注册为文件拖放接收控件,说请请下载该源码。
    2022-09-12 19:45:03下载
    积分:1
  • Delphi 模拟制作Windows XP风格界面的下拉页
    Delphi 模拟制作Windows XP风格界面的下拉页,实际上就是XP资源管理器界面的右侧窗口,鼠标单击会向下展开,再次单击会重新合拢,像一个折叠展开的面板那样,这种形式的窗口在Windows中已经早有应用,这只是一个用Delphi代码仿写的效果,希望对大家的Delphi界面设计有所帮助。
    2022-07-24 03:34:24下载
    积分:1
  • Delphi 使DBGrid支持鼠标滚轮
    Delphi 使DBGrid支持鼠标滚轮,测试前请确保程序已连接好数据库,否则会有很长一段时间反应,读取的数据会显示在DBGrid控件中,请在DBGrid组件中滚动鼠标滚轮,可将整个列表上下滚动,便于浏览数据,这个功能在一些软件中经常会遇到,具体编写思路请下载源码研究。
    2022-04-12 01:26:52下载
    积分: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 程序控制关闭显示器
    Delphi 程序控制关闭显示器,不过我很好奇Delphi真能关闭显示器么?如果是用Delphi截断视频信号的输出,让显示器黑屏,这倒是有可能哦,但是让Delphi直接关闭显示器,有点不太可能吧?看了看代码,原来是这样:   begin   //关闭显示器   PostMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,1);   //打开显示器:   PostMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,0);   end;
    2022-04-01 11:14:50下载
    积分:1
  • 一个无标题栏窗体 如何拖动?Delphi方法示例
    本源码主要演示,Delphi如何拖动一个无标题栏的窗体,此前记得与大分享过不少VB类的相似源码,大部分情况下,我们习惯拖动窗口的标题栏来移动窗口,现在我们把窗口的标题栏去掉了,那么是如何实现窗口的拖动呢?其实我们可以拖动窗口的主窗口部位,同样可以拖动窗口,而且这样似乎更方便操作,关于代码的实现,请大家下载源码后,查看Unit1.pas文件。
    2022-09-30 14:35:03下载
    积分:1
  • 在输入时按回车移动光标到一下文本框-Delphi示例
    Delphi实现回车移动焦点的功能,当用户在输入时按回车键,将移动光标到一下文本框,这个功能我觉得可很好的提升软件的操作体验,为实现快捷输入近了一步。具体代码请参考如下:   begin    if Key = 13 then    begin    keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY,0); //按下    keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); //弹起    end;   end;
    2022-08-21 20:36:32下载
    积分:1
  • Delphi 实现图像热点功能
    Delphi 实现图像热点功能,实现一张图片上不同形状区域的热点,定义椭圆形、四边形、三角形的区域变量的热点,相关代码如下:   var    thepoint:array [1..8] of tpoint;//存储多边形顶点坐标    count:integer;    pointnum:array [1..2] of integer;   begin   //四边形顶点坐标,首末点封闭    thepoint[1]:=point(135,99);    thepoint[2]:=point(105,183);    thepoint[3]:=point(129,201);    thepoint[4]:=point(188,92);    thepoint[5]:=point(135,99);    count:=5;//四边形顶点数目,首末点为一点    fourE_rgn:=CreatePolygonRgn(thepoint,count,WINDING);//生成四边形区域    elli_rgn:=CreateEllipticRgn(64,221,231,263);// 生成椭圆形区域    //第一个三角形顶点坐标    thepoint[1]:=point(118,67);    thepoint[2]:=point(32,28);    thepoint[3]:=point(17,90);    thepoint[4]:=point(118,67);    //第二个三角形顶点坐标    thepoint[5]:=point(155,44);    thepoint[6]:=point(202,91);    thepoint[7]:=point(277,44);    thepoint[8]:=point(155,44);    pointnum[1]:=4;//第一个三角形顶点数目    pointnum[2]:=4;//第二个三角形顶点数目    count:=2;//三角形数目   //生成由两个三角形构成的三角形区域   tri_rgn:=CreatePolyPolygonRgn(thepoint,pointnum,count,WINDING);   end;
    2022-01-26 08:02:50下载
    积分:1
  • 696516资源总数
  • 106457会员总数
  • 15今日下载