Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Eine Form am DBGrid an passen? (https://www.delphipraxis.net/48210-eine-form-am-dbgrid-passen.html)

smart 22. Jun 2005 07:54

Datenbank: ABS • Version: 488 • Zugriff über: Datascore

Eine Form am DBGrid an passen?
 
Das DBGrid hat ja je nachdem wie viel Felder es anzeigt, eine unterschiedliche Bereite. Gibt es eine Möglichkeit eine Form am DBGrid an zu passen? Wenn man z.B. ein DBGrid auf einer Form hat und diese Form dann aufruft, die Form gleich die passende Größe hat?

Sharky 22. Jun 2005 08:10

Re: Eine Form am DBGrid an passen?
 
Hai Heike,

Du könntest im .AfterOpen Ereigniss deines TDataSets die Größe anpassen.
Zum Beispiel:
Delphi-Quellcode:
procedure TForm1.QueryAfterOpen(DataSet: TDataSet);
var
  VScrollWidth : Integer; // Breite des Scrollbalkens
begin
  VScrollWidth := GetSystemMetrics(SM_CXVSCROLL);
  Self.Width := DBGrid1.Left + DBGrid1.Width + VscrollWidth;
end;
[Edit]ÄNDERUNG.
Ich weiss auch nicht warum ich zuerst mit .ClientWidth gearbeitet habe [edit]

Noch ein Edit:
Ich bin wohl noch nicht wach. Es wird noch immer der Horizontalescrollbaken angezeigt. :wall:
Ich überlege mir noch etwas.

smart 22. Jun 2005 08:23

Re: Eine Form am DBGrid an passen?
 
Guten Morgen!

So ähnlich hatte ich das schon versucht, klappte aber nicht, die Form war immer kleiner und hatte dann Scrolls. Sieht natürlich dann nicht so gut aus wenn DBGrid Scrolls hat und die Form auch. Hatte dann versucht das ganze über die Feldlänge zu machen, aber die Feldlänge ist nicht immer gleich die Breite vom DBGrid. DBGrid habe ich Align auf Client gestellt, ist doch richtig oder in diesen Fall nicht?

Heike.

marabu 22. Jun 2005 08:41

Re: Eine Form am DBGrid an passen?
 
Für ein primary window verbietet sich diese Vorgehensweise, aber für ein secondary window (dialog) muss nur die Eigenschaft AutoSize der Form auf true gesetzt werden. Die Regel ist: Bei sizeable windows bestimmt der Benutzer die Dimensionen, bei non sizeable windows das Programm.

Grüße vom marabu

smart 22. Jun 2005 08:55

Re: Eine Form am DBGrid an passen?
 
Zitat:

Zitat von marabu
Für ein primary window verbietet sich diese Vorgehensweise, aber für ein secondary window (dialog) muss nur die Eigenschaft AutoSize der Form auf true gesetzt werden. Die Regel ist: Bei sizeable windows bestimmt der Benutzer die Dimensionen, bei non sizeable windows das Programm.

Grüße vom marabu

Bei TDBGrid geht es aus irgend einen Grund nicht.

marabu 22. Jun 2005 09:14

Re: Eine Form am DBGrid an passen?
 
Kann nicht sein. Du hast dann weitere Komponenten auf der Form, die AutoSize unwirksam machen. Öffne in deinem Projekt eine neue Form, packe ein leeres Dbgrid drauf, mache die Form etwas zu groß und toggle AutoSize, anschließend entferne die TestForm wieder aus deinem Projekt. Damit solltest du sehen, das es geht.
Wenn du es für deinen eigenen Dialog nicht hinbekommst, dann beschreibe mal, welche Komponenten noch auf deiner Form sind, wie sie zueinander in Beziehung stehen und welche Align-Eigenschaft sie haben.

marabu

smart 22. Jun 2005 09:23

Re: Eine Form am DBGrid an passen?
 
Zitat:

Zitat von marabu
Kann nicht sein. Du hast dann weitere Komponenten auf der Form, die AutoSize unwirksam machen. Öffne in deinem Projekt eine neue Form, packe ein leeres Dbgrid drauf, mache die Form etwas zu groß und toggle AutoSize, anschließend entferne die TestForm wieder aus deinem Projekt. Damit solltest du sehen, das es geht.
Wenn du es für deinen eigenen Dialog nicht hinbekommst, dann beschreibe mal, welche Komponenten noch auf deiner Form sind, wie sie zueinander in Beziehung stehen und welche Align-Eigenschaft sie haben.

marabu

Eine leeres Dbgrid geht natürlich, klar. Der Punkt ist aber ein anderer. Wenn das Dbgrid voll ist, hat es eine unterschiedliche Breite, je nachdem wie viel Felder angezeigt werden. Ich möchte gern erreichen, das die Form sich der Breite vom Dbgrid anpasst.

Heike.

mschaefer 22. Jun 2005 10:59

Re: Eine Form am DBGrid an passen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, moin,
and have a look.. //Grüße Martin

marabu 22. Jun 2005 11:28

Re: Eine Form am DBGrid an passen?
 
Zitat:

Zitat von smart
Eine leeres Dbgrid geht natürlich, klar.

Langsam glaube ich du hast ein ganz anderes Problem. Bei der Gestaltung der Benutzerschnittstelle besteht ein allgemeines Interesse das Grid so zu bemessen, dass weder ein weißer ungenutzter Rand, noch ein horizontaler Scrollbar erscheint. Ist es vielleicht das auf was du raus willst?

marabu

PS: Dazu wirst du aber immer noch AutoSize brauchen...

smart 22. Jun 2005 12:09

Re: Eine Form am DBGrid an passen?
 
Zitat:

Zitat von mschaefer
Moin, moin,
and have a look.. //Grüße Martin

Hallo Martin!

Ja, genau, so sollte es sein. Leider bin ich nicht selbst darauf gekommen. Hab vielen Dank für Deine Mühe.

Auch für alle anderen Antworten, vielen Dank.

Heike.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Seite 1 von 3  1 23      

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