Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi StringGrid Mehrzeilig (https://www.delphipraxis.net/19288-stringgrid-mehrzeilig.html)

glkgereon 31. Mär 2004 15:42


StringGrid Mehrzeilig
 
Hi Leute,
wie mache ich ein Stringgrid mehrzeilig
also nicht mehrere felder, sondern in einem feld 2 Zeilen
Wie geht das?

kiar 31. Mär 2004 15:59

Re: StringGrid Mehrzeilig
 
so:
Delphi-Quellcode:
for icnt :=1 to 2 do
       begin
         with TEdit(FindComponent('ed'+ Inttostr(iCnt))) do
                case iCnt of
                  1: sErsterDienst := text;
                  2: sZweiterDienst := text;
                end;
       end;
       Stringgrid1.Cells[stringgrid1.Col,stringgrid1.row]:=sErsterDienst
                                                      + #13#10 +
                                                          sZweiterDienst;
raik

glkgereon 31. Mär 2004 16:35

Re: StringGrid Mehrzeilig
 
ähmm, pardon,
aber was heisst das bitte???

kiar 31. Mär 2004 16:46

Re: StringGrid Mehrzeilig
 
wichtig ist das:
Delphi-Quellcode:
Stringgrid1.Cells[stringgrid1.Col,stringgrid1.row]:=sErsterDienst
                                                      + #13#10 +
                                                          sZweiterDienst;
ich wusste garnicht das der so schwer zu lesen ist. :shock:

raik

glkgereon 31. Mär 2004 17:17

Re: StringGrid Mehrzeilig
 
ja, aber was heisst das??????
sersterdienst???
#13#10???

kiar 31. Mär 2004 17:25

Re: StringGrid Mehrzeilig
 
das ist aus einem code von mir einfach rauskopiert, hat also für dich keine bedeutung.

es ist einfach ein string, hätte auch
Delphi-Quellcode:
Stringgrid1.cells[1,1]:='ich'+ #13#10+ 'weiß' +#13#10+ 'nichts'
schreiben können.

raik

Synonym 31. Mär 2004 17:29

Re: StringGrid Mehrzeilig
 
bei mir gehts nicht

kiar 31. Mär 2004 17:30

Re: StringGrid Mehrzeilig
 
was?

Synonym 31. Mär 2004 17:31

Re: StringGrid Mehrzeilig
 
mit deinem code mehrzeilig machen da kommen immer so sonderzeichen ins stringgrid || oder so

toms 31. Mär 2004 17:41

Re: StringGrid Mehrzeilig
 
Schau dir mal dies an.

Robert_G 31. Mär 2004 17:45

Re: StringGrid Mehrzeilig
 
Ich hätte es so gelöst (im OnDrawCell des Grids) :
Delphi-Quellcode:
Var
  CrLfPos, PrevPos, i                  : Integer;
  SL                                   : TStrings;
Begin
  With Sender As TStringGrid Do
  Begin

    If aCol < FixedCols Then Exit;
    If aRow < FixedRows Then Exit;

    PrevPos := 1;
    CrLfPos := PosEx(#13#10, Cells[aCol, aRow], PrevPos);
    If CrLfPos > 0 Then
    Begin
      SL := TStringList.Create;
      Try
        // such Zeilenumbrüche
        While CrLfPos > 0 Do
        Begin
          // rein in die SL
          SL.Add(Copy(Cells[aCol, aRow], PrevPos, CrLfPos - PrevPos));
          PrevPos := CrLfPos + 2;
          CrLfPos := PosEx(#13#10, Cells[aCol, aRow], PrevPos);
        End;

        If SL.Count > 0 Then
          // Canvas des Grids
          With Canvas Do
          Begin
            SL.Add(Copy(Cells[aCol, aRow], PrevPos, Length(Cells[aCol, aRow])));
            FillRect(Rect);
            For i := 0 To pred(SL.Count) Do
              // Zeichne Text (-Font.Height +2 entspricht einer Zeilenhöhe)
              TextOut(Rect.Left + 2, Rect.Top + 2 + ((-Font.Height + 2) * i), Sl[i]);
          End;

      Finally
        FreeAndNil(SL);
      End;
    End;
  End;
End;
Nachtrag: Ich habe es noch ausgebessert, in der vorherigen Variante wurde immer die SL erzeugt... :oops:

kiar 31. Mär 2004 18:00

Re: StringGrid Mehrzeilig
 
sorry :oops:

hatte vergessen, das ich hier mit Editmask arbeite und im Ondrawcell die textformatierung eingestellt habe.

:wall:

raik


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 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