![]() |
Delphi-Version: 7
Code erläuterung zum einfärben von Zellen
Hallo liebe Gemeinde,
Hoffe allen geht es gut !. Also zu meinen Problem. Ich habe auf meine Form1 ein Array erstellt. Dann werden über zufall verschieden Kästchen aktuell mit einen X gekennzeichnet, danach soll der Benutzer alle markierten Zellen ebenfalls anklicken, ist so nen art gedächnissspiel.. :-P Nun meine Frage wie kann statt ein X die Zelle einfärben. Habe auch schon viel im Forum dazu gefunden, doch kann mir einer evetuell den sysntax erklären. Ich möchte das wenn ich auf die Zelle Klicke diese dann z.B. rot wird. Muss ich dazu irgendwelche variablen deklarieren ? Wäre super so in dieser art:
Code:
Habe auch shcon einen Code gefunden, könnte mir den jemand vlt. mal genau erklären, weil nur doof einfügen will ich net, möchte ganz gerne verstehenm was ich damit mach:
var
i:=integer; // variable i ist gleich integer begin i:=strtoint(edit1.text); // i lese aus edit 1 den text heraus, strtoin=string zu integer end;
Code:
Vielen Dank schon mal für eure Hilfe....
procedure TForm1.spielfeldDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if Odd(ACol) and not Odd(ARow) then begin spielfeld.Canvas.Brush.Color := clBlack; end; spielfeld.Canvas.FillRect(Rect); end; |
AW: Code erläuterung zum einfärben von Zellen
Und was genau verstehst Du nicht?
|
AW: Code erläuterung zum einfärben von Zellen
WOW, danke für die schnelle Antwort
begin if Odd(ACol) and not Odd(ARow) then begin spielfeld.Canvas.Brush.Color := clBlack; end; spielfeld.Canvas.FillRect(Rect); end; was ist Canvas ? Was macht brush color genau ? Warum muss ich danach noch FillRect(Rect) ausfürhren ? was ist Rect ?, eine Constante, Varibale ? geht auch sowas in der art: array.cell.Canvas.Brush[0,2]:=red; Grüßle nlz :-D |
AW: Code erläuterung zum einfärben von Zellen
Die Canvas ist die Zeichenfläche deiner Komponente. Auf diese Zeichenfläche kannst du Dinge zeichnen, z.B. Rechtecke, Linien, Texte oder Grafiken. Mit Canvas.Brush.Color setzt du die Farbe des Pinsels. FillRect füllt dann das Rechteck, das als Parameter übergeben wird, in der aktuell eingestellten Farbe. Rect ist ein Parameter, der dir beim Ereignis OnDrawCell übergeben wird.
Hoffe, ich konnte dir schonmal einbisschen weiter helfen. |
AW: Code erläuterung zum einfärben von Zellen
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin // ist die Länge des Textes in Zelle(Acol,Arow) größer 0 dann rot sonst weiß if length(StringGrid1.Cells[Acol,Arow])>0 then Stringgrid1.Canvas.Brush.Color := clRed else Stringgrid1.Canvas.Brush.Color := clWhite; // füllen Stringgrid1.Canvas.FillRect(rect); end; procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Acol,Arow:Integer; begin //Mauskoordinaten in Zellkoordinaten umrechnen StringGrid1.MouseToCell(x,y,Acol,Arow); // ist die Länge des Textes in Zelle(Acol,Arow) größer 0 dann Leertext sonst 'X' if length(StringGrid1.Cells[Acol,Arow])>0 then StringGrid1.Cells[Acol,Arow] := '' else StringGrid1.Cells[Acol,Arow]:='X'; end; |
AW: Code erläuterung zum einfärben von Zellen
|
AW: Code erläuterung zum einfärben von Zellen
Ups....
dann lese ich erst mal ... war wieder zu schnell beim fragen :-) .... danke für die Hilfen Gruß nlz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz