09. august 2004 - 12:05Der er
5 kommentarer og 2 løsninger
Vælg en kolonne i en stringgrid.
Hej
Et lille problem :
Hvordan kan man vælge en kolonne i en stringgrid, det er jo muligt at vælg en række (goRowSelect). Det skal være sådan at når man trykker på musen skal den sætte fokus på en kolonne istedetfor en række.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
I en TSringGrid kan man sætte goRowSelect under options i denne komponent, det bevirker at hele linjen hvor man står bliver sat til en farve og når man bevæger sig op/ned så ændre den sig.
procedure TfrmMain.sgGridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin with (Sender as TStringGrid) do begin if (FixedCols > aCol) or (FixedRows > aRow) then begin Canvas.Brush.Color := clBtnFace; Canvas.FillRect(Rect); end else if ACol = fSelectedCol then begin Canvas.Brush.Color := clBlue; Canvas.FillRect(Rect); end else begin Canvas.Brush.Color := clWindow; Canvas.FillRect(Rect); end; end; end;
procedure TfrmMain.sgGridSelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin fSelectedCol := aCol; (Sender as TStringGrid).Refresh; // Ellers tegner den ikke alle kolonner op. end;
procedure TfrmMain.FormCreate(Sender: TObject); begin fSelectedCol := sgGrid.FixedCols; // Gem kolonne så OnCellDraw ved hvor den skal markere end;
stoney - Jeg så godtnok TGridRect men troede at det var pixel-koordinaterne eller lignende. Det ser jo ud til at løse opgaven.
P.s. "rocks" skulle være "sucks", ikke? En typisk tastefejl :-) Vi har det røde og blå album (illusion I & II), men den fænger altså ikke hos mig. Håber det tæller op at jeg synes Delphi er et fedt programmeringssprog.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.