i removed
Kod: Tümünü seç
xSelItemLeft : Integer = 0;
xSelItemWidth : Integer = 0;
xSelItemHeight : Integer = 0;
Kod: Tümünü seç
xSelItemTop : Integer = 0; // to align the top of panel to the item
also i did not set xSelItemTop variable if item.selected but instead i start set variable any ways if its selected or not like this
Kod: Tümünü seç
if Item.Selected then
begin
SetRect(R, Rect.Left, Rect.Top, Rect.Right, Rect.Bottom-( (Rect.Bottom-Rect.Top) div 2 ) );
GradientFillCanvas(Sender.Canvas, SlightlyDark(panel1.Color), SlightlyDark(panel1.Color), R, gdhorizontal); // GraphUtil
SetRect(R, Rect.Left, Rect.Bottom-( (Rect.Bottom-Rect.Top) div 2 ), Rect.Right, Rect.Bottom );
GradientFillCanvas(Sender.Canvas, SlightlyDark(panel1.Color), SlightlyDark(panel1.Color), R, gdhorizontal);
Sender.Canvas.Brush.Style := bsClear;
Sender.Canvas.Pen.Color := SlightlyDark(panel1.Color);
Sender.Canvas.Pen.Width := 0;
//Sender.Canvas.Font.Color := clBlue;
//Sender.Canvas.Brush.Color := clYellow;
//Sender.Canvas.FillRect(Rect);
Rectangle( Rect.Left, Rect.Top, Rect.Right, Rect.Top + ImageList1.Height);
end;
xSelItemTop := sender.Top + ImageList1.Height;
Sender.Canvas.Brush.Style := bsClear