![]() |
Eigenschaftseditor zur Laufzeit
Hallo liebe Delphi-Praxis Gemeinde,
ich versuche schon seit Tagen eine Möglichkeit zu finden, wo ich zur Laufzeit, die Eigenschaften eines ausgewählten Controls bearbeiten kann. Sowie bei dem Objektinspektor in Delphi. Halt nur zur Laufzeit. Alle Suchergebnisse hier bei DP und bei Google haben mich leider nicht weitergebracht. Ich habe das ganze auch schon mit einem ValueListEditor versucht. Wenn ich jedoch die Eigenschaften des ausgewählten Controls mit Values hineinschreibe, werden die Untereinträge wie bei TFonts, TColor, etc... nicht mit aufgeführt. Zum auslesen verwende ich folgenden Code :
Delphi-Quellcode:
Da fängt es schon bei einer einfachen True/False PickList an. Es werden nicht alle Boolschen Werte mit einer PickList versehen. :(
var
zl : Integer; Count, Size : Integer; List : PPropList; PropInfo : PPropInfo; PropOrEvent, PropValue : String; AComponent : TComponent; begin ValueListEditor1.Strings.Clear; Count := GetPropList(Component.ClassInfo, tkAny, nil); Size := Count * SizeOf(Pointer); GetMem(List, Size); EditorBoolList := TStringList.Create; EditorBoolList.Add('True'); EditorBoolList.Add('False'); try Count := GetPropList(Component.ClassInfo, tkAny, List); for zl := 0 to Count - 1 do begin PropInfo := List^[zl]; if PropInfo^.PropType^.Kind in tkMethods then PropOrEvent := 'Event' else PropOrEvent := 'Property'; if PropOrEvent = 'Property' then begin PropValue := VarToStr(GetPropValue(Component, PropInfo^.Name)); ValueListEditor1.Strings.Add(PropInfo^.Name + '=' + PropValue); if (PropInfo^.PropType^.Name = 'Boolean') then begin with ValueListEditor1 do begin ValueListEditor1.ItemProps[zl].EditStyle := esPickList; ValueListEditor1.ItemProps[zl].PickList := EditorBoolList; end; end; // PropertyEditor.Add(Format('[%s] %s: %s = %s', [PropOrEvent, PropInfo^.Name, // PropInfo^.PropType^.Name, PropValue)); end; end; finally Result := ValueListEditor1.Strings; EditorBoolList.Free; FreeMem(List); // PropertyEditor.Free; end; Deswegen eine dringende Frage an Alle... Da ich sehr unter Zeitdruck stehe, hat jemand eine Lösung für mich bzw. eine brauchbare und sofort einsetzbare Komponente die diese Funktionen erfüllt??? Selbst wenn diese Komponente kostenpflichtig sein sollte wäre das okay (Sollte aber auch in einem entsprechenden Rahmen bleiben)... Ich bin für jeden Tip oder Hinweis mega Dankbar...!!! :stupid: Vielen Dank schonmal... |
AW: Eigenschaftseditor zur Laufzeit
BergSoft bietet eine Art Object-Inspector an, der auch zur Runtime genutzt werden kann:
![]() |
AW: Eigenschaftseditor zur Laufzeit
Und selbstverständlich die Jedis mit Ihrem JVInspector
![]() Habe ich selber schon erfolgreich eingesetzt. Sieht schick aus |
AW: Eigenschaftseditor zur Laufzeit
Okay...
Vielen Dank Euch... Ich schaue mir gleich beides mal genauer an... :thumb: :thumb: :thumb: |
AW: Eigenschaftseditor zur Laufzeit
BTW: Delphi-Code kannst du in der DP formatieren lassen, wenn du den Delphi-Helm-Toolbutton klickst.
|
AW: Eigenschaftseditor zur Laufzeit
OKay... Danke für die Infos!!! :thumb:
Ich habe mir jetzt mal den JVInspector angeschaut... Wäre genau das was ich gebrauchen könnte... Aber wie füge ich dort bei Picture, Glyph etc. den Button für den Auswahldialog ein??? :? Das gleiche gilt für Listitems, da muss ich ja dann auch sicher eine weitere Form anzeigen lassen für die Eigenschaften der einzelnen Listitems... Oder wie kann man das bei dem JVInspector lösen??? Sorry, aber das Teil ist absolutes Neuland und ich habe auch nicht viel Beschreibung gefunden... :cry: :wall::glaskugel::wall: |
AW: Eigenschaftseditor zur Laufzeit
Liste der Anhänge anzeigen (Anzahl: 1)
Du meinst so wie hier auf dem Bild ?
Moment. Schau ich nach |
AW: Eigenschaftseditor zur Laufzeit
Ich denke ich komme diese Woche nicht mehr dazu. Da hier Karneval ordentlich gefeiert wird muss ich dich leider auf Mittwoch vertrösten um ein vernünftiges Beispiel zu machen. Aber es ist möglich.
Stichwörter falls Du doch selber recherchieren möchtest sind die RegisterAsDefaulItem funktionen. Du erzeugst Objekte die von TJVCustomInspectoritem erben. In den Examples wird das auch gezeigt. Diese haben dann unter anderem eine Draweditor Funktion. Viel Erfolg |
AW: Eigenschaftseditor zur Laufzeit
Okay, danke dir erstmal.
Dir dann mal viel Spaß beim feiern. :cheers: Ich schaue mal nach ob ich was hinbekomme. Ansonsten dann nächste Woche. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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