Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Panel mit div Kompos mehrfach (https://www.delphipraxis.net/13993-panel-mit-div-kompos-mehrfach.html)

huberlix 30. Dez 2003 15:18


Panel mit div Kompos mehrfach
 
Kann ich ein Panel mit diversen Komponenten zur Entwurfszeit basteln, und dann zur Laufzeit mehrere Instanzen davon erzeugen?

Gruß, Bernd

sakura 30. Dez 2003 15:33

Re: Panel mit div Kompos mehrfach
 
Eigentlich nicht so einfach - nutze doch Frames stattdessen. Dafür wurden die konzipiert.

...:cat:...

huberlix 30. Dez 2003 17:07

Re: Panel mit div Kompos mehrfach
 
Und wie würde das funktionieren?
Ich will mal erklären, um was es geht:
Ich nutze in einem OleContainer ein Excelsheet, das automatisch mit Daten aus dem Intranet gefüttert wird. Nun besteht ein Datensatz aus 3 Zeilen, oder wenn das nicht reicht 6,9, usw.
Am Anfang, also Spalte 1 sind die 3 Zellen jeweils vertikal verbunden, und mit entspr. größerer Schrift versehen. Nun möchte ich gerne die Datensätze von Hand sortieren können. Also z. B. die ersten 3 Zeilen, oder wenn es mehr sind z.B. die ersten 6 Zeilen per Drag and Drop nach unten verschieben. Z.B. unter die neunte Zeile. Das geht natürlich mit Excel schlecht. Nun möchte ich für jeden Datensatz ein Panel, oder auch Frame erzeugen, und die Zellen mit Edits ohne 3D simulieren. Dann wäre eine sortierung einfach.
Es muss aber auch die Möglichkeit bestehen, statt 3 Zeilen noch welche hinzuzufügen. Also müsste ich zu jeder Instanz bei Bedarf noch Edits hinzufügen können.

huberlix 1. Jan 2004 18:43

Doch das mit dem Panelgeht
 
Hab gestern mal ein bißchen rumprobiert.

Delphi-Quellcode:
Type
  TMyPanel = class(TPanel)
  Button1:TButton;
  Edit1:TEdit;
end;

...............
.........
var
  Panels : Array of TMyPanel;
........
........
Nun kann ich in einer Procedure neue Panels erzeugen. Dabei muss ich aber alle Kompos darauf ebenfalls erzeugen. Macht ja nix, es ist ja bekannt was drauf ist.

Delphi-Quellcode:
setlength(Panels,x);
Panels[High(Panels)]:=TMyPanel.create(self);
Panels[High(Panels)].Parent:=Form1;
...visible
...left
...
...
Panels[High(Panels)].Button1:=TButton.create(self);
Panels[High(Panels)].Button1.Parent:=Panels[High(Panels)];
....
....
....
oder so ähnlich. Aat jedenfalls funktioniert.

Gruß, Bernd


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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-2025 by Thomas Breitkreuz