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

Delphi 使用Canvas美化ListBox列表项

于 2022-06-01 发布 文件大小:6.24 kB
0 99
下载积分: 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 读写物理扇区——实模式, asm //以下汇编代码中,只有第一参数、第二参数、pFunc的值是需要改变的,其余都是固定的写法    pushad    push ebp //#2,保存ebp    sub esp,$2c //#1,预留2c字节的栈空间    push Int13Reg16 //第一参数,如果没有参数,则不用push    //第二参数,如果没有参数,则不用push    mov edx, pFunc //函数地址    mov ebp,esp //    add ebp,$2c //ebp校正,是作者分析QT_Thunk时发现的    call QT_Thunk    add esp,$2c //#1,释放上面预留的2c字节的栈空间    pop ebp //#2,恢复ebp    mov byte ptr @result,al    popad    end;
    2022-01-24 18:37:58下载
    积分:1
  • Delphi为程序添加esc退出程序的功能
    本源码演示Delphi如何用ESC键退出程序,为程序添加esc退出程序的功能,一般情况下,关闭程序都是通过ALT+f4或者直接点击窗口右上角的叉子关闭,不过我们也可以为程序添加通过键盘按下ESC键来关闭程序,本源码就是演示了此种功能,当用户按下ESC时,窗口即关闭,程序退出。
    2022-07-21 22:03:47下载
    积分:1
  • Delphi 邮件短信发送自动通知系统
    Delphi 邮件短信自动通知系统,并且支持邮件发送、邮件帐户管理、类似于微软Windows中的Outlook邮件客户端的功能,可添加邮箱帐户自动收集,并在有新邮件时提示用户登录查看。本程序可发送适合到用户手机来通知邮件情况,部分功能需要依赖于硬件支持。   程序可最小化到windows托盘处显示图标,通过定义好的右键菜单来调出主窗口,虽然是一个发邮件的小程序,但是暗含的Delphi技巧有很多哦,欢迎下载源码研究学习。   1.实现邮件检测功能:   (1)注册账号,注意正确添写POP3服务器,用户名,密码。   2.实现发送短信功能:   (1)在注册账号时要添写正确的手机号码,并选中发送到手机的复选框。   (2)跟据自己购买的GSM模块说明书设置串口参数,一般是“19200,n,8,1”。   (3)添写当地短信中心号码,前面的86可加可不加,如果没有写,系统在按“确定”后会自动加上。   (4)注意:如果短信中含有中文字符,则一定要设成Pdu模式,否则短信可能发送失败。
    2023-07-27 17:40:06下载
    积分:1
  • 形象的电子表-Delphi程序
    Delphi编写制作一款形象的电子表(钟表)效果,模拟时钟,界面方面做成了圆形,看不见窗口的边框,像是透明的窗口,各个指针会走动,关于各个指针的移动及计算方法,有兴趣可参考:   vh := Hour/12.0*2*Pi;   vm := Min/60.0*2*Pi;   vs := Sec/60.0*2*Pi;   with Canvas do   begin    Pen.Width:=4;    Pen.Color := clBlack;    MoveTo(60,60);    LineTo(60+Round(25*Sin(vh)),60-Round(25*Cos(vh)));    Pen.Width:=2;    Pen.Color := clBlack;    MoveTo(60,60);    LineTo(60+Round(45*Sin(vm)),60-Round(45*Cos(vm)));    Pen.Width:=1;    Pen.Color := clRed;    MoveTo(60,60);    LineTo(60+Round(55*Sin(vs)),60-Round(55*Cos(vs)));   end;   窗体方面:这个圆盘窗口要是能移动就好了,不支持右键菜单,也不能关闭,关闭窗口需要按键盘上的ALT+F4。
    2022-01-27 12:29:32下载
    积分:1
  • Delphi 演示0~N位数的任意组合
    Delphi 数列的排列组合一例,演示0~N位数的任意组合,组合的数字在0~5之间,需要输入1~6整数,排列结果会显示在文本框组件中。要点代码如下:   ssList := TStringList.Create;   try    if (nBase < 1) then    begin    end    else    begin    if (sList.Count = 0) then    begin    for nIdx := 0 to num-1 do    ssList.Add(a[nIdx]);    end    else    begin    for nIdx := 0 to num-1 do    for nSidx := 0 to sList.Count-1 do    if (Pos(a[nIdx], sList.Strings[nSidx]) = 0) then    ssList.Add(a[nIdx]+sList.Strings[nSidx]);    end;    Combine(nBase-1, ssList);    end;    if ssList.Count > 0 then    begin    sList.Clear;    sList.Text := ssList.Text;sslist.Count    end;   finally    ssList.Free;   end;
    2022-04-29 16:59:03下载
    积分:1
  • Delphi 简单的文件查看器
    Delphi 简单的文件查看器,可以获取并显示文件的显示名,获取并显示文件类型信息,获取并显示表示该程序的图标,获取文件属性信息,始获取并显示文件上次修改的日期和时间,处理用户没有选择文件而选择了文件夹或驱动器的转化异常。
    2022-08-11 18:22:46下载
    积分:1
  • Delphi 文件拖放获取路径实例
    Delphi 文件拖放获取路径实例,用文件拖放的方式打开文件,本实例中虽然没有打开文件,但是获取到了文件路径,因此你就可以依此功能扩展成打开文件的功能。   实现方法使用了shellAPI,将Form1注册为文件拖放接收控件,说请请下载该源码。
    2022-09-12 19:45:03下载
    积分:1
  • Delphi 使用ESC键停止循环
    Delphi 使用ESC键停止循环,示例演示程序,单击按钮开始循环,按下键盘ESC键,将停止循环。程序核心代码:   begin    for i:= 0 to 9999999 do    begin    Edit1.Text := IntToStr(i);    //允许应用程序在循环中可以处理消息    Application.ProcessMessages;    //用是 ESC 键放弁循环    if GetKeyState(VK_ESCAPE) and 128 = 128 then    Break;    end;   end;
    2022-03-24 17:07:24下载
    积分:1
  • Delphi 限制窗口最大化显示
    Delphi 限制窗口最大化显示,当用户单击最大化按钮后,窗口稍微变大了一点,但并没有最大化,有时候,我们需要限制,不让窗口最大化,在编写实现此功能时,定义了WMGetMinMaxInfo,以下代码在函数中定义,用户操作按钮,激活函数:   with Message.MinMaxInfo^ do   begin   ptMaxSize.X := 400; //最大化时宽度   ptMaxSize.Y := 300; //最大化时高度   ptMaxPosition.X := 120; //最大化时左上角横坐标   ptMaxPosition.Y := 120; //最大化时左上角纵坐标   end;   Message.Result := 0; //通知Windows改变了minmaxinfo
    2022-01-24 18:38:10下载
    积分:1
  • Delphi 制作的文字屏保
    Delphi 制作的文字屏保,文字交替变化,晃动鼠标结束屏保。本程序的亮点是对文字动画效果的生成和控制。具有文字渐变和水平平移动画。
    2022-03-28 23:49:31下载
    积分:1
  • 696518资源总数
  • 104441会员总数
  • 19今日下载