AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Im Grid die Linien selber zeichnen (farbe)

Ein Thema von Jackie1983 · begonnen am 25. Jun 2009 · letzter Beitrag vom 26. Jun 2009
Antwort Antwort
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

Im Grid die Linien selber zeichnen (farbe)

  Alt 25. Jun 2009, 19:17
Servus,

habe da mal wieder ne frage zum StringGrid.
Wenn ich in der Draw Methode nichts habe, wird mein Grid
ohne text ohne farbe dargestellt, ist ja auch richtig so, aber man sieht die Linien.

Diese möchte ich gerne anpassen, wo kann ich das?

Mfg
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Im Grid die Linien selber zeichnen (farbe)

  Alt 25. Jun 2009, 19:42
Zumindest ausblenden geht mit
GridLineWidth := 0; dann selber zeichnen
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#3

Re: Im Grid die Linien selber zeichnen (farbe)

  Alt 25. Jun 2009, 19:56
Hallo,

oder anstelle von FillRect > Rectangle mit einem in allen Richtungen vergrößertes Rect verwenden und dadurch die Linien übermalen
Delphi-Quellcode:
StringGrid1.Canvas.Pen.Color := clRed;
StringGrid1.Canvas.Rectangle(Rect.Left - 1,Rect.Top - 1,Rect.Right + 1,Rect.Bottom + 1);
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#4

Re: Im Grid die Linien selber zeichnen (farbe)

  Alt 26. Jun 2009, 06:55
Zitat von Satty67:
Zumindest ausblenden geht mit
GridLineWidth := 0; dann selber zeichnen
Aber wenn man GridLineWidth auf 3 hat oder so muss man ja die
Linien auch irgend wie zeichnen können.

Zitat von Lannes:
Hallo,

oder anstelle von FillRect > Rectangle mit einem in allen Richtungen vergrößertes Rect verwenden und dadurch die Linien übermalen
Delphi-Quellcode:
StringGrid1.Canvas.Pen.Color := clRed;
StringGrid1.Canvas.Rectangle(Rect.Left - 1,Rect.Top - 1,Rect.Right + 1,Rect.Bottom + 1);
werde mal schauen

thx
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Im Grid die Linien selber zeichnen (farbe)

  Alt 26. Jun 2009, 08:19
Zitat von Jackie1983:
Aber wenn man GridLineWidth auf 3 hat oder so muss man ja die Linien auch irgend wie zeichnen können.
Mit GridLineWidth > 0 forderst du TStringGrid auf, die Linie zu zeichnen. In der Paint-Methode wird dann die Linienfarbe fest auf clSilver festgelegt.

Also musst Du die Paint-Methode von StringGrid ändern, was zuviel unnötiger Aufwand wäre oder eben die Line ausschalten und selber zeichnen. Wenn Du den Source der VCL hast, kannst auch mit Copy&Paste arbeiten und Dir ein StringGrid ableiten und da LineColor als public Property anlegen.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#6

Re: Im Grid die Linien selber zeichnen (farbe)

  Alt 26. Jun 2009, 08:55
Die Methode Drawcell überschreiben
und aus TDrawgrid.Drawcell den Code stehlen und abändern. Das selbe gilt für den Code in TSTRINGGRID.Drawcell.

habe ich so gemacht geht super
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#7

Re: Im Grid die Linien selber zeichnen (farbe)

  Alt 26. Jun 2009, 15:42
Hallo,
Zitat von Jackie1983:
Aber wenn man GridLineWidth auf 3 hat oder so muss man ja die
Linien auch irgend wie zeichnen können.
dann setz zusätzlich Pen.Width auf GridLineWidth:
Delphi-Quellcode:
StringGrid1.Canvas.Pen.Color := clRed;
StringGrid1.Canvas.Pen.Width := StringGrid1.GridLineWidth
StringGrid1.Canvas.Rectangle(Rect.Left - 1,Rect.Top - 1,Rect.Right + 1,Rect.Bottom + 1);
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 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