Autor Beitrag
Nightfly
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 163



BeitragVerfasst: Do 26.06.03 14:06 
Hi
also ich habe ein Grid mit fest definierter Größe, nämlich immer die gesammte Breite. Wenn ich jetzt aber das Programm mit einer anderen auflösung laufen lasse, so füllen die spalten nichtmehr das gesammte grid aus. Gibt es eine einfache möglichkeit das sich die Spalten immer auf die volle größe des Grid aufteilen?
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 26.06.03 16:03 
auf dem direkten Wege wüsste ich keine Lösung, aber dafür ne in-direkte Möglichkeit:

Voraussetzung ist, das du rausbekommst welche Auflösung gerade aktiv ist, und dementsprechend, weisst du den Spalten einfach festgelegte Werte zu, die du vorher ordentlich vermisst.

Dürfte eigentlich klappen, wenn nich... auch schade :D

mfG
Funky-Sepp
Hält's aus hier
Beiträge: 8

Win XP Prof
Delphi 7
BeitragVerfasst: So 29.06.03 17:52 
Hi!

Das ist ganz einfach du musst nur die "TFont" einen Canvas übergeben und dann mit "TextWidth" ( gibt die länge eines Textes zurück ( in Pixel ) ) die Width eines Cols im Grid füllen.

Dazu machst du eine schleife und gehst jeden Text in einer Col durch und den länsten nimmst du dann einfach für die Col her. Du musst dann nur jeweils plus 5 Pixel machen.

Hoffe es hilft dir weiter

Regards

Wolfgang

_________________
It's not a bug it's a feature
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: So 29.06.03 18:48 
Wenn du das Ding auf alClient laufen hast und die Spalten alle gleichgroß sein sollen dann kannst du auch

ausblenden Delphi-Quelltext
1:
2:
for x:=0 to StringGrid1.ColCount-1 do
  StringGrid1.ColWidths[x] := StringGrid1.Width div StringGrid1.ColCount;

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.