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

Вниз

Цвет ячейки StringGrid по условию   Найти похожие ветки 

 
Германн ©   (2011-11-26 00:41) [40]


> Т.е. как правильно объявлять, присваивать значение объекту
> ячейки, очищать и т.д.

Присваивать:
StringGrid.Objects[X, Y] := TObject(clYellow);
Очищать:
StringGrid.Objects[X, Y] := TObject(0);
Это лишь пример. Но создавать специальный класс TCellsColor для раскраски  грида это измышления воспаленного мозга.

P.S.
Остался вопрос. А для чего в топике существуют:
var
 A_Col: longint absolute ACol;
 A_Row: longint absolute ARow;

?


 
Плохиш ©   (2011-11-26 00:50) [41]


> Laguna ©   (25.11.11 22:52) [37]


> Посмотри как там уничтожается объект и ничего за собой больше
> не подчищает.

Ты, наверное, обратил внимание, где объекты уничтожаются?

PS. А статья первокласника. Прикольно, создать объект, присвоить массиву и вместо того, что бы использовать полученную при создании ссылку, несколько раз выбирать этот объект из массива, да ещё и дважды проверять его тип...


 
Германн ©   (2011-11-26 01:28) [42]


> А статья первокласника.

А автор по какой-то причине других и не находит. Боится что-ли, что не поймет?


 
Laguna ©   (2011-11-26 01:44) [43]


> PS. А статья первокласника. Прикольно, создать объект, присвоить
> массиву и вместо того, что бы использовать полученную при
> создании ссылку, несколько раз выбирать этот объект из массива,
>  да ещё и дважды проверять его тип...

Вот в том то и дело, что не всему писаному можно верить(в [20] я убирал двойные проверки на тип), поэтому на форуме и хочется уточнить у мастеров.

> P.S.Остался вопрос. А для чего в топике существуют:var  A_Col:
>  longint absolute ACol;  A_Row: longint absolute ARow;

Я уже отвечал, взято из DelphiWord.

подправил после ликбеза

  begin
    InfoStringGrid.Cells[X, Y] := S;
    if FlagObj then
     InfoStringGrid.Objects[X, Y] := TObject(clAqua);
  end
.....

procedure TMainFrm.InfoStringGridDrawCell(Sender: TObject; ACol,
                  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
 with (Sender as TStringGrid), Canvas do
  begin
    if Objects[ACol, ARow] <> nil then
     Brush.Color := TColor(Objects[ACol, ARow])
    else
     Brush.Color := clBtnFace;
    FillRect(Rect);
    DrawText(Handle, PChar(Cells[ACol, ARow]), length(Cells[ACol, ARow]),
             Rect, DT_CENTER or DT_SINGLELINE or DT_VCENTER or DT_NOCLIP);
  end;
end;

Сейчас все правильно? Или еще какой лоск нужно навести?


 
Laguna ©   (2011-11-26 01:46) [44]


> А автор по какой-то причине других и не находит. Боится
> что-ли, что не поймет?

Зря вы так, уважаемый, просто первое что попалось на глаза, подходящее под решаемую задачу ;) . А по правде говоря нэт пестрит попугайской переписью одного и того же кода в разной цветовой гамме...


 
Германн ©   (2011-11-26 02:26) [45]


> Я уже отвечал, взято из DelphiWord.

Дык тебе уже сказали.
Код работает, но это код разработан в эпоху Д1.
Да к тому же он глючный даже на Д1.
Ну нельзя осваивать "любой язык программирования", да и вообще "программирование" только на примерах из И-нета!


 
Laguna ©   (2011-11-26 03:59) [46]


> Ну нельзя осваивать "любой язык программирования", да и
> вообще "программирование" только на примерах из И-нета!

Это понятно. Литературу тоже почитываю. Кстати, спасибо за [40], работает как положено.


 
megavoid ©   (2011-11-26 10:53) [47]

Велосипеды - это хорошо, но гугл - ещё лучше.

Ищем ZColorStringGrid (странно, первая ссылка ведёт куда надо), качаем юнит, используем его:
uses ZColorStringGrid;

заменяем
InfoStringGrid: TStringGrid;
на:
InfoStringGrid: TZColorStringGrid;

Далее в программе всё становится просто:
if (условие) then InfoStringGrid[7.15].BGColor := clAqua;
плюс множество дополнительных плюшек...


 
Laguna ©   (2011-11-26 16:47) [48]

>megavoid ©   (26.11.11 10:53) [47]

Компонент интересный, но ради того, чтобы зарисовать цветом ячейку включать в прогу дополнительный компонент я думаю не стоит. Тем более он может затеряться при переносе кода на другую машину и т.д. Однако за информацию спасибо, возьму на заметку.



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

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

Наверх




Память: 0.56 MB
Время: 0.01 c
15-1321182125
clickmaker
2011-11-13 15:02
2012.03.04
Баг в DMClient


2-1322210432
LDV
2011-11-25 12:40
2012.03.04
установить курсор в датасете после insert


15-1320987591
Perevamon
2011-11-11 08:59
2012.03.04
Почему запрос выводит лишние строки?


4-1254841791
intlex
2009-10-06 19:09
2012.03.04
как определить владельца мьютекса (mutex owner)


15-1320746965
Витя
2011-11-08 13:09
2012.03.04
Я старею , или нет?