Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: StringGrid Cells beschriften

  Alt 8. Jun 2007, 19:25
Guten Abend,

so läuft es bei mir:

Delphi-Quellcode:
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  aCol, ARow :Integer;
begin
  (sender as TStringGrid).MouseToCell(x,y,Acol,ARow);
  zahlen[StrToInt((sender as TStringGrid).Cells[ACol,ARow])]:=true;
end;

Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if ((sender as TStringGrid).Cells[ACol,ARow] <> '') and
     (zahlen[StrToInt((sender as TStringGrid).Cells[ACol,ARow])]) then
    begin
      with (sender as TStringGrid) do
        begin
           canvas.Brush.Color:=clYellow;
           canvas.FillRect(rect);
           Canvas.TextOut(Rect.Left + 2, Rect.Top + 1, (sender as TStringGrid).Cells[ACol, ARow]);
        end;
    end;
end;
Delphi-Quellcode:
  private
    zahlen : Array [1..49] of Boolean;
    { Private declarations }
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i:Byte;
begin
  for i:=1 to 49 do
    zahlen[i]:=false;
end;
das Zurücksetzen der Farben wirst Du dann wohl selbsständig hinbekommen.
Auch solltest Du noch überprüfen, daß nicht zuviele Zahlen markiert werden können.

Grüße
Klaus

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat