Главная страница
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.042 c
1-1133771689
SamProf
2005-12-05 11:34
2006.01.01
Работа с DLL


4-1130416515
kay
2005-10-27 16:35
2006.01.01
Хочу сделать Balloon tip, но не знаю как получить координаты...


14-1133995568
Кефир87
2005-12-08 01:46
2006.01.01
На какой частоте рамблер тв в ЮЗАО (Москва)


14-1134032272
AlexReal
2005-12-08 11:57
2006.01.01
DSL


14-1134047962
Kerk
2005-12-08 16:19
2006.01.01
Нашел в папке "Спам"