Hola.
A ver si entendí la idea...
Código Delphi
[-]
...
implementation
var
PrevValues: TStrings;
function TryStringToColor(v: string): Boolean;
begin
...
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
ValueListEditor1.FixedCols := 1;
PrevValues := TStringList.Create;
for i := 1 to ValueListEditor1.VisibleRowCount do
PrevValues.Add(ValueListEditor1.Cells[1, i]);
end;
procedure TForm1.ValueListEditor1Validate(Sender: TObject; ACol,
ARow: Integer; const KeyName, KeyValue: string);
begin
if not TryStringToColor(KeyValue) then
begin
ShowMessage('Color no válido');
ValueListEditor1.Cells[ACol, ARow] := PrevValues[ARow-1];
end;
end;
...
procedure TForm1.FormDestroy(Sender: TObject);
begin
PrevValues.Free; end;
No conozco la situación, pero ¿ No te sirve usar un componente especializado como
TColorDialog o
TColorBox ?
Saludos