Вниз
Скачать: CL | DM;

Отрисовка ellipce в ListBox   Найти похожие ветки 

← →
Scot Storch   (2008-11-18 12:51) [0]

Необходимо для каждого item"a ListBox"а слева от текста нарисовать круг закрашеный определенным цветом.

Делаю так, но закрашивается вся область с текстом:


procedure Tform_Main.list_ResultDrawItem(ListBox: TCustomListBox_;
 Canvas: TCanvas; Index: Integer; var Rect: TRect; State: TOwnerDrawState;
 var Done: Boolean);
begin
 with Rect do
 begin
   Canvas.Brush.Color := TColor(ListBox.Items.Objects[Index]);
   Canvas.Ellipse(Left + 4, Top + 4, Left + 12, Bottom - 4);
   Inc(Left, 16);
 end;
end;

Помогите исправить


← →
MBo ©   (2008-11-18 13:06) [1]

после рисования эллипса Brush.style поставь bsClear


← →
{RASkov} ©   (2008-11-18 13:07) [2]

> [0] Scot Storch   (18.11.08 12:51)

procedure Tform_Main.list_ResultDrawItem(ListBox: TCustomListBox_;
Canvas: TCanvas; Index: Integer; var Rect: TRect; State: TOwnerDrawState;
var Done: Boolean);
begin
with (Control as TListBox).Canvas do
begin
  FillRect(Rect);
  TextOut(Rect.Left+16, Rect.Top, (Control as TListBox).Items[Index]);
  Brush.Color := TColor(ListBox1.Items.Objects[Index]);
  Ellipse(Rect.Left + 4, Rect.Top + 4, Rect.Left + 12, Rect.Bottom - 4);
  //Inc(Left, 16);
end;
end;


← →
Scot Storch   (2008-11-18 13:14) [3]

Всем спасибо



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
15-1224709773
Real
2008-10-23 01:09
2008.12.28
Почему своих контор нет? Или очень мало?


2-1226574698
Andrey_ka
2008-11-13 14:11
2008.12.28
как проверить существует ли переменная


15-1224858616
User_OKA
2008-10-24 18:30
2008.12.28
Приятно, что вы всё такие же...


2-1226997574
SkyN
2008-11-18 11:39
2008.12.28
Как избавиться от 100% загрузки CPU? 5Мб лога в секунду.


4-1202837079
Dmitrij
2008-02-12 20:24
2008.12.28
Есть чужое приложение, нужно определить состояние Tbutton




   Наверх