Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Delphi Создать массив, элементы которого равны количеству цифр чисел, расположенных по кромке матрицы Здравствуйте , Стоит такое задание , Создать массив, элементы которого равны количеству цифр чисел, расположенных по кромке матрицы. Не много задания не пойму , само условие . Это выходит... https://www.cyberforum.ru/ delphi-beginners/ thread694462.html Delphi Программа в Delphi. нужен совет глупому человеку, т.е. мне
Здравствуйте, Добрые люди, прошу у вас помощи. Нужно написать программу, которая будет считывать количество файлов, и количество файлов это будет третью размерностью массива, количество столбцов в...
Delphi Транспортная задача Всем доброго дня (утра, вечера). Помогите пожалуйста с написанием кода для задачи. Задачу решить не проблема, но вот в Delphi я как-бы не очень. Для перевозок груза на трех линиях могут быть... https://www.cyberforum.ru/ delphi-beginners/ thread694380.html Delphi Дана целочисленная матрица размера N×M Дана целочисленная матрица размера N×M. Найти количество ее строк1|столбцов2, все элементы которых различны. https://www.cyberforum.ru/ delphi-beginners/ thread694378.html
Delphi Поменять местами минимальный и максимальный элементы массива
Поменять местами минимальный и максимальный элементы массива.
Delphi Даны две последовательности по n чисел в каждой Даны две последовательности по n чисел в каждой. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую (считать, что хотя бы одно такое число есть). https://www.cyberforum.ru/ delphi-beginners/ thread694374.html
Delphi панель и img Добрый вечер) Как мне картинку разместить на panel.Все перепробовал,не могу найти... заранее спасибо) https://www.cyberforum.ru/ delphi-beginners/ thread694264.html GIF анимация Delphi
Привет всем. Подскажите, как в Delphi XE2 можно воспроизвести gif-анимацию. Советуют установить RxLib компоненты, но для XE2 их вроде нет.
Delphi Открытие нового окна https://www.cyberforum.ru/ delphi-beginners/ thread694197.html
Имеется WebBrowser и EmbeddedWB. При срабатывании открытия нового окна в WebBrowser, надо чтобы оно открылось в EmbeddedWB. Я так понял надо так procedure TForm1.WebBrowser1NewWindow2(Sender:...
Delphi Разработка программ, связанных с формированием одномерных массивов Задана последовательность Х=(х1, х2...х10) Сформировать из нее одномерный массив Y, состоящий из элементов массива Х, кратных 3. Если таковых не окажется, вывести фразу "элементов, кратных 3, нет".... https://www.cyberforum.ru/ delphi-beginners/ thread694196.html
Как проверить наличие и удалить файлы cookie в TWebBrowser? Delphi
Как проверить наличие и удалить файлы cookie в TWebBrowser?
Delphi Нахождение суммы элементов, расположенных до максимального элемента и после максимального элемента Помогите пожалуйста, совсем не понимаю как делать Составить программу, которая в каждой строке матрицы G(m,n), m<=15, n<=17 находит сумму элементов, расположенных до максимального элемента и после... https://www.cyberforum.ru/ delphi-beginners/ thread694186.html
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31246 / 20425 / 7961
Регистрация: 22.10.2011
Сообщений: 35,460
Записей в блоге: 6
11.11.2012, 12:52 0

Отрисовка ячеек StringGrid - Delphi - Ответ 3682041

11.11.2012, 12:52. Показов 1940. Ответов 2
Метки (Все метки)

Ответ

А не надо привязываться в процедуре отрисовки к конкретному имени. Для этого есть Sender:

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
procedure TForm3.sGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
  I: Integer;
  sGrid : TStringGrid; // <---
Begin;
  sGrid := Sender as TStringGrid; // <--- теперь будешь работать с тем гридом, который передан через Sender
 
     if sGrid.Cells[Acol,ARow]='5' then
  begin
    sgrid.Canvas.Brush.Color := $0077FD99;   
    sgrid.Canvas.FillRect (Rect);
    sgrid.Canvas.TextRect (Rect, Rect.Left + 2, Rect.Top + 2, sgrid.Cells[ACol,ARow]);
  end;
 
  if sGrid.Cells[Acol,ARow]='4' then
  begin
    sgrid.Canvas.Brush.Color := $0077FAFD;   
    sgrid.Canvas.FillRect (Rect);
    sgrid.Canvas.TextRect (Rect, Rect.Left + 2, Rect.Top + 2, sgrid.Cells[ACol,ARow]);
  end;
 
  if sGrid.Cells[Acol,ARow]='3' then
  begin
    sgrid.Canvas.Brush.Color := $00758AFF;    
    sgrid.Canvas.FillRect (Rect);
    sgrid.Canvas.TextRect (Rect, Rect.Left + 2, Rect.Top + 2, sgrid.Cells[ACol,ARow]);
  end;
  SetBkMode(Handle, TRANSPARENT);
end;


Вернуться к обсуждению:
Отрисовка ячеек StringGrid Delphi
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2012, 12:52
Готовые ответы и решения:

Отрисовка цветных ячеек в StringGrid
Делаю ИСС Кинотеатр и нужно сделать выбор места в зале. Делаю так создаю массив из 0 1 и 2. 0 -...

StringGrid, скрытие и отрисовка ячеек
Здраствуйте, хотел спросить совета у знающих людей. У меня есть StringGrid1 заполненный данными. ...

Отрисовка объединенных ячеек Stringgrid
Здравствуйте. Нужна помощь в рисовании ячеек Stringgrid. В фиксированной строке Stringgrid есть...

StringGrid Цвет фона пустых ячеек и ячеек с текстом
Доброго дня.. Задачка следующая: Ячейки в StringGrid'e заполняются по блоку из Timer. В...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2012, 12:52

Отрисовка StringGrid
procedure TForm16.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State:...

Закрашивание ячеек stringgrid
Нужно чтобы вместо вывода '0' в условиях ,эти ячейки закрашивались. Заранее спасибо откликнувшимся.

Сложение ячеек в StringGrid
Подскажите пожалуйста, как сложить значения всех столбцов stringgrid1 и вывести в stringgrid2 ???

StringGrid обьединение ячеек
Нужно сделать таблицу как на фото, но не удается обьединить ячейку в StringGrid. Как это можно...

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