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

Вниз

Как с помощью функции OnDrawColumnCell выделить цветом всю строку   Найти похожие ветки 

 
volod   (2005-12-02 16:37) [0]

Вставил (отрисовал) checkbox в dbgrid, теперь мне нужно выделять всю строку другим цветом если стоит галка, заливка не подошла, так как заливаеться сам текст..., через column.color неидет так как визуально видно обновление цветов при проверки состояния checkbox"аююю


 
Reindeer Moss Eater ©   (2005-12-02 16:44) [1]

Когда отрисовываешь чекбокс его состояние выставляешь по какому-то
признаку?
Вот по этому же признаку и цвет остальных ячеек отрисовывай.


 
volod   (2005-12-02 17:20) [2]

по признаку rect типа tRect, но оно на текущею ячейку, а кол-во ячеек может меняться и мне необходимо чтоб все делалось, автоматом, тоесть если 3 ячейки в  строке, значит цвет меняют 3 ячеки, а если пять то 5, да и заливка как в checkbox неподходит, так как текста невидно......


 
Reindeer Moss Eater ©   (2005-12-02 17:33) [3]

А состояние чекбокса "Чекнут/Не чекнут" ты что, тоже по Rect выставляешь?


 
volod   (2005-12-02 17:44) [4]

Нет соостоянием можешь код глянуть:

if (column.FieldName="check") then
begin
 RectBox := Rect;
 RectBox.top:=Rect.Top + (Rect.Bottom - Rect.Top - 12) div 2;
 RectBox.bottom:=Rect.Top + (Rect.Bottom - Rect.Top + 12) div 2;
i:=0;checkit:=false;
while i < listbox1.Count do
 begin
  if ListBox1.Items.Strings[i] = DBGridEh1.DataSource.DataSet.Fields[0].Asstring then
   begin
       checkit:=true;
   end;
  i:=i+1;
end;
if checkit then
   Style:= DFCS_CHECKED
else
   Style := DFCS_BUTTONCHECK;
 dbgrideh1.Canvas.Brush.Color := clyellow;

 dbgrideh1.Canvas.FillRect(Rect);
 DrawFrameControl(dbgrideh1.Canvas.Handle, RectBox, DFC_BUTTON, Style);
end;

Кстати здесь где то основу брал...

Так вот

if checkit then
   Style:= DFCS_CHECKED
else
   Style := DFCS_BUTTONCHECK;

Иммено этой частью кода я ставлю, а дальше все само.....


 
Reindeer Moss Eater ©   (2005-12-02 17:52) [5]

Вот тебе и говорят.
То условие, на основании которого ты выставляешь style у чекбокса, - его используй и для определения каким цветом рисовать ячейку.


 
volod   (2005-12-02 17:58) [6]

Ну подскажи плиз... У меня в описании переменной style типа integer, а код я брал с какой то темы здесь, немного его поменял под себя,

Если можно то как чего подробней плз.......


 
Reindeer Moss Eater ©   (2005-12-02 18:01) [7]

Че ты хочешь?


 
volod   (2005-12-02 18:07) [8]

есть конкретная проблемма...
if checkit then
  Style:= DFCS_CHECKED
else
  Style := DFCS_BUTTONCHECK;

этим кодам я ставил или неставил галку...

> Вот тебе и говорят.
> То условие, на основании которого ты выставляешь style у
> чекбокса, - его используй и для определения каким цветом
> рисовать ячейку.

как с помощью этого Style вообще работать цветом????
Если есть через него стили цвета, то какие?????


 
Reindeer Moss Eater ©   (2005-12-02 18:10) [9]

В баню не хочешь сходить, или купить на базаре гуся?


 
volod   (2005-12-02 18:28) [10]

Вообщем ясно, думал дельный совет будет или ссылка, а не:

> Когда отрисовываешь чекбокс его состояние выставляешь по
> какому-то
> признаку?
> Вот по этому же признаку и цвет остальных ячеек отрисовывай.
>

Это я и сам знаю что где то тут, поменять одно из свойств ....


 
Reindeer Moss Eater ©   (2005-12-02 18:30) [11]

Я тебе дал и совет и ссылку.
Точнее ссылку и совет.



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

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

Наверх




Память: 0.49 MB
Время: 0.045 c
2-1134452200
Alex7
2005-12-13 08:36
2006.01.01
Цвет надписи у кнопки


2-1134730011
Oleg777
2005-12-16 13:46
2006.01.01
Как определить IP-адрес пользователя


14-1133939182
КаПиБаРа
2005-12-07 10:06
2006.01.01
Пара задач с числами


2-1134522939
SergP
2005-12-14 04:15
2006.01.01
Скрыть метод в наследнике


2-1134546788
ХанК
2005-12-14 10:53
2006.01.01
Button. Как добавить обработку нажатия?