Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
Delphi 2005 Professional
|
StringGrid.Select nicht richtig angezeigt
26. Mär 2004, 15:24
hallo hab mein StringGrid = Tabelle formatiert und dann möchte ich ganz gerne, das die gesamte Zeile Selektiert wird, aber immer bei spalte 4 wird nur der Focusrahmen und nicht der blaue balken angezeigt, dat sieht ein wenig doof aus, entweder focusrahmen oder blauer balken, aber so...
Wie kann ich das ändern?
Delphi-Quellcode:
procedure TFormDateneingabeBuecher.BtRefreshClick(Sender: TObject);
var I : Integer;
begin
BefBuecher.Lesen;
Tabelle.Cells[0,0] := 'Nr';
Tabelle.Cells[1,0] := 'Abkürzung';
Tabelle.Cells[2,0] := 'Titel';
Tabelle.Cells[3,0] := 'Langbeschreibung';
Tabelle.ColWidths[0] := 30;
Tabelle.ColWidths[1] := 65;
Tabelle.ColWidths[2] := 164;
Tabelle.ColWidths[3] := 110;
Tabelle.DefaultRowHeight := 17;
for i := 0 to High(Buecher) do
begin
Tabelle.RowCount := i+2;
Tabelle.Cells[0,i+1] := inttostr(Buecher[i].ID);
Tabelle.Cells[1,i+1] := Buecher[i].Abkuerzung;
Tabelle.Cells[2,i+1] := Buecher[i].Titel;
Tabelle.Cells[3,i+1] := '...mehr';
end;
Tabelle.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRowMoving, goColMoving, goEditing, goTabs, goRowSelect, goThumbTracking];
end;
procedure TFormDateneingabeBuecher.TabelleDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
If (ACol = 3) or (ARow = 0) Then Begin
Tabelle.Canvas.Brush.Color := Tabelle.Color;
Tabelle.Canvas.FillRect(Rect);
Tabelle.Canvas.Font := Tabelle.Font;
if not ((ACol=3) and (ARow <> 0)) then Tabelle.Canvas.Font.Style := [fsBold];
if not (ARow = 0) then Tabelle.Canvas.Font.Color := clNavy;
Tabelle.Canvas.TextRect(Rect,
Rect.Left + ((Rect.Right-Rect.Left) div 2) - (Tabelle.Canvas.TextWidth(Tabelle.Cells[ACol,ARow])div 2),
Rect.Top + 2, Tabelle.Cells[ACol, ARow]);
End; //
end;
procedure TFormDateneingabeBuecher.TabelleClick(Sender: TObject);
begin
Tabelle.Selection := TGridRect(Rect(0,Tabelle.row,3,Tabelle.row));
Edit1.Text := inttostr(tabelle.row);
end;
Marco Wer Rechtschreibfehler findet, der darf sie behalten
Carpe Diem - Nutze den Tag (und zwar den ganzen!)
|
|
Zitat
|