Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
14-1132074231
Неудачник
2005-11-15 20:03
2005.12.11
ПИШУ КУРСОВОЙ! ПОМОГИТЕ! ОСТАЛОСЬ 20 дней!


6-1125406898
начинающий
2005-08-30 17:01
2005.12.11
Безопасность в Web


4-1128594625
NikNet
2005-10-06 14:30
2005.12.11
Как добавить скин для ТоолБар?, Помогите кодом


4-1127738848
NikNet
2005-09-26 16:47
2005.12.11
Как сделать мою форму позади всех?


2-1131985995
Dudee
2005-11-14 19:33
2005.12.11
Сохранить в файл данные разных типов




   Наверх