06. oktober 2005 - 23:04Der er
6 kommentarer og 1 løsning
Resize cols når resize form
Hej. Ved i om der findes en function der ved resize af form, kan resize alle colwidths i en StringGrid med anchors op i samme forhold ?
Jeg har selv prøvet, men det kom ikke til at passe helt, da mit forhold mellem før og efter ikke blev præcist nok. Det skyldes at jeg ikke kunne få gemt breden på cols før jeg startede resize.
du føler ikk for at lave et forslag, for det jeg får lavet, ender altid med at de ryger ud af forholdet til hinanden. Grunden til at jeg ikk har smidt min kode, er for ikke at smadre din hjerne så den tænker på samme måde som mig ;)
Jeg har en form med en StringGrid1 på som er sat til alTop.
Definer denne variabel: SCols : array of real;
I FormCreate har jeg: var i : integer; begin SetLength(SCols,StringGrid1.ColCount+1);
for i:=0 to StringGrid1.ColCount-1 do SCols[0]:=SCols[0]+StringGrid1.ColWidths[i];
for i:=0 to StringGrid1.ColCount-1 do SCols[i+1]:=StringGrid1.ColWidths[i]/SCols[0];
SCols[0]:=StringGrid1.Width-SCols[0]; end;
I FormResize har jeg: var i : integer; begin for i:=0 to StringGrid1.ColCount-1 do StringGrid1.ColWidths[i]:=Round((StringGrid1.Width-SCols[0]) *SCols[i+1]); end;
Jeg prøvede først blot at kikke på forholdet mellem de enkelte cols og bredden af StringGrid men det virkede ikke helt, så det koden nu gør er at kikke på hvor meget fri plads der er i StringGrid og så sørge for at det hele tiden er det samme.
Den forskyder dem stadig lidt, men det er uden betydning.
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.