Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
22 / 22 / 30
Регистрация: 23.10.2012
Сообщений: 344
1

Раскраска stringgrid

09.03.2013, 13:20. Просмотров 3812. Ответов 2
Метки нет (Все метки)

как можно раскрасить stringgrid, к примеру 1 строчку светло-зеленым, а другую зеленым?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2013, 13:20
Ответы с готовыми решениями:

Раскраска в StringGrid
Всем привет! Срочно нужно дорешать задачу. Я её почти сделал. А вот и она сама Дана...

Раскраска ячеек в stringgrid
Есть stringgrid заполненный данными. Пользователь может изменить какое-либо данное. Как только это...

StringGrid раскраска и немного sql
Есть программа рисующая календарь и БД хранящая информацию по отпускам. В идеале хотелось бы по...

Раскраска строк StringGrid в зависимости от данных
Всем добрый день! Очень прошу помочь новичку разобраться со следующей задачей: Необходимо...

2
2474 / 1850 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
09.03.2013, 13:34 2
Как всегда, использовать событие OnDrawCell.
0
13034 / 5820 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
09.03.2013, 16:00 3
Лучший ответ Сообщение было отмечено как решение

Решение

Пример раскраски.
На форму надо положить StringGrid1 : TStringGrid. Для StringGrid1 создать обработчик события OnDrawCell и код этого обработчика оформить так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//Обработчик, который вызывается при перерисовке ячейки.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
type
  TSave = record
    FontColor : TColor; //Цвет шрифта.
    FontStyle : TFontStyles; //Стиль шрифта.
    BrColor : TColor; //Цвет кисти (цвет заливки).
  end;
var
  Sg : TStringGrid;
  Save : TSave;
begin
  Sg := Sender as TStringGrid;
 
  with Sg.Canvas, Save do begin
    //Запоминаем параметры шрифта и кисти.
    FontColor := Font.Color;
    FontStyle := Font.Style;
    BrColor := Brush.Color;
 
    //Устанавливаем новые парметры.
    if gdSelected in State then begin //Если ячейка выделена.
      Font.Color := RGB(255, 255, 255); //Белый.
      Font.Style := Font.Style + [fsBold]; //Жирный шрифт.
      Brush.Color := RGB($66, $CC, 0); //Зелёный.
    end else if ARow < Sg.FixedRows then begin //Фиксированные строки.
      Font.Color := RGB(255, 255, 255); //Белый.
      Font.Style := Font.Style + [fsBold]; //Жирный шрифт.
      Brush.Color := RGB($CC, $99, $66); //Коричневый.
    end else if ACol < Sg.FixedCols then begin //Фиксированные столбцы.
      Font.Color := RGB(255, 255, 255); //Белый.
      Font.Style := Font.Style + [fsBold]; //Жирный шрифт.
      Brush.Color := RGB($66, $99, $CC); //Серо-синий.
    end else if ARow mod 2 = 0 then begin //Нефиксированные строки с чётными индексами.
      Font.Color := RGB(0, 0, 0); //Чёрный.
      Brush.Color := RGB($FF, $FF, $CC);  //Светло-жёлтый.
    end else begin //Нефиксированные строки с нечётными индексами.
      Font.Color := RGB(0, 0, 0); //Чёрный.
      Brush.Color := RGB($CC, $FF, $FF); //Светло-синий.
    end;
 
    //Прорисовываем ячейку.
    //Заливаем квадрат ячейки цветом кисти.
    FillRect(Rect);
    //Прорисовываем в ячейке текст.
    //Здесь +4 - так мы задаём ширину полей в ячейке.
    TextOut(Rect.Left + 4, Rect.Top + 4, Sg.Cells[ACol, ARow]);
 
    //Восстанавливаем прежние параметры канвы.
    Font.Color := FontColor;
    Font.Style := FontStyle;
    Brush.Color := BrColor;
  end;
end;
Таблицы цветов RGB можно найти через поисковик: https://www.google.ru/search?q... +RGB&hl=ru
На первой странице результатов можно выбрать: "Картинки по запросу Таблица цветов RGB" - там много разнообразных таблиц на любой вкус.
Например, эта таблица: http://www.easycoding.fatal.ru/html/rgb_table.php
5
Миниатюры
Раскраска stringgrid  
Вложения
Тип файла: rar ColoredStringGrid-01.rar (185.8 Кб, 109 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2013, 16:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Delphi 7 Stringgrid Нужно сделать цикл для заполнения Stringgrid данными из другого Stringgrid
Нужно чтобы из Stringgrid1 данные переносились в Stringgrid2 Но ТОЛЬКО ПО УСЛОВИЮ Таблицы...

Раскраска графа
Для раскраски графа используем заданную матрицу инцидентности(лежит в массиве mes). type ...

Раскраска ячеек
У меня не работает раскраска последнего столбца Stringgrid'a. Точнее, вообще ничего не...

DBGrid раскраска
http://www.delphikingdom.ru/images/cg1.gif Как раскрасить строки в DBGrid через один. Хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.