![]() |
Eigenschaftenfenster wie OI
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
ich blende zur Laufzeit ein Eigenschaftenfenster zu meinen Controls für den Benutzer ein. Das Design gefällt mir da aber nicht. Meistens wird das Fenster auch zu groß und verdeckt zu viel vom Programm. Im Anhang mal ein Screenshot der aktuellen Ansicht: Kann mir jemand ein paar Tipps für ein besseres Design, eventuell mit Bsp. geben? Wie wird überhaupt die Ansicht des OI realisiert (welche Controls)? Imho haben auch Grafikprogramme für Ihre Werkzeuge (Stift etc.) interessante Lösungen. Dank und Gruß oki |
Re: Eigenschaftenfenster wie OI
ich habe in meinem DFM-Editor sehr mühevoll versucht den OI nachzubauen.
evtl hilft dir das ein wenig. Gruß Frank |
Re: Eigenschaftenfenster wie OI
|
Re: Eigenschaftenfenster wie OI
@_frank_: Ja, das sieht nach ner Menge Arbeit aus. So komplex brauch ich es zum Glück nicht. Ich hab mir mal die Screenshots angeschaut. Dank für den Tip. Es ist aber noch nicht ganz das, was ich brauche.
@Hawkeye: hab mir gerade alles runter geladen. Da ich mein neus Projekt in D2007 entwickel schau ich erst mal, ob ich die vorhandenen Packages installiert bekomme. Melde mich, sobald ich ein erstes Gefühl habe. Dank und Gruß oki |
Re: Eigenschaftenfenster wie OI
In der JVCL ist ein Objektinspektor drin, der dem in Delphi in fast nichts nachsteht.
|
Re: Eigenschaftenfenster wie OI
Uppps,
hab die Jedis drauf, und weis nicht mal was davon. :oops: Gib mal nen Tip, wie der heißt. Gruß oki |
Re: Eigenschaftenfenster wie OI
TJvInspector oder TJvObjectInspector - ich bin mir nicht ganz sicher
|
Re: Eigenschaftenfenster wie OI
TJvInspector; habs auch grad gefunden. Wie weist man da das Object zu?
Gruß |
Re: Eigenschaftenfenster wie OI
Zitat:
Delphi-Quellcode:
Das sieht gut aus, aber leider möchte ich dem Nutzer nicht alle Published-eigenschaften zugänglich machen.
JvInspector1.AddComponent(MyComponent);
Mit ExtLib bin ich noch nicht weiter, bekomme beim Compilieren noch einige Fehler. Arbeite noch dran. Gruß oki |
Re: Eigenschaftenfenster wie OI
Liste der Anhänge anzeigen (Anzahl: 1)
Das geht aber auch mit den jedis.
Ich habe Die mal ein Bild von meinem Objektinspektor beigefügt. In dem Bild kann der Benutzer ein Label einstellen Das Label habe ich dem Inspektor über folgenden Code hinzugefügt
Delphi-Quellcode:
Im JvInspector1DataValueChanged kann ich dann die Variablen wie strvariable den Eigenschaften zuweisen.
JvInspector1.Visible:=true;
JvInspector1.Clear; InspCat := TJvInspectorCustomCategoryItem.Create(JvInspector1.Root, nil); InspCat.Expanded:=true; InspCat.SortKind:=iskNone; InspCat.DisplayName := _('Visuell'); strvariable:=TLabel(control).caption; TJvInspectorVarData.New(InspCat, 'String', TypeInfo(String), @strvariable).DisplayName := _('Text'); TJvInspectorVarData.New(InspCat, 'Integer', TypeInfo(Integer), @TLabel(control).top).DisplayName := _('Oben'); TJvInspectorVarData.New(InspCat, 'Integer', TypeInfo(Integer), @TLabel(control).Left).DisplayName := _('Links'); TJvInspectorVarData.New(InspCat, 'Integer', TypeInfo(Integer), @TLabel(control).height).DisplayName := _('Höhe'); TJvInspectorVarData.New(InspCat, 'Integer', TypeInfo(Integer), @TLabel(control).width).DisplayName := _('Breite'); TJvInspectorVarData.New(InspCat, 'Font', TypeInfo(TFont), @TLabel(control).font).DisplayName := _('Schriftart'); TJvInspectorVarData.New(InspCat, 'Color', TypeInfo(TColor), @TLabel(control).Color).DisplayName := _('Farbe'); TJvInspectorVarData.New(InspCat, 'Align', TypeInfo(TAlignment), @TLabel(control).Alignment).DisplayName := _('Ausrichtung'); Boolvariable:=TLabel(control).Transparent; TJvInspectorVarData.New(InspCat, 'Transparent', TypeInfo(Boolean), @Boolvariable).DisplayName := _('Transparent'); InspCat := TJvInspectorCustomCategoryItem.Create(JvInspector1.Root, nil); InspCat.DisplayName := _('Allgemein'); InspCat.SortKind:=iskNone; TJvInspectorVarData.New(InspCat, 'String', TypeInfo(String), @control.Name).DisplayName := _('Name'); InspCat.Expanded:=true; Spiel einfach mal ein bischen damit herum. Es lohnt sich |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 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