Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Вниз

Как с помощью функции 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 1.579 c
2-1134835239
RX
2005-12-17 19:00
2006.01.01
общие переменные


4-1130518758
Ландграф мобил=)
2005-10-28 20:59
2006.01.01
Динамическое создание процедуры


14-1133777736
nurbal
2005-12-05 13:15
2006.01.01
как открыть exe-шный


10-1110566105
Nicolas1989
2005-03-11 21:35
2006.01.01
Функция Sort


14-1133983047
SergP
2005-12-07 22:17
2006.01.01
Какая максимальная длина URL а допускается в GET-запросах?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский