Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringGrid.Select nicht richtig angezeigt (https://www.delphipraxis.net/18951-stringgrid-select-nicht-richtig-angezeigt.html)

Taladan 26. Mär 2004 14:24


StringGrid.Select nicht richtig angezeigt
 
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;

Xeno-Sebi 26. Mär 2004 18:33

Re: StringGrid.Select nicht richtig angezeigt
 
hm...ich hatte bzw. habe ein ähnliches problem...
ich markiere mit der maus mehrere felde, wobei diejenigen, über die die maus fährt weiß bleiben. sobald ich die masutaste loslasse (wobei beim onmouseup die markierung wiederholt wird), ist aba alles perfekt...es sieht also nur scheiße aus, funzt aber...

sry, ich glaube das hilft dir nciht viel^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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