Registriert seit: 26. Dez 2002
Ort: Berlin
140 Beiträge
Delphi 5 Standard
|
StringGrid und Spalte ausblenden
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
|
|
Zitat
|