Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Doppelter Eintrag markieren

  Alt 5. Mai 2014, 20:03
Das kann z.B. mit den Objects eures StringGrids machen, ist aber nicht optimal. Eigentlich sollten Logik und Darstellung nicht vermischt werden.
Delphi-Quellcode:
procedure TForm1.MyStringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  with (Sender as TStringGrid) do
  begin
    if Objects[ACol, ARow] <> nil then
    begin
      Canvas.Brush.Color := TColor(Objects[ACol, ARow]);
      Canvas.Font.Color := clBlack;
    end;
    Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
  end
end;

procedure CheckBedingung1(AStringGrid: TStringGrid; .. );
var
  Col, Row: integer;
begin
  for Col := AStringGrid.FixedCols to AStringGrid.ColCount - 1 do
    for Row := AStringGrid.FixedRows to AStringGrid.RowCount - 1 do
      if Bedingung1(AStringGrid) then
        AStringGrid.Objects[Col, Row] := Pointer(clInfoBK)
      else
        AStringGrid.Objects[Col, Row] := nil;
  AStringGrid.Invalidate;
end;
  Mit Zitat antworten Zitat