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

Delphi 使用Canvas美化ListBox列表项

于 2022-06-01 发布 文件大小:6.24 kB
0 210
下载积分: 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
  • 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
  • Delphi7 计算汉字的笔划
    Delphi7 计算汉字的笔划有几划,输入一个汉字,本程序将计算出这个字有多少笔划,最后将结果将输出一个整数。
    2022-12-25 04:20:03下载
    积分: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户籍管理系统,Access数据库版
    Delphi户籍管理系统,Access数据库版,界面方面使用了Xpmenu和SReport控件。测试时的登录初始密码为:222222 。   在数据库编程方面,本系统更注重录入及查询,采用多重SQL语句查询,并结合查询可生成报表。
    2022-04-18 17:44:59下载
    积分: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+Interbase-Code-汽配进销存-全-使用手册-钻石精品
    (R)-Delphi+Interbase-Code-龙邦汽配进销存源码-源代码全-使用手册-钻石精品
    2022-03-16 11:47:13下载
    积分:1
  • 在Windows7 中调用系统的日期时间设置窗口(Delphi)
    Delphi在Windows7 中调用系统的日期时间设置窗口,在Delphi程序中,调用Windows中的指定窗口,本例是介绍在Windows7环境下调用系统的日期时间设置窗口,即控制面板中的日期时间设置面板,在Windows XP中同样适用,win8或win10下未做测试。
    2023-08-01 17:35:04下载
    积分:1
  • EI3.0(DELPHI)
    EI3.0(DELPHI源码),据说挺完整的,可以下载一下试试
    2022-03-30 08:16:31下载
    积分: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
  • 696516资源总数
  • 106658会员总数
  • 16今日下载