AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Komponenten während der Laufzeit erstellen und löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten während der Laufzeit erstellen und löschen

Ein Thema von Pytroxis · begonnen am 17. Apr 2019 · letzter Beitrag vom 23. Apr 2019
 
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
727 Beiträge
 
Delphi 12 Athens
 
#11

AW: Komponenten während der Laufzeit erstellen und löschen

  Alt 19. Apr 2019, 16:47
Edit: Durch den Vorschlag von Peterbelow konnte ich das gesamte System nun besser umsetzen, daher besteht das oben genannte Problem auch nicht mehr.
Nun hatte ich eine neue Idee, wobei ich wieder einige Probleme beim realisieren habe:
Beim zeichnen wird nicht nur ein Objekt sondern dynamisch viele (je nach Eingabe des Benutzers) erstellt (-> Kein Problem).
Natürlich werden ab einer bestimmten Anzahl, die Objekte außerhalb des Programmes gezeichnet.
Gibt es eine gute Möglichkeit zu scrollen?
Habe Online die Idee gesehen, dass man jedesmal die Objekte neuzeichnet und verschiebt je nach Stellung der Scrollbar aber um ehrlich zu sein habe ich keine Ahnung wie ich das am geschicktesten umsetzen soll, bzw. gibt es womöglich eine schönere/bessere alternative?
Wenn Du eine Zeichenfläche brauchst, die größer als der Clientbereich des Forms ist und vom Benutzer scrollbar sein soll, mach das so:

Wirf eine TScrollbox auf das Form und setzte sein Align auf alClient. Wirf eine TPaintbox auf die Scrollbox und setzte ihre Top und Left auf 0.
Hänge einen Handler an den OnPaint-Event der Paintbox. Verschiebe den Kode, den Du jetzt im FormPaint Eventhandler hast, in diese Methode, aber Achtung!! Du mußt jetzt auf den Canvas der Paintbox zeichnen, nicht auf den des Forms!

Die letzte Aufgabe ist es dann, wenn sich die Daten ändern, zu berechnen, wie groß die Zeichenfläche dafür sein muß, und die Höhe (und ev.Breite) der Paintbox entsprechend zu setzen. Das feuert nicht nur automatisch den OnPaint-Event der Paintbox, sondern die Scrollbox zeigt auch automatisch Rollbalken an, wenn die Paintbox größer wird als die Client area der Scrollbox.
Peter Below
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18: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-2025 by Thomas Breitkreuz