Форум: "KOL";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизTransparent для Item a в ListView... Найти похожие ветки
← →
MTsv DN (2005-11-04 15:53) [0]Всем привет...
Такой вопрос появился: как сделать, при ручной прорисовке ListView, Transparent для Item"a?.. Если ListView на панеле градиентной стоит, чтобы BackGround его тоже был градиентным... Просто Transparent помогает, только при отсутствии Item"ов...
С Уважением MTsv DN
← →
MTsv DN (2005-11-05 15:21) [1]В общем...может кому понадобится:
function TfrmMain.ListView1DrawItem(Sender: PObj; DC: HDC; const Rect: TRect;
ItemIdx: Integer; DrawAction: TDrawAction;
ItemState: TDrawState): Boolean;
var
R: PRect;
Brush: HBrush;
S: String;
ColorTxt, ColorBrush: TColor;
begin
R := @Rect;
S := PControl(Sender).LVItems[ItemIdx, 0];
if odsSelected in ItemState then
begin
ColorTxt := Color2RGB(clBlue);
ColorBrush := Color2RGB($00BE9476);
Brush := CreateSolidBrush(ColorBrush);
SetBkColor(DC, ColorBrush);
FillRect(DC, R^, Brush);
end
else
ColorTxt := Color2RGB(clBlack);
SetTextColor(DC, ColorTxt);
IL.Draw(PControl(Sender).LVItemImageIndex[ItemIdx] , DC, Rect.Left + 4 , Rect.Top + 4);
if odsSelected in ItemState then DrawEdge(DC, R^, EDGE_RAISED, BF_RECT);
Inc(R.Left, 30);
DrawText(DC, @S[1], Length(S), R^, DT_VCENTER or DT_SINGLELINE or DT_EXPANDTABS);
DeleteObject(Brush);
Result:= True;
end;
P.S. Переделал код с этого форума для PopUp меню...
С Уважением MTsv DN
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c