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

Delphi 使用Canvas美化ListBox列表项

于 2022-06-01 发布 文件大小:6.24 kB
0 228
下载积分: 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 渐变的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 多帧动画播放
    Delphi 多帧动画播放,Delphi将多幅连续的BMP图像显示在一起,形成了动画的效果,类似于GIF的类型动画。每一张图片都是一帧,将帧快速的连起来,就形成了动画效果。
    2023-07-24 05:15:03下载
    积分:1
  • EI3.0(DELPHI)
    EI3.0(DELPHI源码),据说挺完整的,可以下载一下试试
    2022-03-30 08:16:31下载
    积分:1
  • Delphi 7.0 After提取字符串中指定子字符串后的字符串
    Delphi 7.0 提取字符串中指定子字符串后的字符串,这个平时在字符处理时候使用几率也挺高的,获取指定字符串后面的字符串,比如获取扩展名等也可以用此方法,本例中要用到After函数,测试时,当单击按钮时,执行以下代码:   procedure TForm1.Button1Click(Sender: TObject);   begin    Edit3.Text := After(Edit2.Text,Edit1.Text);   end;   end.
    2022-03-28 10:50:27下载
    积分:1
  • Delphi 显示文件的播放进度
    Delphi 显示文件的播放进度,使用了Timer实现对进度的计算和显示。
    2022-05-28 13:11:17下载
    积分:1
  • 用Delphi编写锁定电脑的程序
    Delphi锁定计算机,锁定电脑,不允许别人可以操作,类似Windows自带的锁定程序,其实锁定是非常简单的,不几行代码就能实现:   procedure TForm1.SpeedButton1Click(Sender: TObject);   begin    LockWorkStation;   end;   若需要完整的源码,请下载本源码包。
    2022-04-28 20:57:54下载
    积分:1
  • Delphi 使用快捷键保存数据至SQLSERVER
    Delphi 使用快捷键保存数据,这里是将数据保存在SQLSERVER数据库中,测试前请连接好数据库哦。
    2022-07-24 01:07:01下载
    积分:1
  • Delphi 使用API函数拔号
    Delphi 使用API函数拔号,拨号程序,基于api的方法实现,有兴趣下载源码参考一番。
    2022-01-26 01:52:58下载
    积分: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 不使用标题栏移动窗体,意思是说,平时大家拖动Windows窗口的时候,都是鼠标放在窗口的标题栏上,按住鼠标左键拖动窗体,但本源码实现的功能是,不以标题栏为操作目标,那是怎么实现的窗口拖动呢?请下载参见本源码。
    2022-10-18 04:15:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载