Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Stringgridfeldname mit Punkten
D. Annies - So 01.04.12 18:07
Titel: Stringgridfeldname mit Punkten
Hi, Delpher,
ich möchte, dass, wenn ich die Spaltenbreite verkleinere und der Feldname zu lang ist, dann am Feldnamenende
drei Punkte erscheinen.
Wie geht das?
Gruß, Detlef
bummi - So 01.04.12 18:51
Besser als Titel zu übermalen ist es sie leer zu lassen und die Überschriften z.B. aus einer Stringlist zu ziehen
der Fillrect-Teil fällt dann raus
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm2.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var G:TStringGrid; ch:THandle; DR:Trect; begin DR := Rect; InflateRect(DR,-2,-2); G := TStringGrid(Sender); if Arow=0 then G.Canvas.Brush.Color := clBtnFace else G.Canvas.Brush.Color := clWhite; G.Canvas.FillRect(Rect); ch := G.Canvas.Handle; G.Canvas.Brush.Style := bsClear; DrawTextEx(ch, PChar(G.Cells[Acol,Arow]), Length(G.Cells[Acol,Arow]), DR, DT_END_ELLIPSIS, nil); end; |
wenn es in Deiner Verison keine Deklaration für DT_END_ELLIPSIS gibt >> 32768
D. Annies - Mo 02.04.12 22:46
Sry für die lange Antwortzeit.
Bin soweit zufrieden, aber:
bummi hat folgendes geschrieben : |
Besser als Titel zu übermalen ist es sie leer zu lassen und die Überschriften z.B. aus einer Stringlist zu ziehen
der Fillrect-Teil fällt dann raus |
Wie muss ich mir das denn vorstellen?
LG, Detlef
Moderiert von
Narses: Zitat kenntlich gemacht.
bummi - Mo 02.04.12 23:10
Ich nehme an Du schreibst direkt in Cells[X,Y], wenn Du dies für ROW=0 nicht tust, sondern die Informationen in einem Array oder einer Stringlist vorhältst kannst Du bei "Zeichnen" diese Werte ausgeben ohne vorher irgendetwas übermalen zu müssen.
Also Quasi wie in einem DrawGrid ...
D. Annies - Di 03.04.12 17:57
Hi, Bummi,
das habe ich leider nicht verstanden, z.B. weil ich noch nicht mit einem DrawGrid gearbeitet habe.
Gruß, Detlef
bummi - Mi 04.04.12 07:42
Ein Grid dient ja eigentlich nur der Darstellung(Bearbeitung) von Daten, diese in den Cells zu haben ist ja eigentlich eher unpraktisch, ich habe mal ein Microbeispiel angehängt.
Das Array of Array of String wird dann üblicherweise eher ein Array of Array of TMyClass oder eine Liste von Records o.ä. sein.
D. Annies - Mi 04.04.12 07:56
Danke, Bummi, werde mich heute nachmittag/abend mal einlesen.
LG, Detlef
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!