Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Stringgrid bestimmte zellen bearbeien (https://www.delphipraxis.net/49559-stringgrid-bestimmte-zellen-bearbeien.html)

Lilo 12. Jul 2005 23:41


Stringgrid bestimmte zellen bearbeien
 
hallo

ich habe jetzt zum thema stringgrid geschlagene 4 stunden das forum gewälzt, kann aber mein problem nicht lösen...

und zwar will ich in einen stringgrid irgendeinem feld bestimmte werte zuweisen (schrift, farbe)
jetzt habe ich im forum extrem viel dazu gefunden aber irgendwie klappt rein garnix :(

z.b.
Delphi-Quellcode:
procedure TForm9.TabelleDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if POS('a',Tabelle.cells[ACol,ARow])=0 then Tabelle.canvas.font.color:=clBlue;


end;
geht nicht, warum auch immer :?

es wäre nett wenn mir irgendjemand helfen könnte, da ich mit meinen latein am ende bin :(
brauche ja nur ne hilfestellung in bezug auf z.b. zelle 1,1 hat schriftfarbe rot .
vielleicht wäre es schon sehr hilfreich zu wissen warum der o.a code seinen dienst verweigert

ach sry das ich trotz der menge an infos im forum nochmal einen thread dazu aufmachen musste
edit: omg und dann auch noch falsches forum ^^

Lilo

Sharky 13. Jul 2005 05:59

Re: Stringgrid bestimmte zellen bearbeien
 
Hai Lilo,

wenn Du in einem StringGrid die Formatierung änder möchtest musst Du auch dafür sorgen dass alles gezeichnet wird.
In deinem Code setzt Du nur die Farben aber Du gibst den Text nicht aus ;-)

Hier einmal ein Beispiel mit einigen Kommentaren. Ich hoffe das bringt Licht in die Dunkelheit :stupid:
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: integer;
  Rect: TRect; State: TGridDrawState);
var
  celltext: string;
begin
  with (Sender as TStringGrid) do
  begin
    celltext := Cells[ACol, ARow];
    if (ACol = 1) and (ARow = 1) then // Nur für Celle 1:1
    begin
      canvas.Brush.Color := clred;  // Hintergrundfarbe
      canvas.Font.Color := clblue; // Schriftfarbe
    end;
    if (ARow = 3) then // Für die dritte Zeile
    begin
      canvas.Font.Style := canvas.Font.Style + [fsBold];
    end;
    if (ACol = 2) then
    begin
      canvas.Brush.Color := clGreen;
    end;

// Hier beginnt nun das Zeichnen:

    Canvas.FillRect(Rect); // Hintergrund zeichnen
    DrawText(Canvas.Handle, PChar(celltext), Length(celltext),
      Rect, DT_SINGLELINE); // Textausgeben

    // Optional kann der Text auch Zentriert werden.
    // dann mit diesem Parameter;
    // DT_SINGLELINE or DT_Center or DT_VCENTER
  end;
end;
Zitat:

Zitat von Lilo
edit: omg und dann auch noch falsches forum

Es gibt in der DP die Möglichkeit einen Beitrag dem Team zu melden. Dafür einfach auf das http://www.sharkys-home.de/dp/melden.jpg oben rechts klicken und schreiben warum Du ihn meldest. Es wird sich bestimmt ein Moderator finden der das dann erledigt ;-)

Duke_2004 13. Jul 2005 06:13

Re: Stringgrid bestimmte zellen bearbeien
 
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ein Tutorial über Stringgrid's... Da steht noch etwas anders beschrieben, wie man unterschiedliche Schriften realisieren kann... ;-)

Lilo 13. Jul 2005 12:08

Re: Stringgrid bestimmte zellen bearbeien
 
super sache :) danke vielmals für die hilfe

Lilo


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz