用Delphi制作个性化的菜单(5)

2008-04-09 04:31:56来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


//设置字体和其前景色


ACanvas.Font := Screen.IconFont;


SetBkMode(ACanvas.Handle,TRANSPARENT); //设背景为透明



//根椐菜单宽度计算渐变背景色的填充色增量;当菜单宽度大于256时没有渐变较果


dc:=ACanvas.ClipRect.Right-ACanvas.ClipRect.Left;


dc:=(256 div dc);


dc:=dc*256;



//计算渐变背景色的填充起点


xb:=ARect.Left ImageList1.Width 2;



//计算渐变背景色的填充终点


xe:=ARect.Right-xb;



//绘制背景图


ACanvas.StretchDraw(Rect(0,0,ACanvas.ClipRect.Right,ACanvas.ClipRect.Bottom),


CoolBar1.Bitmap);//非平辅方式绘制



//绘制菜单项文本


for j:=0 to Item.Parent.Count -1 do


begin


y:=19*j 4;


ACanvas.TextOut(ARect.Left 20,y,Item.Parent.Items[j].Caption);//front color is black font


end;



//绘制当前选择的菜单项


if Selected then begin


for i:=0 to xe do begin


ACanvas.Brush.Color := $002222FF i*dc; //

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Borland IDE 常用热键简介 v0.1

下一篇:[笔记] FMX 在 iOS 平台主窗体 DoubleTap 手势,要慎用!