![]() |
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Stimmt, vor allem wenn man das Visual Databinding nutzt stören die BindingControls doch schon gewaltig.
Gab es bei Visual Studio oder ECO (weiß nicht mehr genau) einen gesonderten Bereich, in der solche Controls angeordnet wurden? Ich meine damit nicht ein DataModul sondern eine Art Scrollbox unter dem FormDesigner. |
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
S. auch
![]() |
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Zitat:
|
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Liste der Anhänge anzeigen (Anzahl: 1)
ScrollBox ist leider nicht möglich, da ich die nichtvisuellen Komponenten noch nicht umpositionieren kann und da diese sowieso immer auf der Form und nicht in meiner Komponente liegen würden.
Ist also nur ein "billiger" Workaround, welcher als "Panel" einen Bereich unten und/oder rechts belegt, wo du deine Dinger drüberlegen kannst und der dann automatisch aus der Form entfernt wird, wenn das Programm läuft. (vor XE2 sollte man die Namespaces von den Units entfernen) |
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Zitat:
|
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
So meinte ich das. Ein andockbarer und ausblendbarer Bereich unter dem Form-Designer. Im Grunde so ähnlich wie der VisualDataBinding-Designer.
|
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Ein Variante war noch eine TDataModul-Komponente, welche selber eine Unit erstellt und bei Änderung Dieser diese Unit sofort kompilieren lässt. (also via OTA und so)
Wenn das DataModul direkt in der Form liegt und die Erstellungsreihenfolge dieses Containers etsprechend angepaßt wurde (so als wäre es nur eine Komponente und kein eigenständiges Modul), dann wäre es halbwegs nutzbar, ohne die genannten Probleme. Das Problem ist ja, daß hierfür die Komponenten darin ja physisch mit der Form verknupplt sein müssen, damit sie mit den Eingabecontrols via OI verknüpft werden können. Oder weiß jemand, wie man eine Form erstellt, welche sich "zur Laufzeit" so editieren läßt, wie in der IDE? @PeterPanino: :oops: Ups, vergessen zu speichern vom zippen. Ich glaub das war alles. :gruebel:
Delphi-Quellcode:
procedure TNonVisualArea.Loaded;
begin ... if Visible and not (csDesigning in ComponentState) then begin // <<<<<<< Visible := False; |
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Die Panel-Lösung ist zwar nicht sehr elegant, würde aber ihre Funktion erfüllen. Sie würde aber an Eleganz gewinnen, wenn:
1. TNonVisualArea beim Einfügen der Komponente selbständig automatisch die Form vergrößern würde 2. Bei jeder Änderung von NonVisualArea.Height im Inspektor die Höhe der Form (und auch die vertikale Position der nichtvisuellen Komponenten) angepasst würde, damit die "nutzbare" Höhe der Form gleich bleibt. 3. Beim Entfernen der TNonVisualArea-Komponente die Höhe der Form (und auch die vertikale Position der nichtvisuellen Komponenten) automatisch so angepasst würde, dass die "nutzbare" Höhe der Form gleichbleibt. TNonVisualArea sollte also für den Benutzer vollkommen transparent funktionieren, ohne dass er (außer dem Einfügen der TNonVisualArea-Komponente) selbst Hand anlegen muss. |
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Sowas hätte ich beinah eingabaut, aber dann erstmal gelassen.
Denn ich müßte da noch prüfen, ob eventuell die obere oder linke Seite grade gezogen wird, bei der Größenänderung, denn dann darf die Form nicht verändert werden, sonst gibt es ein Chaos. Und beim hinzufügen kommt es drauf an, ob die Komponente grade mit der Form geladen oder nachträglich erstellt wird, aber ich glaub das ließ sich erkennen. |
AW: Nicht-visuelle Komponenten dauerhaft ausblenden?
Der Open Source CnPack Wizard enthält ein Tool "Arrangiere nicht sichtbare Komponenten". Hier könnte man sich also abschauen, wie man "nicht sichtbare Komponenten" unterscheidet sowie verschiebt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:44 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