AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid auf Form positionieren ?

Ein Thema von Hansa · begonnen am 1. Okt 2005 · letzter Beitrag vom 1. Okt 2005
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Stringgrid auf Form positionieren ?

  Alt 1. Okt 2005, 02:08
Hi,

ich habe hier ein Stringgrid und das muß auf die Form passen, ohne Scrollbalken. Bzw. wenn es überhaupt drauf paßt. Es geht also darum, eventuell die Form zu vergrößern, so weit wie möglich, um das Stringgrid noch unterzubringen. Eventuell kann die Form ja auch nach links verschoben werden um Platz zu schaffen und dann eben vergrößern.

Jetzt ist das ganze allerdings etwas verwirrend, denn die Spalten des Grids werden ert im Programm ermittelt (also die Anzahl und Breite). Und wie sieht es da mit den vertikalen Linien aus ? Zählen die bei ColWidth mit oder nicht ?

Habe mal im Nebel rumgestochert :

Delphi-Quellcode:
var i,
    GridWidth : integer;
begin
  GridWidth := 0;
  for i := 0 to sg.ColCount - 1 do
    GridWidth := GridWidth + sg.ColWidths [i];
showmessage ('sg '+IntToStr (sg.Width)+' gridwith '+IntToStr (GridWidth));
// + ' Left '+ IntToStr (sgArtNr.Left));
  sg.Width := GridWidth;
  if GridWidth + sg.Left > Width then
    Width := Left + GridWidth + 10;
end;
Wie siehts aus mit dem Left von der Form und dem Grid ? Hoffe mal, daß das einer schon gemacht hat, weil die OH nicht viel hergibt.
Gruß
Hansa
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Stringgrid auf Form positionieren ?

  Alt 1. Okt 2005, 12:50
Probiers doch aus.
StringGrid.Width := CalcWidth (StringGrid);
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#3

Re: Stringgrid auf Form positionieren ?

  Alt 1. Okt 2005, 13:03
Hallo Hansa,

also ich hatte mal ein ähnliches Problem mit einem DBGrid und irgendwie hat das Smart dann auch bekommen und damit gibt es einen Download dazu in der Delphipraxis: DBGrid-FormResize.

Grüße aus dem verregneten Hannover

// Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Stringgrid auf Form positionieren ?

  Alt 1. Okt 2005, 13:54
Thx Martin,

ich muß allerdings erst noch folgendes klären :

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var i : integer;
begin
  StringGrid1.ColWidths [0] := StringGrid1.Canvas.TextWidth(StringGrid1.Cells[0,0]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  StringGrid1.Cells [0,0] := '1234567890';
end;
Wieso wird in dem Grid nur 1234567 angezeigt ? Siehe Anhang.
Miniaturansicht angehängter Grafiken
stringgrid_149.jpg  
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#5

Re: Stringgrid auf Form positionieren ?

  Alt 1. Okt 2005, 14:24
Hansa, habe Deine keine wirklich gute Idee. Würde den Textwidth-Wert jetzt einfach mit 1.2 multiplizieren und dasErgebnis
dann in ein Round setzen um auf den Integerwert zu kommen. Irgendwie arbeitet die Textwidth Funktion da nicht sauber.

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#6

Re: Stringgrid auf Form positionieren ?

  Alt 1. Okt 2005, 14:29
Hallo Hansa,

warum nicht so:Stringgrid1.Colwidths[0]:= Length(Stringgrid.cells[0,0] * font.size; obwohl ich sagen muss, das ich die datei nicht runtergeladen habe.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Stringgrid auf Form positionieren ?

  Alt 1. Okt 2005, 14:52
Halber Treffer, aber eben nur halb.

Stringgrid1.Colwidths[0]:= Length(Stringgrid1.cells[0,0]) * (StringGrid1.font.size-1)+4; Abschneiden kann ich damit jetzt nichts mehr.
Gruß
Hansa
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#8

Schau mal auf den Link hier...

  Alt 1. Okt 2005, 16:18
http://www.swissdelphicenter.ch/de/showcode.php?id=1717

Thema "die Spaltenbreite eines TDBGrid automatisch anpassen"
Passt jedoch nicht die Spalte nach Textweite an, sondern insgesamt.

Vielleicht findest Du ja dort trotzdem brauchbare Infos.

Gruß
Jürgen
Jürgen Höfs
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz