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

Delphi 使用Canvas美化ListBox列表项

于 2022-06-01 发布 文件大小:6.24 kB
0 208
下载积分: 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 让组件拖动窗体 按钮拖动窗口移动,如图所示的窗口中,用户只需按住按钮,即可将整个窗口在屏幕上随意拖动,实现了如何用组件来移动窗体的功能。下面是相关代码:   procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;    Shift: TShiftState; X, Y: Integer);   begin    if Button=MBLeft then    begin    releasecapture;    PerForm(WM_SYSCOMMAND,$F012,0);    end;   end;
    2023-03-07 20:25:03下载
    积分:1
  • Delphi 演示如何播放GIF动画
    Delphi 演示如何播放GIF动画,其实就是在窗口中显示GIF图像,这是一种连续显示类似于动画效果的图像格式,在窗体上只要可以正常显示这种文件,就能实现播放功能,如示例截图所示的效果。
    2023-05-10 00:50:04下载
    积分:1
  • Delphi 打印图形(图片)
    Delphi 打印图形,把图片打印出来,通过这个例子,你可以学习到:    strect:Trect;//定义打印输出矩形框的大小    temhi,temwd:integer;   begin    if DIGPrint.execute then    begin    temhi:=imgpic.picture.height;    temwd:=imgpic.picture.width;    while (temhi = printer.pageheight div 2)and    //将图形放大到打印页面的1/2大小    (temwd = printer.pagewidth div 2) do    begin    temhi:=temhi+temhi;    temwd:=temwd+temwd;    end;    with strect do //定义图形在页面上的中心位置输出    begin    left := (printer.pagewidth -temwd) div 2;    top := (printer.pageheight-temhi) div 2;    right := left+temwd;    bottom := top+temhi;    end;    with printer do    begin    begindoc;    canvas.stretchdraw(strect,imgpic.picture.graphic);    enddoc;    end;    end;
    2022-10-24 23:35:04下载
    积分:1
  • 轻型网络聊天Delphi程序-
    轻型网络聊天Delphi程序-源码,类似聊天室, 很简单,这是个多年前的网络编程例子,聊天过程中显示对方的IP,和当前好友姓名,还支持删除聊天记录。用户注册时,可对注册信息进行初始验证,比如用户名是否存在、姓名和IP地址不能空等,有一些技巧对Delphi打基础有帮助。
    2023-05-16 10:20:03下载
    积分:1
  • Delphi 将数字转换成字符串
    Delphi 将数字转换成字符串,请参见以下的转换代码,转换成功后将以 showmessage的形式返回结果,核心转换功能代码实现:   procedure TForm1.Button1Click(Sender: TObject);   var    i:integer;    s:string;   begin    i:=1234567;    s:=inttostr(i);    showmessage(s);   end;
    2022-09-05 21:20: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 简单获取Windows时间的例子
    简单获取Windows时间-Delphi源代码,改时间的小程序,在Windows自带的时间管理中也可完成系统时间的修改,这个只是一个帮助了解Windows与Delphi编程的例子,如何通过Delphi的程序来修改Windows时间,大致就是这样实现的。可参见以下源码:   procedure TForm1.Button1Click(Sender: TObject);   var    Dtimer : TSystemTime;    hh,Ghh : Integer;   begin    hh := StrToInt(Trim(Edit4.Text));    if hh < 8 then    Ghh := 16 + hh    else    Ghh := hh - 8;    with Dtimer do    begin    wYear:=StrToInt(Edit1.Text);    wMonth:=StrToInt(Edit2.Text);    wDay:=StrToInt(Edit3.Text);    wHour:=Ghh;    wMinute:=StrToInt(Edit5.Text);    wSecond:=StrToInt(Edit6.Text);    end;    SetSystemTime(Dtimer);   end;
    2022-07-09 18:55:23下载
    积分: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 与Java TCPIP通信的范例
    这个Delphi例子我觉得值得看,用Java写了TCPIP通信的服务端,用Delphi写了客户端,两者在不同的语言环境下运行,并建立TCPIP通信,服务端的运行效果如示例截图所示。为了不发生消息乱码的现象,两者程序编码采用UTF8格式,用UTF-8格式发送出去,收到的UTF-8数据转成ANSI,这一部分的参考请参见util_utf8.pas文件,消息发送、服务器建立连接部分,请参见Unit1.pas文件。
    2022-08-23 01:44:09下载
    积分:1
  • Delphi 在程序运行过程中动态添加菜单
    Delphi创建动态菜单,在程序运行过程中动态添加菜单,点击“添加菜单”按钮,会在菜单栏中增加一个“编辑”菜单项,预设中每次添加的菜单项都是“编辑”,这也是为了验证不要添加重复的菜单项,代码中的判断是一种方法,另外也可以通过菜单项的Caption属性来判断,不过之前最好设置AutoHotkeys和AutoLineReduction为maManual。在以下创建菜单项的代码中:   self.MainMenu1.AutoHotkeys:=maManual;   self.MainMenu1.AutoLineReduction:=maManual;   通过设置这两个属性可以禁止程序自动为菜单生成热键,否则程序会自动在菜单的Caption属性中加入热键,并且会修改Caption属性的值,给通过Caption属性判断菜单项带来麻烦。
    2022-03-22 14:48:49下载
    积分:1
  • 696516资源总数
  • 106658会员总数
  • 16今日下载