![]() |
AW: Objekte zur Laufzeit erzeugen
Was hält dich davon ab, im OnResize einfach deine Controls programmtechnisch neu auszurichten? Das machst Du doch am, Anfang auch?
|
AW: Objekte zur Laufzeit erzeugen
Ja nur weiß ich nicht wie ich auf die Buttons wieder zugreifen soll.. Über die objectlist weiß ich nicht wie ich auf die Buttons zugreife.
|
AW: Objekte zur Laufzeit erzeugen
Du kannst entweder den Buttons beim Erstellen einen Namen geben (was sinnvoll wäre) oder immer durch die Komponenten der Form laufen und den Button entsprechend suchen. FindComponent bringt dir an der Stelle nix, da du keine Namen vergeben hast.
|
AW: Objekte zur Laufzeit erzeugen
Oder wie wäre es, wenn du die Buttons in andere Komponenten reinpackst?
- Diese kann man dann mit Anchor/Align ausrichten - oder man nimmt ausrichtende Komponenten (TFlowPanel/TGridPanel) - ... |
AW: Objekte zur Laufzeit erzeugen
Delphi-Quellcode:
Ist doch eine Objectlist wenn ich das richtig gesehen.
for i:= 0 to FButtons.count-1 do
Beginn FButtons[i].left:=10; //oder was auch immer fButtons[i].top:=10; //ist ja nur ein Bespiel End; |
AW: Objekte zur Laufzeit erzeugen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Delphi-Quellcode:
Das Ergebnis ist durchaus zufriedenstellend, wie das angehängte Bild zeigt:
Function TVorschau.ZeichneBilder : Boolean;
Var x,y, i,z : Integer; Obj : TBild; begin x := Allg.Bild_Abstand; y := Allg.Bild_Abstand; z := BList.Count; Try IF z > 0 THEN FOR i := 0 TO z-1 DO BEGIN Obj := BList[i]; Obj.Bild.Left := x; Obj.Bild.Top := y; Obj.Bild.Width := Allg.Bild_Breite; Obj.Bild.Height := Allg.Bild_Hoehe; Obj.Bild.Visible := True; Obj.Titel.Font := VPanel.Font; Obj.Titel.Color := Allg.BildTitel_Farbe; Obj.Titel.Width := Allg.Bild_Breite; Obj.Titel.Height := Allg.BildTitel_Hoehe; Obj.Titel.Left := Obj.Bild.Left; Obj.Titel.Top := Obj.Bild.Top + Allg.Bild_Hoehe; Obj.Titel.ShowHint := True; Obj.Titel.Visible := True; x := x + Allg.Bild_Breite + Allg.Bild_Abstand; IF x > (VPanel.ClientWidth - Allg.Bild_Breite - Allg.Bild_Abstand) THEN BEGIN x := Allg.Bild_Abstand; y := y + Allg.Bild_Abstand + Allg.Bild_Hoehe + Allg.BildTitel_Hoehe; IF VPanel.Height < (y + Allg.Bild_Abstand + Allg.Bild_Hoehe + Allg.BildTitel_Hoehe) THEN VPanel.Height := VPanel.Height + Allg.Bild_Abstand + Allg.Bild_Hoehe + Allg.BildTitel_Hoehe; END; END; Result := True; Except Result := False; End; end; |
AW: Objekte zur Laufzeit erzeugen
Ach so, Ok. Vielen Dank :thumb: Wie könnte ich eigentlich das umbauen das es auch mit Firemonky funktioniert? Also das mit dem erstellen der Buttons?
|
AW: Objekte zur Laufzeit erzeugen
@Luki206
Ich habe Deine Fragestellung nur schnell überflogen. Für den Fall, dass Du hier etwas entnehmen kannst: ![]() |
AW: Objekte zur Laufzeit erzeugen
@Stahli: Beim ausführen der ScrollBoxFlowR.dproj bekomme ich folgenden Fehler bzw. mir wird angezeigt das ich die "acntDelphiXE_R" nicht habe:
Code:
[dcc32 Fataler Fehler] ScrollBoxFlowR.dpk(37): E2202 Package 'acntDelphiXE_R' wird benötigt, konnte aber nicht gefunden werden
|
AW: Objekte zur Laufzeit erzeugen
Sorry, das ist ein älteres Package, das ich länger nicht mehr in der Hand hatte. Die acnt.. ist von den AlphaSkins, die ich damals eingesetzt hatte.
Ich denke, Du könntest die Verwendung einfach aus den benötigten Packages entfernen, bin aber jetzt nicht sicher, ob das reicht. Sonst nimm einfach nur die pas zum testen ohne komplettes Package. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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