Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Nastavení šiřky sloupcu ve StringGridu (Delphi)

Dobry den.
V delphi jsem v začátcích a s komponentou stringGrid dělám poprvé.
Když do sloupců vykreslují text, tak se šířka sloupců automaticky přizpůsobuje délce textu.
Je to však na sobě dost připlácne.
Jak docílím toho aby aby byl sloupec o kousek širší než text co je v něm.

Předmět Autor Datum
StringGrid.Columns je seznam sloupců. V zakladu maji nastaveno ASutoSize. Stacilo by neco takoveho:…
Jan Fiala 20.06.2013 08:07
Jan Fiala
Tak jsem to nakonec vyřešil pomoci procedury autosize. mtut09.htm Mohl by mi prosím někdo zkušenějš…
Fero.Z 22.06.2013 06:54
Fero.Z
AutoSizeCol(StringGrid1, 4); Voláš kde? Nikde ho nevidím... Form2.StringGrid1.Cells[4,4]:= 'test St…
pme 22.06.2013 08:31
pme
AutosizeCol() musis zavolat po naplneni gridu Form2.StringGrid1.Cells[4,4]:= 'test StringGridu'; Au…
Jan Fiala 22.06.2013 08:45
Jan Fiala
No to jo. StringGrid naplňuji už ve form1. AutosizeCol volám až ve form2. Zkoušel jsem to jak ve For…
Fero.Z 22.06.2013 11:16
Fero.Z
A muzes vysvetlit, proc to tak delas? Proc mas obsluhu gridu rozstrkanou do vic unit? Ve ktere unite…
Jan Fiala 22.06.2013 14:57
Jan Fiala
Už ráno som mu napísal: Daj sem celý projekt zabalený napr. do zip,rar... Má to zmysel mu niečo ra… poslední
pme 22.06.2013 15:01
pme

StringGrid.Columns je seznam sloupců.
V zakladu maji nastaveno ASutoSize.

Stacilo by neco takoveho:
v cyklu nastavit u vsech sloupcu gridu Autosize na true (poprve to je, ale priste uz nebude)
v cyklu projit sloupce gridu, zrusit jim Autosize a zvetsit sirku (width) napr. o 5 pixelů

Tak jsem to nakonec vyřešil pomoci procedury autosize.
mtut09.htm

Mohl by mi prosím někdo zkušenější vysvětlit toto.

Když vložím do Form2.FormCreate

StringGrid1.Cells[4,4]:= 'test StringGridu';
AutoSizeCol(StringGrid1, 4);

Tak to funguje

Já však naplňují StringGrid už ve Form1 a pak ho až zavolám

Form2.StringGrid1.Cells[4,4]:= 'test StringGridu';
Form2.Show;

Tímto způsobem však autosize nefunguje.
Proč?

No to jo.
StringGrid naplňuji už ve form1.
AutosizeCol volám až ve form2.
Zkoušel jsem to jak ve Form2 v FormActivate i ve FormCreate a nefunguje.

Nejsem u PC, ale napadlo mně co zkusit StringGrid1.Repaint před zavoláním AutosizeCol.

Zpět do poradny Odpovědět na původní otázku Nahoru