Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Засветить некоторые ячейки StringGrid а   Найти похожие ветки 

 
Khabibulin ©   (2007-01-07 20:54) [0]

У меня проблема...
закрасить ячейку или диапазон их я вроде могу..., а вот мне надо:
есть массив 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-цы были закрашены...


 
Loginov Dmitry ©   (2007-01-08 00:44) [1]

OnDrawCell()


 
Khabibulin ©   (2007-01-08 01:14) [2]

Я понимаю, а подробнее нельзя? желательно на примере моего вопроса...


 
Германн ©   (2007-01-08 01:57) [3]


> Khabibulin ©   (08.01.07 01:14) [2]
>
> Я понимаю, а подробнее нельзя?

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168


 
Khabibulin ©   (2007-01-08 02:21) [4]

да я по такому принципу уже пробывал, не получается! в смысле красит одну ячейку и все... а мне надо по моему примеру...


 
Германн ©   (2007-01-08 02:32) [5]


> Khabibulin ©   (08.01.07 02:21) [4]
>
> да я по такому принципу уже пробывал, не получается! в смысле
> красит одну ячейку и все... а мне надо по моему примеру.
> ..

Приводи свой код. Найдём ошибку.


 
Khabibulin ©   (2007-01-08 03:06) [6]

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 03:20) [7]


> if ((((((((( вот что тут надо вписать чтоб оно взаимодействовало
> с моим массивом ))))))))))))

try
 if StrToInt(Cells[ACol, ARow]) = 1 then
...
и т.д. и т.п.


 
Khabibulin ©   (2007-01-08 03:25) [8]

а try тут причем?
вот пропиши мне пожалуйста условие чтоб сells[2,4]; ..[4,1]; ..[9,9] были закрашены...


 
Германн ©   (2007-01-08 03:37) [9]


> 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
Ну т.е. до тех пор, пока не поймешь принцип прорисовки окон в Винде!



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.046 c
15-1168075168
Slider007
2007-01-06 12:19
2007.01.28
С днем рождения ! 6 января


3-1162996402
pic509
2006-11-08 17:33
2007.01.28
как убрать пароль с базы данных ib5?


2-1168508786
Shuttle
2007-01-11 12:46
2007.01.28
плиз


3-1163046526
petvv
2006-11-09 07:28
2007.01.28
Проблема с запросом


3-1162580357
Adil
2006-11-03 21:59
2007.01.28
Oracle 10g Unicode, TntComponents