登录
首页 » Delphi源码 » Delphi 使用Canvas美化ListBox列表项

Delphi 使用Canvas美化ListBox列表项

于 2022-06-01 发布 文件大小:6.24 kB
0 265
下载积分: 2 下载次数: 1

代码说明:

Delphi 使用Canvas美化列表项,当用户鼠标单击ListBox列表项时,该列表项高亮显示,改变背景色,文字居中对齐,如图所示。   主要是使用了Delphi中的Canvas.FrameRect对其进行美化,具体代码有兴趣可参考:   Canvas.FrameRect(Clientrect);   if odSelected in State then   begin    Canvas.Brush.Color:=clRed;    Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,8,15);    setBkMode(Canvas.Handle,TRANSPARENT );    Canvas.TextOut((Rect.right-Rect.Left) div 2,Rect.Top,Items.Strings[Index]);   end   else   begin    Canvas.Brush.Color:=clSkyBlue;    Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,15,15);    Canvas.TextRect(Rect,Rect.Left,Rect.Top,Items.Strings[Index]);   end;

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

发表评论

0 个回复

  • Delphi 多帧动画播放
    Delphi 多帧动画播放,Delphi将多幅连续的BMP图像显示在一起,形成了动画的效果,类似于GIF的类型动画。每一张图片都是一帧,将帧快速的连起来,就形成了动画效果。
    2023-07-24 05:15:03下载
    积分:1
  • Delphi创建透明图像效果的窗体
    Delphi创建透明图像效果的窗体,这个示例实际是演示调用透明图片并显示的效果,用此制作成一个无边框且透明的窗口,制作时需要把此窗口设为Desktop型的。图片最好是BMP或PNG透明格式的,这样当图片显示时,会显示为一个无边框的透明窗口,没有图像的部分会显示窗口下层的内容,演示了一种制作透明窗口的方法。
    2022-02-25 21:57:42下载
    积分:1
  • Delphi 使播放的Flash随窗口大小改变
    Delphi 使播放的Flash随窗口大小改变,也就是让Flash播放的窗口内容随着父窗口的大小而自动适应,把窗口拉大时,Flash画面也会跟着变大,让内容适应窗口大小的变化。
    2022-05-31 21:57:49下载
    积分:1
  • Delphi 定制自己的幽灵程序
    Delphi 定制自己的幽灵程序,这个程序在Windows托盘处显示图标,而且退出后在进程中仍会运行,像幽灵一样,托盘处可右键弹出菜单,本程序主要是图标和菜单的一些操作,属于UI界面的范畴吧,这是我个人认为的,部分代码摘录:    NormalIcon,DisabledIcon:TIcon;    //正常和失效两种情况下的图标    Status:Boolean;    //标志"允许使用"还是"禁止使用"    procedure InstallIcon;    procedure ChangeIcon(s:Boolean);    procedure UnInstallIcon;    procedure IconOnClick(var message:TMessage); message MI_ICONEVENT;    //捕捉自定义消息MI_ICONEVENT的过程IconOnClick的声明
    2023-04-07 01:50:03下载
    积分:1
  • Delphi实现TdxDBTreeView节点全部展开或收拢
    本源码演示如何实现Delphi TdxDBTreeView节点全部展开或收拢功能,也就是大家熟悉的树形菜单节点的折叠或展开功能,在平时的使用中,树形节点是很常用的一个菜单功能,本例子的树形菜单节点功能读取自数据库,因此在测试前请连接好数据库。   //单击全部展开按钮   procedure TForm1.Button1Click(Sender: TObject);   begin    dxDBTreeView1.FullExpand;   end;    //单击全部收拢按钮   procedure TForm1.Button2Click(Sender: TObject);   begin    dxDBTreeView1.FullCollapse;   end;
    2022-01-26 05:17:01下载
    积分:1
  • Delphi 渐变的RGB空心色环绘制源码演示
    Delphi渐变圆形的实现方法,RGB色环空心绘制演示源码:   oBmp := TBitmap.Create; //为了代码整齐就不写try了   oBmp.PixelFormat := ABitmap.PixelFormat;   oBmp.Width := ABitmap.Width;   oBmp.Height := ABitmap.Height;   BitBlt(oBmp.Canvas.Handle, 0, 0, oBmp.Width, oBmp.Height, ABitmap.Canvas.Handle, 80, 80, SRCCOPY); //要拷贝的位图   oRgn := CreateEllipticRgn(0, 0, 100, 100); //创建圆形区域   SelectClipRgn(ABitmap.Canvas.Handle, oRgn); //选择剪切区域   ABitmap.Canvas.Draw(0, 0, oBmp); //位图位于区域内的部分加载
    2022-03-21 13:09:53下载
    积分:1
  • Delphi窗口淡入淡出渐变fadein fadeout动画效果
    Delphi实现窗口的淡入淡出渐变fadein fadeout动画效果,除了渐变,还有其它的动画形式,比如从中心扩散、水平从左到右、水平从右到左、垂直从上到下、垂直从下到上等。本实例默认状态下是使用了淡入淡出渐变,其它动画效果被注释掉了,如果你想用,可以去掉注释标记。   //淡入效果   //AnimateWindow(self.Handle,1000,AW_CENTER or AW_ACTIVATE);   //从中心扩散   //AnimateWindow(self.Handle,1000,AW_HOR_POSITIVE or AW_ACTIVATE);   //AnimateWindow(self.Handle,1000,AW_SLIDE or AW_HOR_POSITIVE or AW_ACTIVATE);   //水平从左到右   //AnimateWindow(self.Handle,1000,AW_HOR_NEGATIVE or AW_ACTIVATE);   //AnimateWindow(self.Handle,1000,AW_SLIDE or AW_HOR_NEGATIVE or AW_ACTIVATE);   //水平从右到左   //AnimateWindow(self.Handle,1000,AW_VER_POSITIVE or AW_ACTIVATE);   //AnimateWindow(self.Handle,1000,AW_SLIDE or AW_VER_POSITIVE or AW_ACTIVATE);   //垂直从上到下   //AnimateWindow(self.Handle,1000,AW_VER_NEGATIVE or AW_ACTIVATE);   //AnimateWindow(self.Handle,1000,AW_SLIDE or AW_VER_NEGATIVE or AW_ACTIVATE);   //垂直从下到上
    2022-06-11 17:51:21下载
    积分:1
  • Delphi 快速查询文件
    Delphi 快速查询文件,比较老的代码,搜索文件的地址需要手工输入哦,查询的结果会显示在空白处。返回查询的代码如下:   List := TStringList.Create;//创建字符传列表   try    spec := ExtractFileName(filespec);//返回指定文件名    RFindFile(ExtractFilePath(filespec));//返回指定路径    Result := list;//函数返回值是List;
    2022-03-19 10:17:26下载
    积分:1
  • Delphi 替换一个键盘按钮
    Delphi 替换一个键盘按钮,将数字1改为a。将键盘所代表的键位重新定义并判断,得到一个不同的键位值。
    2023-01-10 10:50:03下载
    积分:1
  • Delphi 判断字符串是否为日期或时间
    Delphi 判断字符串是否为日期或时间,检查用户输入的时间格式是否正确,判断用户输入的是否是时间字符串,这个虽然麻烦些,不过这个例子将问题简单化,有兴趣的参考源码。
    2022-08-24 16:56:14下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载