![]() |
Stringgrid zur Laufzeit erzeugen
In dieser Unit erzeuge ich das Stringgrid grid1 dynamisch, das Panel1 erzeuge ich im Formulardesigner.
Irgend etwas stimmt nicht, weil beim show des Formulars wird nur das Panel, aber kein Stringgrid angezeigt. Das Panel ist ein schmaler Streifen oben (da kommt eine Toolbar hinein) und lässt noch genug Platz für das Grid :)
Delphi-Quellcode:
unit fdForm1Unit;
interface uses Windows, Messages, SysUtils, Variants, Classes, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids, Global, fdGrid; type TfdForm1 = class(TForm) Panel1: TPanel; protected Grid1: TStringgrid; end; procedure showform (name: string; param: string=''); implementation {$R *.dfm} procedure showform (name: string; param: string=''); var f: TfdForm1; begin Application.CreateForm(TfdForm1, f); f.Grid1 := TStringGrid.Create(f); f.Grid1.align := alClient; f.Grid1.visible := true; f.Grid1.Colwidths[0] := 10; f.Grid1.Options := f.Grid1.Options + [goRowSizing]; f.show; end; |
AW: Stringgrid zur Laufzeit erzeugen
Hallo idefix2,
da fehlt das Setzen des Parent. Visible auf true zu setzen ist dagegen unnötig. Grüße, blauweiss |
AW: Stringgrid zur Laufzeit erzeugen
Du musst noch das Parent des Grits setzen (also so:)
Delphi-Quellcode:
edit: grr, da war jemand schneller :lol:
grid1.parent:=Panel1;
|
AW: Stringgrid zur Laufzeit erzeugen
Ok, danke.
Mist, daran habe ich überhaupt nicht gedacht - das Formular ist doch Owner, das sollte doch reichen, oder? :roll: P.S.: Wenn ich das Grid sicherheitshalber (für leichtere spätere Adaptierbarkeit des Formulars) auch in ein Panel legen will, muss dann dieses Panel Owner und parent sein? Oder das Formular Owner und das Grid Parent? Oder das Formular Parent und das grid Owner? |
AW: Stringgrid zur Laufzeit erzeugen
Der Owner ist für die Freigabe zuständig, der Parent für das Zeichnen. Die beiden Rollen können durchaus von verschiedenen Objekten ausgefüllt werden.
|
AW: Stringgrid zur Laufzeit erzeugen
Der Owner des Panels ist wohl dein Formular. Wird die Anwendung geschlossen bzw. das Formular freigegeben, wird auch das Panel freigegeben und damit auch alles, was das Panel als Owner hat.
Hier ist es daher egal, wer der Owner ist, würde ich sagen. Freigegeben wird es so oder so. Es sei denn, du erstellst das Panel und gibst keinen Owner an. Dann muss man wohl aufpassen. Aber so genau kenne ich mich damit auch nicht aus. :angle2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz