Главная страница
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.55 MB
Время: 0.013 c
15-1321250855
Dimka Maslov
2011-11-14 10:07
2012.03.04
Релятивистский диск


15-1321269775
картман
2011-11-14 15:22
2012.03.04
файлы


15-1321293166
oxffff
2011-11-14 21:52
2012.03.04
Отправка посылки из Москвы


1-1287596219
MAcKZloy
2010-10-20 21:36
2012.03.04
XmlDocument и теги


3-1272050895
штуша-кутуша
2010-04-23 23:28
2012.03.04
Имеет ли смысл размещать таблицы базы данных в разных файлах?