Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.07;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.011 c
1-1202989267
lead-in
2008-02-14 14:41
2008.12.07
TSFDS


15-1223228797
dr_creigan
2008-10-05 21:46
2008.12.07
активация делфы


2-1225095501
worldmen
2008-10-27 11:18
2008.12.07
сравнение двух картинок TImage


15-1223242931
обана!
2008-10-06 01:42
2008.12.07
А было бы нефигово


2-1224854865
Terasbetoni
2008-10-24 17:27
2008.12.07
Выравнить окно по сетке