![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Засветить некоторые ячейки StringGrid'а
Khabibulin © (2007-01-07 20:54:00)У меня проблема...
закрасить ячейку или диапазон их я вроде могу..., а вот мне надо:
есть массив ColRow[0..9, 0..9] of byte;
и в нем такие значения:
..[2,4] = 1
..[4,1] = 1
..[9,9] = 1
все остальные 0...
значения этого массива в ходе могут изменятся, т.е. мне надо чтоб например: сells[2,4]; ..[4,1]; ..[9,9] где стоят 1-цы были закрашены...
Германн (2007-01-08 03:37:00) [1]
> Khabibulin © (08.01.07 03:25) [8]
>
> а try тут причем?
try тут притом, что в данной ячейке может быть что-то, что не совместимо с типом Integer.
> вот пропиши мне пожалуйста условие чтоб сells[2,4]; ..[4,
> 1]; ..[9,9] были закрашены...
>
Читай ещё и ещё и ещё раз http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168
Ну т.е. до тех пор, пока не поймешь принцип прорисовки окон в Винде!
Khabibulin (2007-01-08 03:25:00) [2]а try тут причем?
вот пропиши мне пожалуйста условие чтоб сells[2,4]; ..[4,1]; ..[9,9] были закрашены...
Германн (2007-01-08 03:20:00) [3]
> if ((((((((( вот что тут надо вписать чтоб оно взаимодействовало
> с моим массивом ))))))))))))
try
if StrToInt(Cells[ACol, ARow]) = 1 then
...
и т.д. и т.п.
Khabibulin (2007-01-08 03:06:00) [4]var
X, Y: Integer;
I1, I2: Integer;
begin
with TStringGrid(Sender).Canvas do
begin
with Rect do
begin
X := Left + (Right - Left - TextWidth(TStringGrid(Sender).Cells[ACol,
ARow])) div 2;
Y := Top + (Bottom - Top - TextHeight(TStringGrid(Sender).Cells[ACol,
ARow])) div 2;
end;
if (gdFixed in State) then
begin
Brush.Color := clBtnFace;
TextOut(X, Y, TStringGrid(Sender).Cells[ACol, ARow]);
end
else
begin
if (gdSelected in State) then
begin
Brush.Color := clMenuHighLight;
end
else
begin
if ((((((((( вот что тут надо вписать чтоб оно взаимодействовало с моим массивом )))))))))))) then
begin
Brush.Color := clMedGray;
end
else
begin
Brush.Color := clWhite;
end;
end;
TextRect(Rect, X, Y, TStringGrid(Sender).Cells[ACol, ARow]);
if (gdFocused in State) then
begin
DrawFocusRect(Rect);
end;
end;
end;
Германн (2007-01-08 02:32:00) [5]
> Khabibulin © (08.01.07 02:21) [4]
>
> да я по такому принципу уже пробывал, не получается! в смысле
> красит одну ячейку и все... а мне надо по моему примеру.
> ..
Приводи свой код. Найдём ошибку.
Khabibulin (2007-01-08 02:21:00) [6]да я по такому принципу уже пробывал, не получается! в смысле красит одну ячейку и все... а мне надо по моему примеру...
Германн (2007-01-08 01:57:00) [7]
> Khabibulin © (08.01.07 01:14) [2]
>
> Я понимаю, а подробнее нельзя?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168
Khabibulin (2007-01-08 01:14:00) [8]Я понимаю, а подробнее нельзя? желательно на примере моего вопроса...
Loginov Dmitry (2007-01-08 00:44:00) [9]OnDrawCell()