Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringGrid soll Form komplett füllen (https://www.delphipraxis.net/7715-stringgrid-soll-form-komplett-fuellen.html)

Hansa 19. Aug 2003 20:32


StringGrid soll Form komplett füllen
 
Auf eine Form lege ich ein Stringgrid. Wie kann ich das jetzt so machen, daß keine Ränder mehr zu sehen sind ? Weder oben noch unten.

Alexander 19. Aug 2003 20:46

Re: StringGrid soll Form komplett füllen
 
Was für Ränder meinst du genau?
mit align := alClient sollte es doch gehen, allerdings weiß ich nicht was für Ränder du meinst?

Sollte man sie nicht deaktivieren können, kannst du das ja selber im OnResize-Event machen, dann schiebst du das Stringgrid einfach über die Form hinaus :mrgreen:
Aber der Zweck heiligt die Mittel ;-)

Hansa 19. Aug 2003 20:54

Re: StringGrid soll Form komplett füllen
 
Ohh, die Ränder sind die zwischen dem Grid und dem Form-Rand. Legt doch mal eine Form an und darauf ein StringGrid. Das kriege ich nicht ohne Rand hin. Auch nicht mit alClient etc., weil irgendwas da irgendwo fehlt.

P.S.: Unter Rand verstehe ich nicht den Rand des Fensters, sondern den Abstand zwischen dem Grid und der Form, also die freie Fläche. Das Form ist zu groß. Wie jetzt da das Grid genauso groß machen, daß es gerade noch in die Form paßt :?:

JoelH 19. Aug 2003 21:47

hmm,
 
einen Fensterrahmen hast du immer, meinste den oder wie ?
Ansonsten, ich leg immer erst ein Panel auf die Form, da lässt es sich leichter arbeiten wenn man die sache um andere Komponenten erweitert. Naja und da musste dann die bevels ausschalten.

Marco Haffner 19. Aug 2003 22:17

Re: StringGrid soll Form komplett füllen
 
Macht BorderStyle := bsNone das was Du möchtest?

Matze 20. Aug 2003 07:41

Re: StringGrid soll Form komplett füllen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi!

Mach doch die Form transparent, so sieht's dann aus (Anhang).

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  BorderStyle:=bsNone;
end;

procedure TForm1.FormActivate(Sender: TObject);
var
  AControl: TControl;
  A, Margin, X, Y, CtlX, CtlY: Integer;
  FullRgn, ClientRgn, CtlRgn: THandle;
begin
  Margin   := (Width - ClientWidth) div 2;
  FullRgn  := CreateRectRgn(0, 0, Width, Height);
  X        := Margin;
  Y        := Height - ClientHeight - Margin;
  ClientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight);
  CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);
  for A := 0 to ControlCount - 1 do
  begin
    AControl := Controls[A];
    if (AControl is TWinControl) or (AControl is TGraphicControl) then with AControl do
      begin
        if Visible then
        begin
          CtlX  := X + Left;
          CtlY  := Y + Top;
          CtlRgn := CreateRectRgn(CtlX, CtlY, CtlX + Width, CtlY + Height);
          CombineRgn(FullRgn, FullRgn, CtlRgn, RGN_OR);
        end;
      end;
  end;
  SetWindowRgn(Handle, FullRgn, True);

end;
[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

Matze 20. Aug 2003 08:05

Re: StringGrid soll Form komplett füllen
 
Noch so nebenbei:

Das Fenster (StringGrid) lässt sich dann aber nicht mehr verschieben. :mrgreen:

Sharky 20. Aug 2003 08:25

Re: StringGrid soll Form komplett füllen
 
Hai Hansa,

hast Du denn bei deinem Grid auch Borderstyle := bsNone eingestellt?

[EDIT]UFF.... das hat Marco ja schon geschrieben. Ich gehe wieder ins Bett[/EDIT]

Hansa 27. Aug 2003 19:33

Re: StringGrid soll Form komplett füllen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich komme nicht recht weiter. Im Anhang ist ein Bild. Solch ein Grid will ich fensterfüllend haben. Der Rand ist mir relativ egal.

P.S.: Ich meine nicht formfüllend ! Das Fenster, das das Grid hat soll ausgefüllt werden, nicht die Form.

P.S. 2: Unter Rand verstehe ich den weißen Rand rechts beim Grid. Nicht die Umrandung, also nicht die Linien !!

Wormid 27. Aug 2003 19:43

Re: StringGrid soll Form komplett füllen
 
Dann zieh doch einfach mit der Maus die Breite der Spalten passend...
Oder ändere die Eigenschaften DefaultColWidth und DefaultRowHeight. Ich denke, das ist es, was Du suchst.

Gruß

Wormid


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Seite 1 von 2  1 2      

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