Avatar billede jesperhansen Nybegynder
14. december 2000 - 16:32 Der er 11 kommentarer og
1 løsning

Placering af komponent i DBGrid

Hvordan placerer jeg en TGauge, i første felt på hver linie, i mit DBGrid?

Jeg har \"leget\" lidt med en TDBComboLookup, som bliver synlig når man står i cellen, men denne gang vil jeg have en i hver linie -kan det lade sig gøre?

På forhånd tak!
Jesper
Avatar billede pellelil Nybegynder
15. december 2000 - 07:44 #1
Jeg skal ikke kunne sige om det er muligt at placere en TGauge i en DBGrid, men efter some en TGauge er MEGET SIMPEL at \"tegne\", så kan du evt. vælge selv at gøre dette. I mine gemmer har jeg et eksempel hvor jeg tegner en knap i et GRID felt (sig til hvis det har interesse så skal jeg se om jeg kan støve det frem).
Avatar billede jesperhansen Nybegynder
15. december 2000 - 08:40 #2
Det har interesse hvis du tegner den i hver linie (dvs. mere end én er synlig).
Avatar billede pellelil Nybegynder
15. december 2000 - 08:49 #3
Det gør jeg. Jeg brugte det til en grid hvor jeg i nogle bestemte celler tegnede en knap og så \"fangede\" jeg når musen blev klikket i det \"område\" hvor knappen var tegnet. Jeg brugte dog en TGrid frem for en TDBGrid, men mon ikke det er \"det samme\".
Avatar billede jesperhansen Nybegynder
15. december 2000 - 09:40 #4
Jo, jeg tror godt jeg kan bruge dit eksempel, prøv at sende det til mig.
Avatar billede jesperhansen Nybegynder
15. december 2000 - 09:41 #5
Min mail er Nyhedsbreve@Nospam.dk

Avatar billede borrisholt Novice
15. december 2000 - 10:54 #6
Pelllelil> Jeg vil også gerne se dit eksempel.

Jens B
Avatar billede pellelil Nybegynder
15. december 2000 - 10:59 #7
I kommer til at vente til senere på dagen, da jeg har det derhjemme :-(
Avatar billede borrisholt Novice
15. december 2000 - 14:04 #8
Mens Pelle roder i sine gemmer, vil jeg da gerne lige vise hvordan man gør i en StringGrid og et statuspanel :

Tag en form med et statuspanel på samt et striggrid og skriv så det her :

procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
  Rect : TRect;
  ProgressBar1: TProgressBar;
  Gauge : TGauge;
begin
  Timer1.Interval := 300;
  StatusBar1.Panels.Add.Width := 200;
  StatusBar1.Panels.Add.Width := 200;
  StatusBar1.Panels.Add.Width := 200;
  ProgressBar1:= TProgressBar.Create(StatusBar1);
  ProgressBar1.Left := StatusBar1.Panels.Items[0].Width + StatusBar1.Panels.Items[1].Width+3;

  ProgressBar1.Width := StatusBar1.Width - ProgressBar1.Left - 15 ;
  ProgressBar1.Height := StatusBar1.Height-4;
  ProgressBar1.Position := 50;
  ProgressBar1.Top := 3;
  StatusBar1.InsertControl(ProgressBar1);

  randomize;

  for i:=1 to StringGrid1.RowCount -1 do
  begin
    Rect:=StringGrid1.CellRect(0,i);
    Gauge := TGauge.Create(StringGrid1);
    Gauge.Left := Rect.Left;
    Gauge.Width := Rect.Right - Rect.Left;
    Gauge.Height := 25;
    Gauge.Top := Rect.Top;
    Gauge.Progress := Random(100);
    StringGrid1.InsertControl(Gauge);
  end;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var
  Gauge : TGauge;
  ProgressBar : TProgressBar;

  i : Integer;
begin
  for i:= 0 to StringGrid1.ComponentCount-1 do
  begin
    if not (StringGrid1.Components[i] is TGauge) then
      continue;
    Gauge := TGauge(StringGrid1.Components[i]);
    Gauge.AddProgress(1);
    Gauge.Progress := Gauge.Progress mod Gauge.MaxValue;

    Gauge.ForeColor := RGB(Random(255),Random(255),Random(255));
  end;

  ProgressBar := TProgressBar(StatusBar1.Components[0]);
  ProgressBar.Position := ProgressBar.Position +1;
  ProgressBar.Position := ProgressBar.Position mod 100;
end;

JEns B
Avatar billede borrisholt Novice
15. december 2000 - 14:06 #9
Jeg har været ved at kigge lidt på et DBGris men jeg kan ikke lige få den til at give mig nogle flere celler, og ud over det kan jeg ikke lige få fat i det grå ariael hvis du kan vise mig hvordan jeg styrer det så skal jeg smide kontroller ind i det ...

Jens B
Avatar billede jesperhansen Nybegynder
18. december 2000 - 20:55 #10
Det er helt perfekt, bør også virke i et DBGrid.

Jeg vil også gerne se dit eksempel Pellelil, hvis du altså kan finde det.
Avatar billede pellelil Nybegynder
19. december 2000 - 07:26 #11
jeg er ked af at jeg ikke har \"givet lyd fra mig\" endnu, men jeg har endnu ikke haft tid til at finde det eksempel jeg omtalte. Hvis Borrisholt\'s forslag virker så giv ham point\'ene - og jeg vil (\"for egen regning\") give eksemplet når/hvis jeg finder det.
Avatar billede jesperhansen Nybegynder
19. december 2000 - 19:03 #12
Tak for løsningen

/Jesper
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester