Einzelnen Beitrag anzeigen

Kunoishi

Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
 
Delphi 5 Standard
 
#1

StringGrid und Spalte ausblenden

  Alt 6. Okt 2009, 20:39
ein Hallo an die Runde,
Ihr habt mir bei fast allen Problemen gut Helfen können darum wage ich mal wieder eine neue Frage

Ich habe ein StringGrid und möchte eine Spalte aus diesem Ausblenden.
Stellt sich nur die Frage wie.
Mein derzeitiger Aufbau sieht so aus.
Delphi-Quellcode:
procedure TMDIChild.SetzeGrid;
begin
  Sachverhaltsuebersicht.rowCount:=2;
  Sachverhaltsuebersicht.colCount := 10;
  Sachverhaltsuebersicht.cells[0,0] := 'Nr.';
  Sachverhaltsuebersicht.cells[1,0] := 'Datum';
  Sachverhaltsuebersicht.cells[2,0] := 'Zeit';
  Sachverhaltsuebersicht.cells[3,0] := 'Objekt';
  Sachverhaltsuebersicht.cells[4,0] := 'Name';
  Sachverhaltsuebersicht.cells[5,0] := 'Vorname';
  Sachverhaltsuebersicht.cells[6,0] := 'nummer';
  Sachverhaltsuebersicht.cells[7,0] := 'zeichen';
  Sachverhaltsuebersicht.cells[8,0] := 'Ausgang';
  Sachverhaltsuebersicht.cells[9,0] := 'Begründung';
end;
.
.
.

procedure TMDIChild.grdArtikelDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var InhaltZelle: string;
begin
  with (Sender as TStringgrid) do
    begin
      InhaltZelle := cells[acol, arow];// Zellinhalt in Variable auslesen
      canvas.fillrect(rect);// Zelle mit aktueller Hintergrundfarbe "übermalen"

      // 1. Spalte zentriert und mit Abstand nach oben
      if (acol = 0) then
         canvas.textrect(rect, (rect.Left + rect.Right -
         canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle);

      // 2. Spalte zentriert und mit Abstand nach oben
      if (acol = 1) then
         canvas.textrect(rect, (rect.Left + rect.Right -
         canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle);

      // 3. Spalte zentriert und mit Abstand nach oben
      if (acol = 2) then
         canvas.textrect(rect, (rect.Left + rect.Right -
         canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle);

      // 4. Spalte zentriert und mit Abstand nach oben
      if (acol = 3) then
         canvas.textrect(rect, (rect.Left + rect.Right -
         canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle);

      // 5. Spalte zentriert und mit Abstand nach oben
      if (acol = 4) then
         canvas.textrect(rect, (rect.Left + rect.Right -
         canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle);
      // 6. Spalte zentriert und mit Abstand nach oben
      if (acol = 5) then
         canvas.textrect(rect, (rect.Left + rect.Right -
         canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle);
      // 7. Spalte linksbündig mit Abstand nach links und oben
      if (acol = 6) then
         canvas.textout(rect.left + 3, rect.top + 2, InhaltZelle);

      // 8. Spalte linksbündig mit Abstand nach links und oben
      if (acol = 7) then
         canvas.textout(rect.left + 3, rect.top + 2, InhaltZelle);

      // Alle anderen Spalten rechtsbündig mit Abstand nach rechts und oben
      if (acol > 7) then
         canvas.textrect(rect, rect.Right - canvas.textwidth(InhaltZelle) - 4,
         rect.top + 2, InhaltZelle);
    end; // von with
end; // der Prozedur
nun soll Spalte 5 und 7 ausgeblendet werden
  Mit Zitat antworten Zitat