|
Вопрос # 4 735/ вопрос открыт / |
|
Здравствуйте!
Возможно ли в TValueListEditor задать цвет нефиксированной ячейки и как?
 |
Вопрос задал: Roman Novikov (статус: Посетитель)
Вопрос отправлен: 16 ноября 2010, 12:29
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 17 ноября 2010, 10:50; участников в обсуждении: 3.
|
Ерёмин А.А. (статус: *Администратор), 16 ноября 2010, 14:18 [#1]:
Свойство Color
|
|
Roman Novikov (статус: Посетитель), 16 ноября 2010, 14:54 [#2]:
Можно примерчик? Не нашел свойства.
В вопросе имелись ввиду ячейки значений свойств, они должны быть красноватыми для некорректных значений и зеленоватыми для нормальных.
|
|
Вадим К (статус: Академик), 16 ноября 2010, 15:03 [#3]:
придется писать свой обработчик отрисовки ячеек. Это правильный выход.
Но не надо забывать, что когда ячейка редактируется, с ней дела обстоят немного по другому. Там фактически создается временный Edit.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Roman Novikov (статус: Посетитель), 16 ноября 2010, 16:13 [#4]:
Я так сделал:
procedure TObjEditForm.ValueListEditor1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
const
clPaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);
clPaleWhite = TColor($FFFFFF);
begin
if (ACol = 1) and (ARow > 0) then
begin
if (CorrectValues[ARow] = 1) then
ValueListEditor1.Canvas.Brush.Color := clPaleGreen
else
if (CorrectValues[ARow] = 0) then
ValueListEditor1.Canvas.Brush.Color := clPaleRed
else
ValueListEditor1.Canvas.Brush.Color := clPaleWhite;
ValueListEditor1.Canvas.FillRect(Rect);
ValueListEditor1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, ValueListEditor1.Cells[Acol, Arow]);
end;
end;
Если в массиве единичка, то значение корректно.
|
|
Roman Novikov (статус: Посетитель), 16 ноября 2010, 16:23 [#5]:
Подскажите еще как переводить тройки цветов RGB в шанстнадцатеричную и десятичную систему.
|
|
Вадим К (статус: Академик), 16 ноября 2010, 16:31 [#6]:
функция rgb(red, green, blue)
пример
obj.color := rgb(255,0,0); будет красный цвет. переводить в шестнадцатеричную систему не нужно
но если хочется показать в ней, то так
Showmessage(IntToHex(somecolor, 6))
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Roman Novikov (статус: Посетитель), 17 ноября 2010, 10:50 [#7]:
Спасибо, Вадим =)
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|