Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2006.08.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.041 c
3-1148995910
Romul
2006-05-30 17:31
2006.08.06
Работа с полем BLOB, очень жду


15-1152180840
Cashmare
2006-07-06 14:14
2006.08.06
Убрать автовывод


3-1146048913
Tornado
2006-04-26 14:55
2006.08.06
Вопрос опять про Access - > MS SQL


15-1151863187
Handle
2006-07-02 21:59
2006.08.06
Люди поздравьте меня


2-1153252646
crazy_corpse
2006-07-18 23:57
2006.08.06
Java