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

Проблема с CheckListBox1DrawItem   Найти похожие ветки 

← →
Mozgan   (2008-10-31 10:16) [0]

Добрый день!

Мне необходимо реализовать прорисовку элементов компонента CheckListBox1. Если элемент выбран - окрасить определенным цветом, если элемент списка не выбран - в другой цвет.

Использую такой код. Но он работает не так как хотелось бы. Такое ощущение что не "хватает" одного элемента.

Подскажите пожалуйста, что я не так делаю?


procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
 Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
 myColor: TColor;
 myBrush: TBrush;
begin
 myBrush := TBrush.Create;
 with (form1.CheckListBox1).Canvas do
 begin
   if not form1.CheckListBox1.Checked[index] then
   begin
     form1.CheckListBox1.UpdateControlState;
     myColor := $00CCCCFF;
     font.Color:= clblack;
   end else
   begin
     form1.CheckListBox1.UpdateControlState;
     myColor := $00FFE4CA;
     font.Color:= clblack;
   end;
   myBrush.Style := bsSolid;
   myBrush.Color := myColor;
   Windows.FillRect(handle, Rect, myBrush.Handle);
   Brush.Style := bsClear;
   TextOut(Rect.Left, Rect.Top, (form1.CheckListBox1).Items[Index]);
   MyBrush.Free;
 end;


← →
Palladin ©   (2008-10-31 10:28) [1]

TForm.OnCreate, CheckListBox1.DoubleBuffered:=True;
TCheckListBox.OnMouseUp, CheckListBox1.Repaint;


← →
Mozgan   (2008-10-31 10:32) [2]

Спасибо большое! разобрался!


← →
Palladin ©   (2008-10-31 10:38) [3]

или вместо последней, даже предпочтительней
TCheckListBox.OnClickCheck, CheckListBox1.Repaint;



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

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



Память: 0.45 MB
Время: 0.007 c
2-1225174004
worldmen
2008-10-28 09:06
2008.12.07
Программно нажать комбинацию клавиш


15-1223305707
Slider007
2008-10-06 19:08
2008.12.07
С днем рождения ! 5 октября 2008 воскресенье


2-1224234351
Андрей
2008-10-17 13:05
2008.12.07
Выделение ячейкив DrawGrid


15-1223001832
Slider007
2008-10-03 06:43
2008.12.07
С днем рождения ! 3 октября 2008 пятница


2-1225438987
zxc
2008-10-31 10:43
2008.12.07
Clipboard




   Наверх