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

Вниз

правильная работа с цветом   Найти похожие ветки 

 
DSKalugin ©   (2005-11-22 13:07) [0]

Всем привет. Вот уж не думал что меня занесет в раздел к «Начинающим» :-))
Есть список деталей, которые надо покрасить определенным образом.Взаимозаменяемые (те которые tmpReadQuery.Fields[0].AsString="Y")должны быть одинакового цвета. Общий список может содержать произвольное количество деталей.
Как грамотно вычислять палитру фона для каждого последующего блока взаимозаменяемых деталей?
Если я вычитаю по 255 от белого, то цвет не меняется. Ставлю - 400 - меняется...

   if (tpCross=0) then begin
   with tmpReadQuery do begin
     Close;
     SQL.Text:="SELECT YN FROM "ChkCrossLink"(:c1,:c2,"+IntToStr(Vendor_ID)+")";
     Prepare;
   end;
   packColor:=clWhite-2;  UseColor:=True;
   crList[0].crBgColor:=packColor;
   for i:=0 to CrossCount-1 do begin
      tmpReadQuery.ParamByName("c1").AsInteger:=crList[i].crInd;
      if (crList[i].crBgColor=clWhite) then begin
        if UseColor then packColor:=packColor-400;
        UseColor:=False;
        crColor:=packColor;
        crList[i].crBgColor:=crColor;
      end
      else crColor:=crList[i].crBgColor;
      for j:=i+1 to CrossCount-1 do begin
        // if (crList[j].crBgColor<>clWhite) then Continue;
         tmpReadQuery.ParamByName("c2").AsInteger:=crList[j].crInd;
         tmpReadQuery.ExecQuery;
         if tmpReadQuery.Fields[0].AsString="Y"
         then begin
           crList[j].crBgColor:=crColor; //
           UseColor:=True;
         end;
         tmpReadQuery.Close;
      end;
   end;
   end;


 
Anatoly Podgoretsky ©   (2005-11-22 14:08) [1]

DSKalugin ©   (22.11.05 13:07)  
Всем привет. Вот уж не думал что меня занесет в раздел к «Начинающим» :-))

Ну так и тема вопроса соответсвует. И подача материала тоже, множество неизвестных переменных.


 
clickmaker ©   (2005-11-22 14:20) [2]


> Если я вычитаю по 255 от белого, то цвет не меняется. Ставлю
> - 400 - меняется

255 от всех 32-бит? Это слишком мало, чтоб на глаз заметить.
Раскладывай на R,G,B и от них отнимай


 
DSKalugin ©   (2005-11-22 14:29) [3]


>  множество неизвестных переменных.

да код этот и даром тут не нужен, так просто привел.
достаточно было написать тут


var packColor:TColor;
...
packColor:=clWhite-2;
начало цыкла
packColor:=packColor-400;
конец цикла


Вопрос как с цветом работать. Вернее как его менять правильно.
Подал по другому, пожалуйста, Анатолий. Но не в подаче дело. Уверен на все 100% что вам нечего ответить просто навсего. Так зачем морать страницу?



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
8-1120937755
Yura32
2005-07-09 23:35
2005.12.11
OpenDialog


2-1132812477
hed
2005-11-24 09:07
2005.12.11
Опредилить тип файла ?


14-1132673838
Германн
2005-11-22 18:37
2005.12.11
TuRKiSH HaCKeR


1-1132056378
simpson
2005-11-15 15:06
2005.12.11
ListView.OwnerDraw - не меняется высота Item


2-1132559474
enraged
2005-11-21 10:51
2005.12.11
Построчное считывание файла