AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenschaftenfenster wie OI

Ein Thema von oki · begonnen am 16. Okt 2007 · letzter Beitrag vom 19. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 13:44
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
Miniaturansicht angehängter Grafiken
propertyform_573.png  
42
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#2

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 15:10
ich habe in meinem DFM-Editor sehr mühevoll versucht den OI nachzubauen.
evtl hilft dir das ein wenig.

Gruß Frank
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 15:25
Hi,

vielleicht lohnt ein Blick in die ExtLib.

Gruß Hawkeye
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 16:21
@_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
42
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 16:22
In der JVCL ist ein Objektinspektor drin, der dem in Delphi in fast nichts nachsteht.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 16:26
Uppps,

hab die Jedis drauf, und weis nicht mal was davon.

Gib mal nen Tip, wie der heißt.

Gruß oki
42
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 16:28
TJvInspector oder TJvObjectInspector - ich bin mir nicht ganz sicher
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 16:41
TJvInspector; habs auch grad gefunden. Wie weist man da das Object zu?

Gruß
42
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Eigenschaftenfenster wie OI

  Alt 16. Okt 2007, 16:58
Zitat von oki:
Wie weist man da das Object zu?
mit
JvInspector1.AddComponent(MyComponent); Das sieht gut aus, aber leider möchte ich dem Nutzer nicht alle Published-eigenschaften zugänglich machen.

Mit ExtLib bin ich noch nicht weiter, bekomme beim Compilieren noch einige Fehler. Arbeite noch dran.

Gruß oki
42
  Mit Zitat antworten Zitat
v2afrank

Registriert seit: 9. Mai 2005
Ort: Bocholt
573 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Eigenschaftenfenster wie OI

  Alt 17. Okt 2007, 07:37
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:
    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;
Im JvInspector1DataValueChanged kann ich dann die Variablen wie strvariable den Eigenschaften zuweisen.
Spiel einfach mal ein bischen damit herum. Es lohnt sich
Miniaturansicht angehängter Grafiken
zwischenablage01_566.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz