AGB  ·  Datenschutz  ·  Impressum  







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

[TStringGrid] Zelle löschen/ausblenden

Ein Thema von sCrAPt · begonnen am 26. Jul 2004 · letzter Beitrag vom 27. Jul 2004
Antwort Antwort
Seite 1 von 2  1 2      
sCrAPt
(Gast)

n/a Beiträge
 
#1

[TStringGrid] Zelle löschen/ausblenden

  Alt 26. Jul 2004, 15:16
HiHo

Gibt es eine Möglichkeit dass man eine Zelle (ein Kästchen) mit Rahmen ausbledenden kann? Wenn ja, welche?

http://og4all.de/s, sCrAPt
  Mit Zitat antworten Zitat
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
238 Beiträge
 
Delphi 12 Athens
 
#2

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 26. Jul 2004, 18:42
Unterbinde im OnDrawCell-Event das Zeichnen des Zellinhalt!

Grüsse!
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#3

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 15:00
Versteh ich nicht ganz?
Meinst du so?
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if (acol = 4) and (arow = 4) then exit;
end;
http://og4all.de/s, sCrAPt
  Mit Zitat antworten Zitat
Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
238 Beiträge
 
Delphi 12 Athens
 
#4

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 18:20
Eine Möglichkeit wäre es, die Zelle einfach zu überschreiben...
Code:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  with StringGrid1.Canvas do begin
       if (ARow=1) and (ACol=1) then begin
          Brush.Color:= clWhite; // ggfls. der Hintergrundfarbe der Zelle anpassen
          Brush.Style:= bsSolid; // ist i.d.R. Default
          FillRect(Rect);
       end;
  end;
end;
Grüsse!
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#5

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 19:45
Zwar übernimmt er die Hintergrundfarbe, aber der Rahmen ist noch sichtbar

http://og4all.de/s, sCrAPt
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 19:47
Hallo

was verstehst du unter dem Rahmen? den selectionsfocus? Dann überzeichne Ihn mit Drawfocusrect oder erlaube im Onselectcell erst gar nicht, daß die Zelle selektiert werden kann.

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#7

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 19:49
FixedVertLine & FixedHorzline

http://og4all.de/s, sCrAPt
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 19:53
dann verstehe ich den Sinn nicht. ganze Spalten und Zeilen ausblenden ok, das mach ich auch, aber was willst du mit einer einzelnen zelle?

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#9

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 19:58
ich möchte so ein Feld aufbauen wie es im Anhang zu sehen ist

http://og4all.de/s, sCrAPt
Miniaturansicht angehängter Grafiken
stringgridpic.jpg  
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

Re: [TStringGrid] Zelle löschen/ausblenden

  Alt 27. Jul 2004, 20:06
achso,

denn blende die Linien aus (govertline,gohorizline=false) und zeichne die Linien einfach selbst
als Anregung:
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  with Sender as Tstringgrid do
    begin
      if acol+arow<7 then
        begin
          ///Hintergrund noch zeichen
          ...
          canvas.pen.Color:=clLtGray;
          canvas.MoveTo(rect.Right,Rect.Top);
          canvas.LineTo(rect.Right,Rect.Bottom);
          canvas.LineTo(rect.Left,Rect.Bottom);
          ///Text noch zeichen
          ...
        end;
    end;
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  CanSelect:=(acol+arow)<7;
end;
Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:18 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