Главная страница
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.056 c
2-1153224894
VALUA
2006-07-18 16:14
2006.08.06
Отчет - данные из разных таблиц - 2 страницы


2-1152855604
pushkin42
2006-07-14 09:40
2006.08.06
Совместимость NT систем???


2-1153410059
Батыр
2006-07-20 19:40
2006.08.06
Реестр


2-1153411217
Ivolg
2006-07-20 20:00
2006.08.06
Сообщение


15-1152610934
Шмелъ
2006-07-11 13:42
2006.08.06
Вопрос жителям украины